ansi-c++-opt: Complete the 2011-06-05 change.
[gnulib.git] / ChangeLog
1 2011-11-06  Bruno Haible  <bruno@clisp.org>
2
3         ansi-c++-opt: Complete the 2011-06-05 change.
4         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
5         does not support namespaces, set the variable to "no", not to ":".
6
7 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8
9         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10
11 2011-11-06  Bruno Haible  <bruno@clisp.org>
12
13         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
14         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
15         (minus_zerol) [HP-UX]: New macro.
16         (unary_minus) [HP-UX]: New function.
17         (copysignl) [HP-UX]: Use unary_minus function.
18
19 2011-11-06  Bruno Haible  <bruno@clisp.org>
20
21         ldexp, ldexpf, ldexpl: Enhance tests.
22         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
23         and tests/test-ldexpl.c.
24         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
25         LDEXP, MIN_EXP, MAX_EXP): New macros.
26         Include test-ldexp.h.
27         (main): Just call test_function.
28         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
29         infinity.h, nan.h.
30         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
31         MAX_EXP): New macros.
32         Include test-ldexp.h.
33         (x, y): Remove variables.
34         (main): Just call test_function.
35         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
36         infinity.h, nan.h.
37         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
38         MAX_EXP): New macros.
39         Include test-ldexp.h.
40         (x, y): Remove variables.
41         (main): Just call test_function.
42         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
43         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
44         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45         (Depends-on): Add isnand-nolibm, signbit, float.
46         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
47         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
48         (Depends-on): Add isnanf-nolibm, signbit, float.
49
50 2011-11-06  Bruno Haible  <bruno@clisp.org>
51
52         math tests: Cosmetics.
53         * tests/test-math-c++.cc: Reorder declarations.
54
55 2011-11-05  Bruno Haible  <bruno@clisp.org>
56
57         fma*: Simplify test.
58         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
59         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
60
61         Tests for module 'fmal'.
62         * modules/fmal-tests: New file.
63         * tests/test-fmal1.c: New file.
64         * tests/test-fmal2.c: New file.
65
66         New module 'fmal'.
67         * lib/math.in.h (fmal): New declaration.
68         * lib/fmal.c: New file.
69         * m4/fmal.m4: New file.
70         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
71         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
72         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
73         REPLACE_FMAL.
74         * modules/fmal: New file.
75         * doc/posix-functions/fmal.texi: Mention the new module and the various
76         bugs.
77
78         Tests for module 'fmaf'.
79         * modules/fmaf-tests: New file.
80         * tests/test-fmaf1.c: New file.
81         * tests/test-fmaf2.c: New file.
82
83         New module 'fmaf'.
84         * lib/math.in.h (fmaf): New declaration.
85         * lib/fmaf.c: New file.
86         * m4/fmaf.m4: New file.
87         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
88         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
89         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
90         REPLACE_FMAF.
91         * modules/fmaf: New file.
92         * doc/posix-functions/fmaf.texi: Mention the new module and the various
93         bugs.
94
95         Tests for module 'fma'.
96         * modules/fma-tests: New file.
97         * tests/test-fma1.c: New file.
98         * tests/test-fma1.h: New file.
99         * tests/test-fma2.c: New file.
100         * tests/test-fma2.h: New file.
101
102         New module 'fma'.
103         * lib/math.in.h (fma): New declaration.
104         * lib/fma.c: New file.
105         * m4/fma.m4: New file.
106         * m4/fegetround.m4: New file.
107         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
109         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
110         REPLACE_FMA.
111         * modules/fma: New file.
112         * doc/posix-functions/fma.texi: Mention the new module and the various
113         bugs.
114
115         Extend gl_MATHFUNC.
116         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
117         Support 'void' as argument type.
118         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
119
120 2011-11-05  Jim Meyering  <meyering@redhat.com>
121
122         maint.mk: also prohibit inclusion of dirent.h without use
123         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
124
125 2011-11-05  Bruno Haible  <bruno@clisp.org>
126
127         ldexpl tests: Avoid test failure on MSVC 9.
128         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
129         value. Needed in order to enforce the conversion from a value greater
130         than LDBL_MAX to Infinity.
131
132 2011-11-05  Bruno Haible  <bruno@clisp.org>
133
134         New modules 'at-internal', 'openat-h', split off from module 'openat'.
135         * modules/at-internal: New file, extracted from modules/openat.
136         * modules/openat-h: New file.
137         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
138         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
139         * modules/openat (Description): Add reference to POSIX function.
140         (Files): Remove lib/openat.h, lib/openat-proc.c.
141         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
142         intprops, unistd.
143         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
144         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
145         gl_FCNTL_MODULE_INDICATOR.
146         (Include): Remove unistd.h, openat.h.
147         * modules/areadlinkat (Files): Add lib/at-func.c.
148         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
149         openat-die, openat-h, save-cwd.
150         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
151         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
152         openat-die, openat-h, save-cwd, unistd.
153         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
154         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
155         openat-h, save-cwd. Remove fcntl-h, openat.
156         * modules/fchmodat (Files): Remove lib/openat.h.
157         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
158         openat, stdbool, unistd.
159         * modules/fchownat (Files): Remove lib/openat.h.
160         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
161         openat, stdbool, sys_stat.
162         * modules/fdopendir (Files): Remove lib/openat-priv.h,
163         lib/openat-proc.c.
164         (Depends-on): Add at-internal.
165         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
166         * modules/fstatat (Files): Remove lib/openat.h.
167         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
168         stdbool, unistd.
169         * modules/fts (Depends-on): Add openat-h.
170         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
171         openat.
172         * modules/mkdirat (Files): Remove lib/openat.h.
173         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
174         openat, stdbool, sys_stat.
175         * modules/mkfifoat (Files): Add lib/at-func.c.
176         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
177         openat-h, save-cwd. Remove fcntl-h, openat.
178         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
179         * modules/readlinkat (Files): Add lib/at-func.c.
180         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
181         openat-h, save-cwd. Remove fcntl-h, openat.
182         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
183         openat.
184         * modules/selinux-at (Files): Add lib/at-func.c.
185         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
186         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
187         * modules/symlinkat (Files): Add lib/at-func.c.
188         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
189         openat-h, save-cwd. Remove fcntl-h, openat.
190         * modules/unlinkat (Files): Remove lib/openat.h.
191         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
192         stdbool.
193         * modules/utimensat (Files): Add lib/at-func.c.
194         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
195         openat-die, openat-h, save-cwd.
196         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
197         * modules/fdutimensat-tests (Depends-on): Add openat.
198         * modules/fstatat-tests (Depends-on): Add openat-h.
199         * modules/readlinkat-tests (Depends-on): Add openat.
200         * modules/symlinkat-tests (Depends-on): Add openat.
201
202 2011-11-05  Bruno Haible  <bruno@clisp.org>
203
204         openat: Include <stdbool.h>.
205         * lib/openat.c: Include <stdbool.h>.
206
207 2011-11-04  Bruno Haible  <bruno@clisp.org>
208
209         fchownat, renameat, unlinkat: Fix dependencies.
210         * modules/fchownat (Depends-on): Add fstatat.
211         * modules/renameat (Depends-on): Likewise.
212         * modules/unlinkat (Depends-on): Likewise.
213
214 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
215
216         openat: remove direct dependency on dirent
217         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
218         and hasn't been needed ever since fdopendir was split into its own
219         module on 2009-08-31.
220         * modules/openat (Depends-on): Remove dirent.
221
222 2011-11-04  Bruno Haible  <bruno@clisp.org>
223
224         renameat: Optimize code size.
225         * modules/renameat (configure.ac): Don't compile at-func2.c if
226         REPLACE_RENAMEAT is 1.
227
228 2011-11-04  Bruno Haible  <bruno@clisp.org>
229
230         openat tests: Fix file list.
231         * modules/openat-tests (Files): Add tests/test-open.h.
232
233 2011-11-04  Bruno Haible  <bruno@clisp.org>
234
235         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
236         * modules/fchmodat (Depends-on): Add openat-die.
237         * modules/fchownat (Depends-on): Likewise.
238         * modules/linkat (Depends-on): Likewise.
239         * modules/renameat (Depends-on): Likewise.
240         * modules/openat (Depends-on): Add dirent.
241
242 2011-11-04  Jim Meyering  <meyering@redhat.com>
243
244         at-func*.c: fix comments
245         * lib/at-func2.c: Correct/improve first-line comment.
246         * lib/at-func.c: Correct grammar in first-line comment.
247
248 2011-11-04  Bruno Haible  <bruno@clisp.org>
249
250         New module 'mkdirat', split off from module 'openat'.
251         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
252         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
253         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
254         * modules/mkdirat: New file, extracted from modules/openat.
255         * modules/openat (Files): Remove lib/mkdirat.c.
256         (Depends-on): Remove mkdir.
257         (configure.ac): Remove AC_LIBOBJ of mkdirat.
258         (Include): Remove <sys/stat.h>.
259         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
260         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
261         tests/test-mkdir.h.
262         (Depends-on): Remove ignore-value.
263         (Makefile.am): Remove rules for test-mkdirat.
264         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
265         of module 'openat'.
266         * NEWS: Mention the change.
267
268 2011-11-04  Bruno Haible  <bruno@clisp.org>
269
270         closedir: Avoid warning on mingw.
271         * lib/closedir.c: Include <unistd.h>.
272
273 2011-11-04  Bruno Haible  <bruno@clisp.org>
274
275         New module 'fstatat', split off from module 'openat'.
276         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
277         defined.
278         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
279         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
280         gl_FUNC_FSTATAT.
281         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
282         * modules/fstatat: New file, extracted from modules/openat.
283         * modules/openat (Files): Remove lib/fstatat.c.
284         (Depends-on): Remove lstat.
285         (configure.ac): Remove AC_LIBOBJ of fstatat.
286         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
287         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
288         tests/test-lstat.h, tests/test-stat.h.
289         (Depends-on): Remove getcwd-lgpl.
290         (Makefile.am): Remove rules for test-fstatat.
291         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
292         of module 'openat'.
293         * NEWS: Mention the change.
294         * modules/getcwd (Depends-on): Add fstatat.
295         * modules/linkat (Depends-on): Likewise.
296         * modules/mkfifoat-tests (Depends-on): Likewise.
297         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
298
299 2011-11-03  Bruno Haible  <bruno@clisp.org>
300
301         New module 'unlinkat', split off from module 'openat'.
302         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
303         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
304         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
305         * modules/unlinkat: New file, extracted from modules/openat. Correct
306         the dependency conditions.
307         * modules/openat (Files): Remove lib/unlinkat.c.
308         (Depends-on): Remove rmdir, unlink.
309         (configure.ac): Remove AC_LIBOBJ of unlinkat.
310         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
311         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
312         tests/test-rmdir.h, tests/test-unlink.h.
313         (Depends-on): Remove unlinkdir.
314         (Makefile.am): Remove rules for test-unlinkat.
315         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
316         of module 'openat'.
317         * NEWS: Mention the change.
318         * modules/linkat-tests (Depends-on): Add unlinkat.
319         * modules/mkfifoat-tests (Depends-on): Likewise.
320         * modules/readlinkat-tests (Depends-on): Likewise.
321
322 2011-11-02  Bruno Haible  <bruno@clisp.org>
323
324         New module 'fchmodat', split off from module 'openat'.
325         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
326         defined.
327         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
328         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
329         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
330         * modules/fchmodat: New file, extracted from modules/openat.
331         * modules/openat (Files): Remove lib/fchmodat.c.
332         (configure.ac): Remove AC_LIBOBJ of fchmodat.
333         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
334         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
335         (Makefile.am): Remove rules for test-fchmodat.
336         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
337         of module 'openat'.
338         * NEWS: Mention the change.
339
340 2011-11-02  Jim Meyering  <meyering@redhat.com>
341
342         putenv: indent #definition of "environ" to placate cppi
343         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
344
345         gitlog-to-changelog: provide a ChangeLog-repair mechanism
346         Git logs are often treated as immutable, because editing them
347         changes the SHA1 checksums of all descendants.  Thus, errors in
348         git logs tend to stay there forever.  However, when we generate
349         a ChangeLog file -- typically for distribution -- from that git log,
350         we can actually make corrections in the generated file.  The key
351         lies in recording in machine-readable/applicable form the desired
352         corrections.  See --help for description and an example.
353         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
354         (usage): Describe it; alphabetize option descriptions.
355         (main): Honor the new option, carefully.
356
357 2011-11-01  Jim Meyering  <meyering@redhat.com>
358
359         gitlog-to-changelog: avoid an infloop
360         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
361         that ends up being empty.
362
363 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
364
365         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
366         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
367         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
368         contains (possibly-quoted) backslashes.  This should avoid
369         all-too-common shell bugs if COMPLICATED contains backslashes in
370         the "wrong" places.  Reported by David Evans in
371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
372         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
373         because we want ASCII ranges.  Is there some reason we don't use
374         the C locale everywhere in this script?
375         (func_module, top level): Avoid unwanted pathname expansion when
376         $repo_url_prefix or $repo_url_suffix_repl contain shell
377         metacharacters like '?' and '*'.
378
379 2011-11-01  Bruno Haible  <bruno@clisp.org>
380
381         fchownat: Improve description.
382         * modules/fchownat (Description): Add link to function.
383
384 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
385
386         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
387         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
388         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
389         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
390
391 2011-11-01  Bruno Haible  <bruno@clisp.org>
392
393         alignof: Avoid collision with stdalign module.
394         * lib/alignof.h (alignof): Remove macro.
395         * NEWS: Mention the change.
396         Reported by Paul Eggert.
397
398 2011-11-01  Bruno Haible  <bruno@clisp.org>
399
400         New module 'fchownat', split off from module 'openat'.
401         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
402         defined.
403         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
404         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
405         invoke gl_FUNC_FCHOWNAT.
406         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
407         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
408         * modules/fchownat: New file, extracted from modules/openat.
409         * modules/openat (Files): Remove lib/fchownat.c.
410         (Depends-on): Remove lchown.
411         (configure.ac): Remove AC_LIBOBJ of fchownat.
412         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
413         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
414         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
415         (Depends-on): Remove mgetgroups, usleep, stat-time.
416         (configure.ac): Remove test for getegid.
417         (Makefile.am): Remove rules for test-fchownat.
418         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
419         of module 'openat'.
420         * NEWS: Mention the change.
421
422 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
423
424         stdalign: port better to MSVC and to Sun C 5.11
425         This fixes some of the problems reported by Bruno Haible in
426         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
427         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
428         shortcomings of MSVC and of Sun C 5.11.
429         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
430         around __declspec arg.
431         * modules/stdalign-tests (Files): Add tests/macros.h.
432         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
433         Include macros.h, for ASSERT.
434         (DECLARE_ALIGNED): Remove.
435         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
436         to catch bug), and to 1 if not (simplifies the rest of the code).
437         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
438         (CHECK_AUTO): Remove.
439         (CHECK_ALIGNED): Check only the alignment of the static vars,
440         since auto var alignment isn't supported by Sun C 5.11.
441         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
442         ASSERT failures are easier to diagnose.
443
444 2011-10-31  Bruno Haible  <bruno@clisp.org>
445
446         doc about some IRIX 5.3 problems.
447         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
448         on IRIX 5.3.
449         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
450         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
451         5.3.
452         * doc/posix-functions/grantpt.texi: Likewise.
453         * doc/posix-functions/unlockpt.texi: Likewise.
454         * doc/posix-functions/lgamma.texi: Likewise.
455         * doc/posix-functions/nextafter.texi: Likewise.
456         * doc/posix-functions/remainder.texi: Likewise.
457         * doc/posix-functions/select.texi: Mention misplaced declaration on
458         IRIX 5.3.
459         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
460
461 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
462
463         gitlog-to-changelog: fix git-log invocation.
464         git-log mishandles date strings before 1970-01-01 UTC, and there is
465         no use to specify --since=1970-01-01 by default anyway.
466         * build-aux/gitlog-to-changelog: By default, when no --since option
467         was given, do not specify explicit --since option to git-log.
468
469 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
470
471         gitlog-to-changelog: new option --append-dot.
472         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
473         first non-blank line of each commit message terminated with a dot.
474
475 2011-10-30  Bruno Haible  <bruno@clisp.org>
476
477         ffsl, ffsll: Avoid compilation error due to 'restrict'.
478         * lib/ffsl.h: Include <config.h>.
479         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
480
481 2011-10-30  Jim Meyering  <meyering@redhat.com>
482
483         GNUmakefile: reenable "make syntax-check" for most projects
484         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
485         build-aux variable", "syntax-check" would do nothing but succeed with
486         the "No version control files detected..." diagnostic (unless you
487         happened to override _build-aux via cfg.mk).
488         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
489         to precede inclusion of maint.mk.  Otherwise, these variables would
490         be used undefined in any project that does not override the default.
491
492 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
493
494         gitlog-to-changelog: treat a message with only blank lines as empty.
495         * build-aux/gitlog-to-changelog: Move the code that removes leading and
496         trailing blank lines before the code that issues a warning about an
497         empty commit message.
498
499 2011-10-30  Jim Meyering  <meyering@redhat.com>
500
501         test-parse-datetime.c: avoid new DST-related false positive test failure
502         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
503         based on the time/date we'll convert, not the current time.
504         Otherwise, the moment we cross a DST boundary like today's in
505         Europe, (CEST to CET), that offset ends up being one hour off.
506
507 2011-10-27  Bruno Haible  <bruno@clisp.org>
508
509         fstat: Tweak documentation.
510         * modules/fstat (Description): More precise description.
511
512 2011-10-27  Bruno Haible  <bruno@clisp.org>
513
514         Update documentation regarding 'largefile' module.
515         * doc/posix-functions/fstat.texi: Tweak wording.
516         * doc/posix-functions/opendir.texi: Mention that the module fixes the
517         problems with huge directories and/or small ino_t types.
518         * doc/posix-functions/readdir.texi: Likewise.
519         * doc/posix-functions/rewinddir.texi: Likewise.
520
521 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
522
523         maint.mk: don't maintain a second build-aux variable.
524         * maint.mk (build_aux): Removed.  The maintainer-makefile module
525         depends on GNUmakefile, which already maintains a cfg.mk
526         overridable $(_build-aux) for projects with a non-standard
527         build-aux directory location, although without the $(srcdir)
528         prefix.  Use that variable consistently instead of introducing a
529         second one.  Adjust all call sites.
530
531 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
532
533         Add stdalign module and use it in other modules.
534         This is based on a previous proposal by Bruno Haible
535         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
536
537         stdalign: new module
538         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
539         * modules/stdalign: New files.
540         * MODULES.html.sh (c1x_core_properties): Add stdalign.
541         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
542
543         stdalign-tests: new module
544         * modules/stdalign-tests, tests/test-stdalign.c: New files.
545
546         argp: use stdalign
547         * lib/argp-parse.c: Include <stdalign.h>.
548         (alignof): Remove.
549         * modules/argp (Depends-on): Add stdalign.
550
551         crypto libraries: use stdalign
552         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
553         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
554         Do not include <stdlib.h> twice, in md4.c.
555         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
556         because we are accessing a pointer's bit-pattern, not a size.
557         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
558         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
559         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
560         * modules/crypto/sha512: Likewise.
561
562         sys_socket: use stdalign, not alignof
563         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
564         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
565
566 2011-10-27  Bruno Haible  <bruno@clisp.org>
567
568         raise test: Avoid a test failure on Linux/MIPS.
569         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
570         because 99 is a valid signal on Linux/MIPS.
571
572 2011-10-27  Bruno Haible  <bruno@clisp.org>
573
574         nonblocking tests: Fix test failure on Linux/MIPS.
575         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
576         Set to 270000.
577
578 2011-10-27  Bruno Haible  <bruno@clisp.org>
579
580         utimensat: Work around problem on Linux/hppa.
581         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
582         values.
583         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
584
585 2011-10-25  Jim Meyering  <meyering@redhat.com>
586
587         maint.mk: fix a bug in sc_prohibit_stddef_without_use
588         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
589         after symbols like NULL, size_t, etc.
590         Reported by Alfred M. Szmidt.
591
592         maint.mk: exempt ENODATA from a syntax-check rule
593         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
594         from the sc_prohibit_always-defined_macros syntax-check rule.
595         Add a comment.  See this for more details:
596         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
597
598 2011-10-23  Jim Meyering  <meyering@redhat.com>
599
600         fts: close parent dir FD before returning from post-traversal fts_read
601         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
602         unlink A, even though an FD open on A remained.  This is suboptimal
603         (holding a file descriptor open longer than needed), but otherwise not
604         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
605         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
606         that represents a real problem: it causes the removal of A to fail
607         with e.g., "rm: cannot remove `A': Device or resource busy"
608
609         fts visits each directory twice and keeps a cache (fts_fd_ring) of
610         directory file descriptors.  After completing the final, FTS_DP,
611         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
612         cache, but then proceeded to add a new FD to it via the subsequent
613         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
614         final file descriptor would be closed only via fts_close's call to
615         fd_ring_clear.  Now, it is usually closed earlier, via the final
616         FTS_DP-returning fts_read call.
617         * lib/fts.c (restore_initial_cwd): New function, converted from
618         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
619         Update callers.
620         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
621         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
622
623 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
624             Bruno Haible  <bruno@clisp.org>
625             Jim Meyering  <jim@meyering.net>
626
627         readme-release: improve safety of release prep instructions.
628         * README-release: Don't git pull all branches when only master
629         is needed for the release process.
630         Run make maintainer-clean before changing trees and merging.
631         Don't try to run ./configure right after git pull in case files
632         that influence the bootstrap process have changed, move the
633         ./configure step to after running ./bootstrap.
634         Don't bootstrap "one last time"... it's the first time!
635
636 2011-10-22  Bruno Haible  <bruno@clisp.org>
637
638         errno, strerror-override: Support for MSVC 10.
639         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
640         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
641         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
642         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
643         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
644         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
645         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
646         Assign values compatible with MSVC 10.
647         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
648         New macros.
649         (GNULIB_defined_EWINSOCK): New macro.
650         * lib/strerror-override.c (strerror_override): Update accordingly.
651         * lib/strerror-override.h: Likewise.
652         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
653         longer equal to the corresponding errno value.
654         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
655
656 2011-10-22  Bruno Haible  <bruno@clisp.org>
657
658         perror: Recognize when test program crashes.
659         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
660         strerror, set gl_cv_func_perror_works to no.
661         Reported by Daniel Richard G. <skunk@iskunk.org>.
662
663         perror: Fix indentation.
664         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
665
666 2011-10-22  Bruno Haible  <bruno@clisp.org>
667
668         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
669         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
670         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
671         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
672         functions, not as a macro.
673         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
674         macros.
675         (isfinite, isinf, isnan, signbit): Check overloaded functions and
676         absence of macro.
677         Suggested by Eric Blake.
678         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
679
680 2011-10-21  Bruno Haible  <bruno@clisp.org>
681
682         relocatable-prog-wrapper: Don't leave object files behind.
683         * build-aux/install-reloc: Re-synchronize list of .o files to be
684         removed with list of compilation units.
685
686 2011-10-20  Bruno Haible  <bruno@clisp.org>
687
688         openpty, posix_openpt: Remove code duplication.
689         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
690         * lib/openpty.c: Include <stdlib.h>.
691         (openpty): Use posix_openpt on all platforms except IRIX.
692         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
693
694 2011-10-20  Bruno Haible  <bruno@clisp.org>
695
696         unlockpt: Detect invalid argument.
697         * lib/unlockpt.c: Include <fcntl.h>.
698         (unlockpt): Check whether fd is valid, using fcntl().
699         * modules/unlockpt (Depends-on): Add fcntl-h.
700
701 2011-10-20  Bruno Haible  <bruno@clisp.org>
702
703         openpty: Avoid compilation error on AIX 6.1.
704         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
705
706 2011-10-20  Bruno Haible  <bruno@clisp.org>
707
708         posix_openpt: Support for OpenBSD.
709         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
710         (posix_openpt) [OpenBSD]: New code.
711         * lib/grantpt.c: Include <fcntl.h>.
712         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
713         * modules/grantpt (Depends-on): Add fcntl-h.
714
715 2011-10-20  Bruno Haible  <bruno@clisp.org>
716
717         posix_openpt test: Coding style.
718         * tests/test-posix_openpt.c: Use GNU coding style.
719
720 2011-10-20  Bruno Haible  <bruno@clisp.org>
721
722         grantpt: Support --avoid=pt_chown.
723         * modules/grantpt (Files): Add lib/pty-private.h.
724
725 2011-10-20  Bruno Haible  <bruno@clisp.org>
726
727         posix_openpt: Fix autoconf macro.
728         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
729         unneeded check for _getpty.
730
731 2011-10-20  Bruno Haible  <bruno@clisp.org>
732
733         openpty: Update comments.
734         * lib/openpty.c: Add comments about Minix.
735
736 2011-10-19  Eric Blake  <eblake@redhat.com>
737
738         openpty: relax license
739         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
740
741         pt_chown: use configmake to simplify build
742         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
743
744         ptsname and others: relax license
745         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
746         * modules/unlockpt (License): Likewise.
747         * modules/pt_chown (License): Likewise.
748         * modules/ptsname (License): Likewise.
749         * modules/ttyname_r (License): Likewise.
750
751 2011-10-19  Jim Meyering  <meyering@redhat.com>
752
753         posix_openpt: remove spurious #endif
754         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
755
756 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
757
758         maint.mk: Respect $(build_aux) in web-manual rule.
759         * top/maint.mk (web-manual): Find gen-announce script in user's
760         $(build_aux) directory instead of hard-coding 'build-aux'.
761
762 2011-10-19  Bruno Haible  <bruno@clisp.org>
763
764         posix_openpt: Fix compilation error.
765         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
766         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
767         Mention the openpty module as an alternative.
768
769 2011-10-19  Bruno Haible  <bruno@clisp.org>
770
771         Support for old NeXTstep 3.3 frexp().
772         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
773         execution time of the test to 5 seconds.
774         Reported by Daniel Richard G. <skunk@iskunk.org>.
775
776 2011-10-19  Bruno Haible  <bruno@clisp.org>
777
778         Support for old NeXTstep 3.3 sed.
779         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
780         part, use /.../, not \|...|. Escape periods in the header file name.
781         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
782         Reported by Daniel Richard G. <skunk@iskunk.org>.
783
784 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
785
786         Support for old NeXTstep 3.3 gcc.
787         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
788         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
789         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
790         * lib/spawn.in.h (_Restrict_arr_): Likewise.
791         * lib/regex.h (_Restrict_arr_): Likewise.
792         * lib/regex_internal.h (re_token_t): Likewise.
793         * lib/regexec.c (check_node_accept_bytes): Likewise.
794         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
795
796 2011-10-18  Eric Blake  <eblake@redhat.com>
797
798         posix_openpt: new module
799         * modules/posix_openpt: New module.
800         * m4/posix_openpt.m4: New file.
801         * lib/posix_openpt.c: Likewise.
802         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
803         (gl_STDLIB_H_DEFAULTS): Set defaults.
804         * modules/stdlib (Makefile.am): Substitute macros.
805         * lib/stdlib.in.h (posix_openpt): Declare.
806         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
807         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
808         * modules/posix_openpt-tests: New test module.
809         * tests/test-posix_openpt.c: New test.
810
811 2011-10-15  Bruno Haible  <bruno@clisp.org>
812
813         xstrtoll: Fix compilation failure.
814         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
815         from lib/strtol.c.
816         * doc/posix-headers/limits.texi: Mention missing numerical limits on
817         some platforms.
818         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
819
820 2011-10-15  Bruno Haible  <bruno@clisp.org>
821
822         vasnprintf: Optimize bit search operation.
823         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
824         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
825         gl_DOUBLE_EXPONENT_LOCATION.
826         * modules/vasnprintf (Files): Add m4/exponentd.m4.
827         * modules/unistdio/u8-vasnprintf (Files): Likewise.
828         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
829         * modules/unistdio/u16-vasnprintf (Files): Likewise.
830         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
831         * modules/unistdio/u32-vasnprintf (Files): Likewise.
832         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
833         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
834         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
835
836 2011-10-15  Bruno Haible  <bruno@clisp.org>
837
838         vasnprintf: Fix comments.
839         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
840
841 2011-10-14  Bruno Haible  <bruno@clisp.org>
842
843         Tests for module 'integer_length_ll'.
844         * modules/integer_length_ll-tests: New file.
845         * tests/test-integer_length_ll.c: New file.
846
847         New module 'integer_length_ll'.
848         * lib/integer_length_ll.c: New file.
849         * modules/integer_length_ll: New file.
850
851 2011-10-14  Bruno Haible  <bruno@clisp.org>
852
853         Tests for module 'integer_length_l'.
854         * modules/integer_length_l-tests: New file.
855         * tests/test-integer_length_l.c: New file.
856
857         New module 'integer_length_l'.
858         * lib/integer_length_l.c: New file.
859         * modules/integer_length_l: New file.
860
861 2011-10-14  Bruno Haible  <bruno@clisp.org>
862
863         Tests for module 'integer_length'.
864         * modules/integer_length-tests: New file.
865         * tests/test-integer_length.c: New file.
866
867         New module 'integer_length'.
868         * lib/integer_length.h: New file.
869         * lib/integer_length.c: New file.
870         * modules/integer_length: New file.
871
872 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
873
874         popen: Fix dependency conditions.
875         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
876
877 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
878
879         perror: Fix autoconf test.
880         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
881         <stdlib.h> and <string.h>.
882
883 2011-10-14  Bruno Haible  <bruno@clisp.org>
884
885         ffsl: Optimize on 64-bit platforms.
886         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
887         unrolling.
888
889 2011-10-13  Bruno Haible  <bruno@clisp.org>
890
891         ffsl: Optimize on 32-bit platforms.
892         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
893         use ffs() without a loop.
894
895         ffsl, ffsll: Optimize for GCC.
896         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
897         * lib/ffsl.c (GCC_BUILTIN): New macro.
898         * lib/ffsll.c (GCC_BUILTIN): Likewise.
899
900 2011-10-13  Bruno Haible  <bruno@clisp.org>
901
902         ffs, bcopy, memset: Support symbol renaming via config.h.
903         * lib/ffs.c: Include <config.h>.
904         * lib/bcopy.c: Likewise.
905         * lib/memset.c: Likewise.
906
907 2011-10-10  Bruno Haible  <bruno@clisp.org>
908
909         atanl: Simplify for platforms where 'long double' == 'double'.
910         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
911         alternative implementation.
912         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
913         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
914         * modules/atanl (Depends-on): Add atan. Update conditions.
915
916 2011-10-10  Bruno Haible  <bruno@clisp.org>
917
918         acosl: Simplify for platforms where 'long double' == 'double'.
919         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
920         alternative implementation.
921         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
922         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
923         * modules/acosl (Depends-on): Add acos. Update conditions.
924
925 2011-10-10  Bruno Haible  <bruno@clisp.org>
926
927         asinl: Simplify for platforms where 'long double' == 'double'.
928         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
929         alternative implementation.
930         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
931         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
932         * modules/asinl (Depends-on): Add asin. Update conditions.
933
934 2011-10-10  Bruno Haible  <bruno@clisp.org>
935
936         tanl: Simplify for platforms where 'long double' == 'double'.
937         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
938         implementation.
939         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
940         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
941         * modules/tanl (Depends-on): Add tan. Update conditions.
942         (configure.ac): Don't compile trigl.c if
943         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
944
945 2011-10-10  Bruno Haible  <bruno@clisp.org>
946
947         cosl: Simplify for platforms where 'long double' == 'double'.
948         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
949         implementation.
950         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
951         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
952         * modules/cosl (Depends-on): Add cos. Update conditions.
953         (configure.ac): Don't compile sincosl.c and trigl.c if
954         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
955
956 2011-10-10  Bruno Haible  <bruno@clisp.org>
957
958         sinl: Simplify for platforms where 'long double' == 'double'.
959         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
960         implementation.
961         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
962         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
963         * modules/sinl (Depends-on): Add sin. Update conditions.
964         (configure.ac): Don't compile sincosl.c and trigl.c if
965         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
966
967 2011-10-10  Bruno Haible  <bruno@clisp.org>
968
969         logl: Simplify for platforms where 'long double' == 'double'.
970         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
971         implementation.
972         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
973         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
974         * modules/logl (Depends-on): Add log. Update conditions.
975
976 2011-10-10  Bruno Haible  <bruno@clisp.org>
977
978         expl: Simplify for platforms where 'long double' == 'double'.
979         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
980         implementation.
981         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
982         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
983         * modules/expl (Depends-on): Add exp. Update conditions.
984
985 2011-10-10  Bruno Haible  <bruno@clisp.org>
986
987         sqrtl: Simplify for platforms where 'long double' == 'double'.
988         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
989         alternative implementation.
990         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
991         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
992         * modules/sqrtl (Depends-on): Update conditions.
993
994 2011-10-10  Bruno Haible  <bruno@clisp.org>
995
996         ldexpl: Simplify for platforms where 'long double' == 'double'.
997         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
998         alternative implementation.
999         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1000         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1001         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
1002
1003 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
1004
1005         ffsll: set correct witness
1006         * modules/ffsll (configure.ac): Fix typo.
1007
1008 2011-10-10  Bruno Haible  <bruno@clisp.org>
1009
1010         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
1011         * lib/printf-frexpl.c: Include <config.h>.
1012         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1013         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
1014         second time.
1015         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
1016         gl_LONG_DOUBLE_VS_DOUBLE.
1017         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
1018         conditions.
1019
1020 2011-10-10  Bruno Haible  <bruno@clisp.org>
1021
1022         frexpl: Simplify for platforms where 'long double' == 'double'.
1023         * lib/frexpl.c: Include <config.h>.
1024         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1025         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1026         time.
1027         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1028         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1029         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
1030         * modules/frexpl (Depends-on): Add frexp. Update conditions.
1031         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
1032         conditions.
1033
1034 2011-10-10  Jim Meyering  <meyering@redhat.com>
1035
1036         test-renameat: don't leave behind a temporary file
1037         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
1038           ERROR: files left in build directory after distclean:
1039           ./gltests/test-renameat.too
1040           make[1]: *** [distcleancheck] Error 1
1041         Reported by Tom G. Christensen.
1042
1043 2011-10-09  Bruno Haible  <bruno@clisp.org>
1044
1045         rint: Determine RINT_LIBM correctly on AIX 7.
1046         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
1047         directly, not only through a function pointer. Also accept an optional
1048         4th argument with extra code.
1049         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
1050         rintf() call by gcc when optimizing.
1051
1052         mathfunc.m4: Refactor.
1053         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
1054         m4 variable.
1055
1056 2011-10-09  Bruno Haible  <bruno@clisp.org>
1057
1058         rintl: Simplify for platforms where 'long double' == 'double'.
1059         * lib/rintl.c: Include <config.h>.
1060         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1061         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1062         time.
1063         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1064         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1065         * modules/rintl (Depends-on): Add rint. Update conditions.
1066
1067 2011-10-09  Bruno Haible  <bruno@clisp.org>
1068
1069         roundl: Simplify for platforms where 'long double' == 'double'.
1070         * lib/roundl.c: Include <config.h>.
1071         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1072         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1073         time.
1074         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1075         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1076         * modules/roundl (Depends-on): Add round. Update conditions.
1077
1078 2011-10-09  Bruno Haible  <bruno@clisp.org>
1079
1080         truncl: Simplify for platforms where 'long double' == 'double'.
1081         * lib/truncl.c: Include <config.h>.
1082         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1083         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1084         time.
1085         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1086         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1087         * modules/truncl (Depends-on): Add trunc. Update conditions.
1088
1089 2011-10-09  Bruno Haible  <bruno@clisp.org>
1090
1091         ceill: Simplify for platforms where 'long double' == 'double'.
1092         * lib/ceill.c: Include <config.h>.
1093         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1094         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1095         time.
1096         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1097         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1098         * modules/ceill (Depends-on): Add ceil. Update conditions.
1099
1100 2011-10-09  Bruno Haible  <bruno@clisp.org>
1101
1102         floorl: Simplify for platforms where 'long double' == 'double'.
1103         * lib/floorl.c: Include <config.h>.
1104         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
1105         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
1106         time.
1107         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1108         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1109         * modules/floorl (Depends-on): Add floor. Update conditions.
1110
1111 2011-10-09  Bruno Haible  <bruno@clisp.org>
1112
1113         rint: Fix ordering constraints.
1114         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
1115         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
1116         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
1117
1118 2011-10-09  Bruno Haible  <bruno@clisp.org>
1119
1120         copysignl: Simplify for platforms where 'long double' == 'double'.
1121         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
1122         alternative.
1123         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1124         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
1125         * modules/copysignl (Depends-on): Add copysign. Update conditions.
1126
1127 2011-10-09  Bruno Haible  <bruno@clisp.org>
1128
1129         Tests for module 'rintl'.
1130         * modules/rintl-tests: New file.
1131         * tests/test-rintl.c: New file.
1132
1133         New module 'rintl'.
1134         * lib/math.in.h (rintl): New declaration.
1135         * lib/rintl.c: New file.
1136         * m4/rintl.m4: New file.
1137         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
1138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
1139         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
1140         * modules/rintl: New file.
1141         * tests/test-math-c++.cc: Check the declaration of rintl.
1142         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1143         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
1144         * doc/posix-functions/rintl.texi: Mention the new module.
1145
1146 2011-10-09  Bruno Haible  <bruno@clisp.org>
1147
1148         Tests for module 'rintf'.
1149         * modules/rintf-tests: New file.
1150         * tests/test-rintf.c: New file.
1151
1152         New module 'rintf'.
1153         * lib/math.in.h (rintf): New declaration.
1154         * lib/rintf.c: New file.
1155         * m4/rintf.m4: New file.
1156         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
1157         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
1158         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
1159         * modules/rintf: New file.
1160         * tests/test-math-c++.cc: Check the declaration of rintf.
1161         * doc/posix-functions/rintf.texi: Mention the new module.
1162
1163 2011-10-09  Bruno Haible  <bruno@clisp.org>
1164
1165         rint: Support for MSVC.
1166         * lib/math.in.h (rint): New declaration.
1167         * lib/rint.c: New file.
1168         * m4/rint.m4: New file.
1169         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
1170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
1171         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
1172         * modules/rint (Description): Fix.
1173         (Files): Add lib/rint.c, m4/rint.m4.
1174         (Depends-on): Add math.
1175         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
1176         gl_MATH_MODULE_INDICATOR.
1177         * tests/test-math-c++.cc: Check the declaration of rint.
1178         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1179         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
1180         * doc/posix-functions/rint.texi: Mention the replacement provided by
1181         the module.
1182
1183         rint tests: More tests.
1184         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
1185         minus-zero.h, infinity.h, nan.h.
1186         (main): Skip the test if the current rounding mode is not standard. Add
1187         tests for negative numbers, minus zero, infinity, NaN.
1188         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
1189         tests/nan.h.
1190         (Depends-on): Add isnand-nolibm.
1191
1192 2011-10-09  Bruno Haible  <bruno@clisp.org>
1193
1194         Tests for module 'copysignl'.
1195         * modules/copysignl-tests: New file.
1196         * tests/test-copysignl.c: New file.
1197
1198         New module 'copysignl'.
1199         * lib/math.in.h (copysignl): New declaration.
1200         * lib/copysignl.c: New file.
1201         * m4/copysignl.m4: New file.
1202         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
1203         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
1204         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
1205         HAVE_COPYSIGNL.
1206         * modules/copysignl: New file.
1207         * tests/test-math-c++.cc: Check the declaration of copysignl.
1208         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
1209         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
1210         * doc/posix-functions/copysignl.texi: Mention the new module.
1211
1212 2011-10-09  Bruno Haible  <bruno@clisp.org>
1213
1214         Tests for module 'copysignf'.
1215         * modules/copysignf-tests: New file.
1216         * tests/test-copysignf.c: New file.
1217
1218         New module 'copysignf'.
1219         * lib/math.in.h (copysignf): New declaration.
1220         * lib/copysignf.c: New file.
1221         * m4/copysignf.m4: New file.
1222         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
1223         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
1224         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
1225         HAVE_COPYSIGNF.
1226         * modules/copysignf: New file.
1227         * tests/test-math-c++.cc: Check the declaration of copysignf.
1228         * doc/posix-functions/copysignf.texi: Mention the new module.
1229
1230 2011-10-09  Bruno Haible  <bruno@clisp.org>
1231
1232         Ensure that HAVE_* variables are set to 1 before they are set to 0.
1233         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
1234         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
1235         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1236         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
1237         gl_SIGNAL_H_DEFAULTS.
1238
1239 2011-10-09  Bruno Haible  <bruno@clisp.org>
1240
1241         poll: Make macro safer.
1242         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
1243         ac_cv_header_poll_h is not set.
1244
1245 2011-10-09  Bruno Haible  <bruno@clisp.org>
1246
1247         copysign: Provide replacement.
1248         * lib/math.in.h (copysign): New declaration.
1249         * lib/copysign.c: New file.
1250         * m4/copysign.m4: New file.
1251         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
1252         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
1253         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
1254         HAVE_COPYSIGN.
1255         * modules/copysign (Description): Clarify.
1256         (Files): Add lib/copysign.c, m4/copysign.m4.
1257         (Depends-on): Add math, signbit.
1258         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
1259         gl_MATH_MODULE_INDICATOR.
1260         * tests/test-math-c++.cc: Check the declaration of copysign.
1261         * doc/posix-functions/copysign.texi: Mention the effects of the module
1262         on Minix and MSVC.
1263
1264 2011-10-09  Bruno Haible  <bruno@clisp.org>
1265
1266         isinf: Ensure macro on AIX 5.1.
1267         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
1268         macro.
1269         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
1270
1271 2011-10-09  Bruno Haible  <bruno@clisp.org>
1272
1273         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
1274         * modules/snprintf-posix-tests (configure.ac): Require
1275         gl_LONG_DOUBLE_VS_DOUBLE.
1276         * modules/sprintf-posix-tests (configure.ac): Likewise.
1277         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
1278         * modules/vasprintf-posix-tests (configure.ac): Likewise.
1279         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
1280         * modules/vsprintf-posix-tests (configure.ac): Likewise.
1281         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
1282         tests on platforms where 'long double' is the same as 'double'.
1283         * tests/test-sprintf-posix.h (test_function): Likewise.
1284         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1285         * tests/test-vasprintf-posix.c (test_function): Likewise.
1286
1287         *printf: Fix for platforms where 'long double' == 'double'.
1288         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1289         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
1290         * modules/dprintf-posix (Files): Add m4/math_h.m4.
1291         * modules/fprintf-posix (Files): Likewise.
1292         * modules/obstack-printf-posix (Files): Likewise.
1293         * modules/snprintf-posix (Files): Likewise.
1294         * modules/sprintf-posix (Files): Likewise.
1295         * modules/vasnprintf (Files): Likewise.
1296         * modules/vasnprintf-posix (Files): Likewise.
1297         * modules/vasprintf-posix (Files): Likewise.
1298         * modules/vdprintf-posix (Files): Likewise.
1299         * modules/vfprintf-posix (Files): Likewise.
1300         * modules/vsnprintf-posix (Files): Likewise.
1301         * modules/vsprintf-posix (Files): Likewise.
1302         * modules/unistdio/u8-vasnprintf (Files): Likewise.
1303         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
1304         * modules/unistdio/u16-vasnprintf (Files): Likewise.
1305         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
1306         * modules/unistdio/u32-vasnprintf (Files): Likewise.
1307         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
1308         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
1309
1310         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
1311         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
1312         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
1313         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
1314         'long double'.
1315         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
1316
1317         isinf: Fix for platforms where 'long double' == 'double'.
1318         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1319         Don't blindly assume 80-bit 'long double'.
1320
1321         isfinite: Fix for platforms where 'long double' == 'double'.
1322         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
1323         Don't blindly assume 80-bit 'long double'.
1324
1325         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
1326         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
1327         * modules/isfinite-tests (configure.ac): Require
1328         gl_LONG_DOUBLE_VS_DOUBLE.
1329         * modules/isinf-tests (configure.ac): Likewise.
1330         * modules/isnan-tests (configure.ac): Likewise.
1331         * modules/isnanl-tests (configure.ac): Likewise.
1332         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
1333         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
1334         tests on platforms where 'long double' is the same as 'double'.
1335         * tests/test-isinf.c (test_isinfl): Likewise.
1336         * tests/test-isnan.c (test_long_double): Likewise.
1337         * tests/test-isnanl.h (main): Likewise.
1338
1339 2011-10-08  Bruno Haible  <bruno@clisp.org>
1340
1341         Tests for module 'tanhf'.
1342         * modules/tanhf-tests: New file.
1343         * tests/test-tanhf.c: New file.
1344
1345         New module 'tanhf'.
1346         * lib/math.in.h (tanhf): New declaration.
1347         * lib/tanhf.c: New file.
1348         * m4/tanhf.m4: New file.
1349         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
1350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
1351         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
1352         * modules/tanhf: New file.
1353         * tests/test-math-c++.cc: Check the declaration of tanhf.
1354         * doc/posix-functions/tanhf.texi: Mention the new module.
1355
1356         tanh: Use a .m4 file.
1357         * m4/tanh.m4: New file.
1358         * modules/tanh (Files): Add it.
1359         (configure.ac): Just invoke gl_FUNC_TANH.
1360
1361 2011-10-08  Bruno Haible  <bruno@clisp.org>
1362
1363         Tests for module 'coshf'.
1364         * modules/coshf-tests: New file.
1365         * tests/test-coshf.c: New file.
1366
1367         New module 'coshf'.
1368         * lib/math.in.h (coshf): New declaration.
1369         * lib/coshf.c: New file.
1370         * m4/coshf.m4: New file.
1371         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
1372         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
1373         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
1374         * modules/coshf: New file.
1375         * tests/test-math-c++.cc: Check the declaration of coshf.
1376         * doc/posix-functions/coshf.texi: Mention the new module.
1377
1378         cosh: Use a .m4 file.
1379         * m4/cosh.m4: New file.
1380         * modules/cosh (Files): Add it.
1381         (configure.ac): Just invoke gl_FUNC_COSH.
1382
1383 2011-10-08  Bruno Haible  <bruno@clisp.org>
1384
1385         Tests for module 'sinhf'.
1386         * modules/sinhf-tests: New file.
1387         * tests/test-sinhf.c: New file.
1388
1389         New module 'sinhf'.
1390         * lib/math.in.h (sinhf): New declaration.
1391         * lib/sinhf.c: New file.
1392         * m4/sinhf.m4: New file.
1393         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
1394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
1395         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
1396         * modules/sinhf: New file.
1397         * tests/test-math-c++.cc: Check the declaration of sinhf.
1398         * doc/posix-functions/sinhf.texi: Mention the new module.
1399
1400         sinh: Use a .m4 file.
1401         * m4/sinh.m4: New file.
1402         * modules/sinh (Files): Add it.
1403         (configure.ac): Just invoke gl_FUNC_SINH.
1404
1405 2011-10-08  Bruno Haible  <bruno@clisp.org>
1406
1407         Tests for module 'atan2f'.
1408         * modules/atan2f-tests: New file.
1409         * tests/test-atan2f.c: New file.
1410
1411         New module 'atan2f'.
1412         * lib/math.in.h (atan2f): New declaration.
1413         * lib/atan2f.c: New file.
1414         * m4/atan2f.m4: New file.
1415         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
1416         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
1417         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
1418         * modules/atan2f: New file.
1419         * tests/test-math-c++.cc: Check the declaration of atan2f.
1420         * doc/posix-functions/atan2f.texi: Mention the new module.
1421
1422         atan2: Use a .m4 file.
1423         * m4/atan2.m4: New file.
1424         * modules/atan2 (Files): Add it.
1425         (configure.ac): Just invoke gl_FUNC_ATAN2.
1426
1427 2011-10-08  Bruno Haible  <bruno@clisp.org>
1428
1429         Tests for module 'atanf'.
1430         * modules/atanf-tests: New file.
1431         * tests/test-atanf.c: New file.
1432
1433         New module 'atanf'.
1434         * lib/math.in.h (atanf): New declaration.
1435         * lib/atanf.c: New file.
1436         * m4/atanf.m4: New file.
1437         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
1438         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
1439         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
1440         * modules/atanf: New file.
1441         * tests/test-math-c++.cc: Check the declaration of atanf.
1442         * doc/posix-functions/atanf.texi: Mention the new module.
1443
1444         atan: Use a .m4 file.
1445         * m4/atan.m4: New file.
1446         * modules/atan (Files): Add it.
1447         (configure.ac): Just invoke gl_FUNC_ATAN.
1448
1449 2011-10-08  Bruno Haible  <bruno@clisp.org>
1450
1451         Tests for module 'acosf'.
1452         * modules/acosf-tests: New file.
1453         * tests/test-acosf.c: New file.
1454
1455         New module 'acosf'.
1456         * lib/math.in.h (acosf): New declaration.
1457         * lib/acosf.c: New file.
1458         * m4/acosf.m4: New file.
1459         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
1460         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
1461         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
1462         * modules/acosf: New file.
1463         * tests/test-math-c++.cc: Check the declaration of acosf.
1464         * doc/posix-functions/acosf.texi: Mention the new module.
1465
1466         acos: Use a .m4 file.
1467         * m4/acos.m4: New file.
1468         * modules/acos (Files): Add it.
1469         (configure.ac): Just invoke gl_FUNC_ACOS.
1470
1471 2011-10-08  Bruno Haible  <bruno@clisp.org>
1472
1473         Tests for module 'asinf'.
1474         * modules/asinf-tests: New file.
1475         * tests/test-asinf.c: New file.
1476
1477         New module 'asinf'.
1478         * lib/math.in.h (asinf): New declaration.
1479         * lib/asinf.c: New file.
1480         * m4/asinf.m4: New file.
1481         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
1482         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
1483         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
1484         * modules/asinf: New file.
1485         * tests/test-math-c++.cc: Check the declaration of asinf.
1486         * doc/posix-functions/asinf.texi: Mention the new module.
1487
1488         asin: Use a .m4 file.
1489         * m4/asin.m4: New file.
1490         * modules/asin (Files): Add it.
1491         (configure.ac): Just invoke gl_FUNC_ASIN.
1492
1493 2011-10-08  Bruno Haible  <bruno@clisp.org>
1494
1495         Tests for module 'tanf'.
1496         * modules/tanf-tests: New file.
1497         * tests/test-tanf.c: New file.
1498
1499         New module 'tanf'.
1500         * lib/math.in.h (tanf): New declaration.
1501         * lib/tanf.c: New file.
1502         * m4/tanf.m4: New file.
1503         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
1504         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
1505         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
1506         * modules/tanf: New file.
1507         * tests/test-math-c++.cc: Check the declaration of tanf.
1508         * doc/posix-functions/tanf.texi: Mention the new module.
1509
1510         tan: Use a .m4 file.
1511         * m4/tan.m4: New file.
1512         * modules/tan (Files): Add it.
1513         (configure.ac): Just invoke gl_FUNC_TAN.
1514
1515 2011-10-08  Bruno Haible  <bruno@clisp.org>
1516
1517         Tests for module 'cosf'.
1518         * modules/cosf-tests: New file.
1519         * tests/test-cosf.c: New file.
1520
1521         New module 'cosf'.
1522         * lib/math.in.h (cosf): New declaration.
1523         * lib/cosf.c: New file.
1524         * m4/cosf.m4: New file.
1525         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
1526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
1527         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
1528         * modules/cosf: New file.
1529         * tests/test-math-c++.cc: Check the declaration of cosf.
1530         * doc/posix-functions/cosf.texi: Mention the new module.
1531
1532         cos: Use a .m4 file.
1533         * m4/cos.m4: New file.
1534         * modules/cos (Files): Add it.
1535         (configure.ac): Just invoke gl_FUNC_COS.
1536
1537 2011-10-08  Bruno Haible  <bruno@clisp.org>
1538
1539         Tests for module 'sinf'.
1540         * modules/sinf-tests: New file.
1541         * tests/test-sinf.c: New file.
1542
1543         New module 'sinf'.
1544         * lib/math.in.h (sinf): New declaration.
1545         * lib/sinf.c: New file.
1546         * m4/sinf.m4: New file.
1547         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
1548         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
1549         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
1550         * modules/sinf: New file.
1551         * tests/test-math-c++.cc: Check the declaration of sinf.
1552         * doc/posix-functions/sinf.texi: Mention the new module.
1553
1554         sin: Use a .m4 file.
1555         * m4/sin.m4: New file.
1556         * modules/sin (Files): Add it.
1557         (configure.ac): Just invoke gl_FUNC_SIN.
1558
1559 2011-10-08  Bruno Haible  <bruno@clisp.org>
1560
1561         Tests for module 'powf'.
1562         * modules/powf-tests: New file.
1563         * tests/test-powf.c: New file.
1564
1565         New module 'powf'.
1566         * lib/math.in.h (powf): New declaration.
1567         * lib/powf.c: New file.
1568         * m4/powf.m4: New file.
1569         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
1570         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
1571         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
1572         * modules/powf: New file.
1573         * tests/test-math-c++.cc: Check the declaration of powf.
1574         * doc/posix-functions/powf.texi: Mention the new module.
1575
1576         pow: Use a .m4 file.
1577         * m4/pow.m4: New file.
1578         * modules/pow (Files): Add it.
1579         (configure.ac): Just invoke gl_FUNC_POW.
1580
1581 2011-10-08  Bruno Haible  <bruno@clisp.org>
1582
1583         Tests for module 'log10f'.
1584         * modules/log10f-tests: New file.
1585         * tests/test-log10f.c: New file.
1586
1587         New module 'log10f'.
1588         * lib/math.in.h (log10f): New declaration.
1589         * lib/log10f.c: New file.
1590         * m4/log10f.m4: New file.
1591         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
1592         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
1593         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
1594         * modules/log10f: New file.
1595         * tests/test-math-c++.cc: Check the declaration of log10f.
1596         * doc/posix-functions/log10f.texi: Mention the new module.
1597
1598         log10: Use a .m4 file.
1599         * m4/log10.m4: New file.
1600         * modules/log10 (Files): Add it.
1601         (configure.ac): Just invoke gl_FUNC_LOG10.
1602
1603 2011-10-08  Bruno Haible  <bruno@clisp.org>
1604
1605         Tests for module 'logf'.
1606         * modules/logf-tests: New file.
1607         * tests/test-logf.c: New file.
1608
1609         New module 'logf'.
1610         * lib/math.in.h (logf): New declaration.
1611         * lib/logf.c: New file.
1612         * m4/logf.m4: New file.
1613         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
1614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
1615         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
1616         * modules/logf: New file.
1617         * tests/test-math-c++.cc: Check the declaration of logf.
1618         * doc/posix-functions/logf.texi: Mention the new module.
1619
1620         log: Use a .m4 file.
1621         * m4/log.m4: New file.
1622         * modules/log (Files): Add it.
1623         (configure.ac): Just invoke gl_FUNC_LOG.
1624
1625 2011-10-08  Bruno Haible  <bruno@clisp.org>
1626
1627         Tests for module 'expf'.
1628         * modules/expf-tests: New file.
1629         * tests/test-expf.c: New file.
1630
1631         New module 'expf'.
1632         * lib/math.in.h (expf): New declaration.
1633         * lib/expf.c: New file.
1634         * m4/expf.m4: New file.
1635         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
1636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
1637         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
1638         * modules/expf: New file.
1639         * tests/test-math-c++.cc: Check the declaration of expf.
1640         * doc/posix-functions/expf.texi: Mention the new module.
1641
1642         exp: Use a .m4 file.
1643         * m4/exp.m4: New file.
1644         * modules/exp (Files): Add it.
1645         (configure.ac): Just invoke gl_FUNC_EXP.
1646
1647 2011-10-08  Bruno Haible  <bruno@clisp.org>
1648
1649         Tests for module 'sqrtf'.
1650         * modules/sqrtf-tests: New file.
1651         * tests/test-sqrtf.c: New file.
1652
1653         New module 'sqrtf'.
1654         * lib/math.in.h (sqrtf): New declaration.
1655         * lib/sqrtf.c: New file.
1656         * m4/sqrtf.m4: New file.
1657         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
1658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
1659         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
1660         * modules/sqrtf: New file.
1661         * tests/test-math-c++.cc: Check the declaration of sqrtf.
1662         * doc/posix-functions/sqrtf.texi: Mention the new module.
1663
1664 2011-10-08  Bruno Haible  <bruno@clisp.org>
1665
1666         Tests: Avoid link failures w.r.t. libintl.
1667         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
1668         $(LIBINTL).
1669         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
1670         $(LIBINTL).
1671         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
1672         against $(LIBINTL).
1673         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
1674         $(LIBINTL).
1675         * modules/openat-tests (Makefile.am): Link test-fchmodat against
1676         $(LIBINTL).
1677         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
1678
1679 2011-10-08  Bruno Haible  <bruno@clisp.org>
1680
1681         pow tests: Defeat compiler optimizations.
1682         * tests/test-pow.c (main): Assign arguments to x and y before use.
1683
1684 2011-10-08  Bruno Haible  <bruno@clisp.org>
1685
1686         gnulib-tool: Improve last commit.
1687         * gnulib-tool (func_modules_transitive_closure): Simplify code.
1688         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
1689         ignore dependencies that are not among the modules list.
1690
1691 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
1692
1693         gnulib-tool: don't follow dependencies to avoided modules
1694         This fixes a bug that is related to the previous one.
1695         * gnulib-tool (func_modules_transitive_closure)
1696         (func_emit_autoconf_snippets):
1697         Check whether a dependency is acceptable before using it.
1698         (--extract-dependencies): Report an error if --avoid is also used,
1699         since this combination of options is not yet supported.
1700
1701         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
1702         Problem reported by Peter Dyballa in
1703         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
1704         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
1705         when echoing "$condition".
1706
1707 2011-10-07  Bruno Haible  <bruno@clisp.org>
1708
1709         Fix documentation about math functions on MacOS X.
1710         * doc/posix-functions/exp2.texi: Don't say the function is missing on
1711         MacOS X 10.5.
1712         * doc/posix-functions/fdim.texi: Likewise.
1713         * doc/posix-functions/feclearexcept.texi: Likewise.
1714         * doc/posix-functions/fegetenv.texi: Likewise.
1715         * doc/posix-functions/fegetround.texi: Likewise.
1716         * doc/posix-functions/feholdexcept.texi: Likewise.
1717         * doc/posix-functions/feraiseexcept.texi: Likewise.
1718         * doc/posix-functions/fesetenv.texi: Likewise.
1719         * doc/posix-functions/fesetround.texi: Likewise.
1720         * doc/posix-functions/fetestexcept.texi: Likewise.
1721         * doc/posix-functions/feupdateenv.texi: Likewise.
1722         * doc/posix-functions/fmax.texi: Likewise.
1723         * doc/posix-functions/fmin.texi: Likewise.
1724         * doc/posix-functions/log2.texi: Likewise.
1725         * doc/posix-functions/modff.texi: Likewise.
1726         * doc/posix-functions/nan.texi: Likewise.
1727         * doc/posix-functions/nanf.texi: Likewise.
1728         * doc/posix-functions/nextafterf.texi: Likewise.
1729         * doc/posix-functions/remquo.texi: Likewise.
1730
1731 2011-10-07  Bruno Haible  <bruno@clisp.org>
1732
1733         modff: Drop assumption about library that defines modff.
1734         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
1735         AC_CHECK_FUNCS.
1736         * modules/modff (Files): Add m4/mathfunc.m4.
1737
1738 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
1739
1740         raise tests: Avoid a GCC warning.
1741         * tests/test-raise.c (handler): Use _Noreturn.
1742
1743 2011-10-07  Bruno Haible  <bruno@clisp.org>
1744
1745         Tests for module 'ldexpf'.
1746         * modules/ldexpf-tests: New file.
1747         * tests/test-ldexpf.c: New file.
1748
1749         New module 'ldexpf'.
1750         * lib/math.in.h (ldexpf): New declaration.
1751         * lib/ldexpf.c: New file.
1752         * m4/ldexpf.m4: New file.
1753         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
1754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
1755         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
1756         * modules/ldexpf: New file.
1757         * tests/test-math-c++.cc: Check the declaration of ldexpf.
1758         * doc/posix-functions/ldexpf.texi: Mention the new module.
1759
1760 2011-10-06  Bruno Haible  <bruno@clisp.org>
1761
1762         frexpf: Work around problems on IRIX and mingw.
1763         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
1764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
1765         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
1766         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
1767         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
1768         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
1769         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
1770
1771 2011-10-06  Bruno Haible  <bruno@clisp.org>
1772
1773         fabsf: Drop assumption about library that defines fabsf.
1774         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
1775         AC_CHECK_FUNCS.
1776         * modules/fabsf (Files): Add m4/mathfunc.m4.
1777
1778 2011-10-06  Bruno Haible  <bruno@clisp.org>
1779
1780         frexpf: Drop assumption about library that defines frexpf.
1781         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
1782         'int *', 'float *', 'long double *', 'float', 'long double'.
1783         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
1784         AC_CHECK_FUNCS.
1785         * modules/frexpf (Files): Add m4/mathfunc.m4.
1786
1787         Tests for module 'frexpf'.
1788         * modules/frexpf-tests: New file.
1789         * tests/test-frexpf.c: New file.
1790
1791         New module 'frexpf'.
1792         * lib/math.in.h (frexpf): New declaration.
1793         * lib/frexpf.c: New file.
1794         * m4/frexpf.m4: New file.
1795         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
1796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
1797         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
1798         * modules/frexpf: New file.
1799         * tests/test-math-c++.cc: Check the declaration of frexpf.
1800         * doc/posix-functions/frexpf.texi: Mention the new module.
1801
1802 2011-10-06  Bruno Haible  <bruno@clisp.org>
1803
1804         math: Sort function declarations of math.in.h.
1805         * lib/math.in.h (frexp, logb): Move declarations.
1806
1807 2011-10-05  Bruno Haible  <bruno@clisp.org>
1808
1809         Tests for module 'modff'.
1810         * modules/modff-tests: New file.
1811         * tests/test-modff.c: New file.
1812
1813         New module 'modff'.
1814         * lib/math.in.h (modff): New declaration.
1815         * lib/modff.c: New file.
1816         * m4/modff.m4: New file.
1817         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
1818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
1819         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
1820         * modules/modff: New file.
1821         * tests/test-math-c++.cc: Check the declaration of modff.
1822         * doc/posix-functions/modff.texi: Mention the new module.
1823
1824         modf tests: Make test sharper.
1825         * tests/test-modf.c (main): Strengthen upper bound.
1826
1827         modf: Use a .m4 file.
1828         * m4/modf.m4: New file.
1829         * modules/modf (Files): Add it.
1830         (configure.ac): Just invoke gl_FUNC_MODF.
1831
1832 2011-10-05  Bruno Haible  <bruno@clisp.org>
1833
1834         Tests for module 'fmodf'.
1835         * modules/fmodf-tests: New file.
1836         * tests/test-fmodf.c: New file.
1837
1838         New module 'fmodf'.
1839         * lib/math.in.h (fmodf): New declaration.
1840         * lib/fmodf.c: New file.
1841         * m4/fmodf.m4: New file.
1842         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
1843         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
1844         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
1845         * modules/fmodf: New file.
1846         * tests/test-math-c++.cc: Check the declaration of fmodf.
1847         * doc/posix-functions/fmodf.texi: Mention the new module.
1848
1849         fmod: Use a .m4 file.
1850         * m4/fmod.m4: New file.
1851         * modules/fmod (Files): Add it.
1852         (configure.ac): Just invoke gl_FUNC_FMOD.
1853
1854 2011-10-05  Bruno Haible  <bruno@clisp.org>
1855
1856         Tests for module 'fabsf'.
1857         * modules/fabsf-tests: New file.
1858         * tests/test-fabsf.c: New file.
1859
1860         New module 'fabsf'.
1861         * lib/math.in.h (fabsf): New declaration.
1862         * lib/fabsf.c: New file.
1863         * m4/fabsf.m4: New file.
1864         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
1865         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
1866         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
1867         * modules/fabsf: New file.
1868         * tests/test-math-c++.cc: Check the declaration of fabsf.
1869         * doc/posix-functions/fabsf.texi: Mention the new module.
1870
1871         fabs: Use a .m4 file.
1872         * m4/fabs.m4: New file.
1873         * modules/fabs (Files): Add it.
1874         (configure.ac): Just invoke gl_FUNC_FABS.
1875
1876 2011-10-05  Jim Meyering  <meyering@redhat.com>
1877
1878         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
1879         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
1880         ls -lL regression introduced in coreutils-8.12, it does so at the
1881         cost of an additional stat call in the common case.  Besides, now
1882         that the kernel change that prompted commit 95f7c57f has been reverted
1883         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
1884         we have no use for commit 95f7c57f, "file-has-acl: use
1885         acl_extended_file_nofollow if available".
1886
1887 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
1888
1889         file-has-acl: revert unintended change in behavior of ls -L
1890         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
1891         derived from...
1892         (file_has_acl): ...code here.  Call it.
1893         This problem was introduced with 2011-07-22 commit 95f7c57f,
1894         "file-has-acl: use acl_extended_file_nofollow if available".
1895         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
1896
1897 2011-10-03  Bruno Haible  <bruno@clisp.org>
1898
1899         poll: Avoid link errors on MSVC.
1900         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
1901         * modules/poll (Depends-on): Add sockets.
1902         (Link): New section.
1903         * NEWS: Mention the change.
1904         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
1905         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
1906         $(LIB_POLL) instead of $(LIBSOCKET).
1907
1908 2011-10-03  Bruno Haible  <bruno@clisp.org>
1909
1910         sys_select tests: Fix link error on MSVC 9.
1911         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
1912         with $(LIB_SELECT) instead of $(LIBSOCKET).
1913
1914 2011-10-03  Bruno Haible  <bruno@clisp.org>
1915
1916         sys_select: Fix compilation error on mingw.
1917         * lib/sys_select.in.h: On native Windows, include <io.h>.
1918
1919 2011-10-03  Bruno Haible  <bruno@clisp.org>
1920
1921         wmemset: Support for MSVC.
1922         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
1923         whether wmemset() exists.
1924
1925 2011-10-03  Bruno Haible  <bruno@clisp.org>
1926
1927         wmemmove: Support for MSVC.
1928         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
1929         whether wmemmove() exists.
1930
1931 2011-10-03  Bruno Haible  <bruno@clisp.org>
1932
1933         wmemcpy: Support for MSVC.
1934         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
1935         whether wmemcpy() exists.
1936
1937 2011-10-03  Bruno Haible  <bruno@clisp.org>
1938
1939         wmemcmp: Support for MSVC.
1940         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
1941         whether wmemcmp() exists.
1942
1943 2011-10-03  Bruno Haible  <bruno@clisp.org>
1944
1945         wmemchr: Support for MSVC.
1946         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
1947         whether wmemchr() exists.
1948
1949 2011-10-03  Bruno Haible  <bruno@clisp.org>
1950
1951         glthread/*, strsignal: Support for MSVC.
1952         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
1953         including <winsock.h> on MSVC 9.
1954         * lib/glthread/lock.h: Likewise.
1955         * lib/glthread/thread.h: Likewise.
1956         * lib/glthread/tls.h: Likewise.
1957         * lib/glthread/yield.h: Likewise.
1958         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
1959         if HAVE_UNISTD_H is false.
1960         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
1961
1962 2011-10-03  Bruno Haible  <bruno@clisp.org>
1963
1964         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
1965         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
1966         Set to 100000.
1967
1968 2011-10-03  Bruno Haible  <bruno@clisp.org>
1969
1970         acl: Fix specification.
1971         * lib/file-has-acl.c (file_has_acl): Fix specification.
1972
1973 2011-10-03  Bruno Haible  <bruno@clisp.org>
1974
1975         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
1976         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
1977         (compute_curr_prefix, shared_library_fullname,
1978         find_shared_library_fullname, get_shared_library_fullname, relocate):
1979         Use it together with PIC && INSTALLDIR.
1980         Reported by <jojelino@gmail.com>
1981         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
1982
1983 2011-10-01  Jim Meyering  <meyering@redhat.com>
1984
1985         maint.mk: adjust a release-related rule not to require use of gzip
1986         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
1987         Instead, check each file in $(DIST_ARCHIVES).  This is better for
1988         projects that build only .tar.xz files.  Also fix an erroneous test.
1989
1990         test-linkat: don't leave behind a temporary file
1991         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
1992         Otherwise, coreutils' "make distcheck" would fail with this:
1993           Only in /c/cu/tests/torture/coreutils/test/\
1994             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
1995           make[2]: *** [my-distcheck] Error 1
1996
1997         float, math: add omitted file
1998         * lib/itold.c: Add file, required for yesterday's float change.
1999
2000 2011-10-01  Bruno Haible  <bruno@clisp.org>
2001
2002         isinf: Fix for OpenBSD/x86.
2003         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
2004         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
2005         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
2006
2007 2011-10-01  Bruno Haible  <bruno@clisp.org>
2008
2009         isfinite: Fix syntax error in configure test.
2010         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
2011
2012         isfinite: Fix typo.
2013         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
2014         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
2015
2016 2011-10-01  Bruno Haible  <bruno@clisp.org>
2017
2018         nonblocking tests: Fix test failure on Linux/IA-64.
2019         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
2020         Set to 270000.
2021
2022 2011-10-01  Bruno Haible  <bruno@clisp.org>
2023
2024         mkfifoat tests: Fix a test failure on mingw.
2025         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
2026         with error ENOSYS.
2027
2028 2011-09-30  Bruno Haible  <bruno@clisp.org>
2029
2030         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
2031         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
2032         'long double'. Set REPLACE_ITOLD.
2033         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
2034         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
2035         * lib/itold.c: New file.
2036         * modules/float (Files): Add lib/itold.c.
2037         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
2038         (Makefile.am): Substitute REPLACE_ITOLD.
2039         * modules/math (Depends-on): Add float.
2040         (Makefile.am): Substitute REPLACE_ITOLD.
2041         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
2042         * doc/posix-headers/math.texi: Likewise.
2043         * doc/posix-functions/logl.texi: Likewise.
2044
2045 2011-09-30  Bruno Haible  <bruno@clisp.org>
2046
2047         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
2048         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
2049         Set to 140000.
2050
2051 2011-09-30  Bruno Haible  <bruno@clisp.org>
2052
2053         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
2054         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
2055         invocation, say "right after AC_PROG_CC_STDC", not "right after
2056         AC_PROG_CC".
2057         Reported by Gary V. Vaughan <gary@gnu.org>.
2058
2059 2011-09-30  Bruno Haible  <bruno@clisp.org>
2060
2061         Centralize C99 requirement.
2062         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
2063         * modules/stdarg (configure.ac-early): Invoke it instead of
2064         AC_PROG_CC_STDC.
2065         Reported by Gary V. Vaughan and Paul Eggert.
2066
2067 2011-09-29  Bruno Haible  <bruno@clisp.org>
2068
2069         float: Fix LDBL_MAX value on Linux/PowerPC.
2070         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
2071         on Linux/PowerPC.
2072         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
2073         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
2074         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
2075         platform.
2076         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
2077
2078 2011-09-29  Bruno Haible  <bruno@clisp.org>
2079
2080         doc: Improve doc about gl_EARLY.
2081         * doc/gnulib-tool.texi (Initial import): Mention where to place an
2082         AC_PROG_CC_STDC invocation.
2083         Reported by Gary V. Vaughan <gary@gnu.org>.
2084
2085 2011-09-28  Bruno Haible  <bruno@clisp.org>
2086
2087         fgetc, fputc, fread, fwrite tests: Fix link error.
2088         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
2089         on non-MSVC platforms.
2090         * tests/test-fputc.c (main): Likewise.
2091         * tests/test-fread.c (main): Likewise.
2092         * tests/test-fwrite.c (main): Likewise.
2093         Reported by Jim Meyering.
2094
2095 2011-09-27  Bruno Haible  <bruno@clisp.org>
2096
2097         fputc, fwrite tests: Avoid test failure on MSVC.
2098         * tests/test-fgetc.c: Include msvc-inval.h.
2099         (main): Invoke gl_msvc_inval_ensure_handler.
2100         * tests/test-fputc.c: Include msvc-inval.h.
2101         (main): Invoke gl_msvc_inval_ensure_handler.
2102         * tests/test-fread.c: Include msvc-inval.h.
2103         (main): Invoke gl_msvc_inval_ensure_handler.
2104         * tests/test-fwrite.c: Include msvc-inval.h.
2105         (main): Invoke gl_msvc_inval_ensure_handler.
2106         * modules/fgetc-tests (Depends-on): Add msvc-inval.
2107         * modules/fputc-tests (Depends-on): Likewise.
2108         * modules/fread-tests (Depends-on): Likewise.
2109         * modules/fwrite-tests (Depends-on): Likewise.
2110
2111 2011-09-27  Bruno Haible  <bruno@clisp.org>
2112
2113         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
2114         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
2115         (raise): Remove older, duplicated declaration.
2116         (_gl_raise_SIGPIPE): New declaration.
2117         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
2118         (rpl_raise): Remove function.
2119         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
2120         a gnulib-defined SIGPIPE here.
2121         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
2122         'sigprocmask' has detected missing signal-blocking and the module
2123         'sigpipe' is enabled.
2124         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2125
2126 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
2127
2128         base64-tests: avoid memory leak
2129         * tests/test-base64.c (main): Plug memory leak.
2130
2131         base32: new module
2132         * modules/base32: New module.
2133         * lib/base32.c: New file.
2134         * lib/base32.h: Likewise.
2135         * m4/base32.m4: Likewise.
2136         * modules/base32-tests: New test.
2137         * tests/test-base32.c: Likewise.
2138         * MODULES.html.sh (Misc): Mention it.
2139
2140 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2141
2142         gnulib: use more-standard license notice wording
2143         * gnulib-tool (func_emit_copyright_notice): When emitting a
2144         license notice into a file, use the standard wording as suggested
2145         by the current information for GNU maintainers, except say "file"
2146         rather than "program".  The new wording gives a license version
2147         number, which addresses an issue raised by Glenn Morris in
2148         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
2149         * m4/onceonly.m4: Use that same wording here, too.
2150
2151         dup2: minor simplification
2152         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
2153         as lib/dup2.c no longer uses 'inline'.
2154
2155 2011-09-25  Bruno Haible  <bruno@clisp.org>
2156
2157         strings: Fix compilation error on MSVC.
2158         * lib/strings.in.h: Include <stddef.h> for size_t.
2159
2160 2011-09-25  Bruno Haible  <bruno@clisp.org>
2161
2162         fflush et al.: Document limitation on MSVC.
2163         * doc/posix-functions/fflush.texi: Document possible crash in handling
2164         mode other than DEFAULT_HANDLING.
2165         * doc/posix-functions/fgetc.texi: Likewise.
2166         * doc/posix-functions/fputc.texi: Likewise.
2167         * doc/posix-functions/fread.texi: Likewise.
2168         * doc/posix-functions/fwrite.texi: Likewise.
2169
2170 2011-09-25  Bruno Haible  <bruno@clisp.org>
2171
2172         msvc-inval: Allow three invalid parameter handling modes.
2173         * lib/msvc-inval.h: Don't include <stdlib.h> here.
2174         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
2175         macros.
2176         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
2177         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
2178         SANE_LIBRARY_HANDLING as a no-op.
2179         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
2180         <stdlib.h>.
2181         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
2182
2183 2011-09-25  Bruno Haible  <bruno@clisp.org>
2184
2185         msvc-inval: Make handler multithread-safe.
2186         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
2187         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
2188         declarations.
2189         (gl_msvc_inval_current): New declaration.
2190         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2191         Operate on the structure returned by gl_msvc_inval_current().
2192         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
2193         Remove varaiables.
2194         (tls_index, tls_initialized): New variables.
2195         (not_per_thread): New variable.
2196         (gl_msvc_inval_current): New function.
2197         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
2198         returned by gl_msvc_inval_current().
2199
2200 2011-09-25  Bruno Haible  <bruno@clisp.org>
2201
2202         msvc-inval: Install handler globally.
2203         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
2204         !_MSC_VER.
2205         (gl_msvc_invalid_parameter_handler): Remove declaration.
2206         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
2207         declarations.
2208         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
2209         Install the handler globally, don't uninstall it.
2210         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
2211         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
2212         currently valid, call RaiseException instead.
2213         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
2214         for !_MSC_VER.
2215
2216 2011-09-25  Bruno Haible  <bruno@clisp.org>
2217
2218         strerror_r-posix: Fix for MSVC 9.
2219         * lib/strerror_r.c (local_snprintf): New function.
2220         (snprintf): Define to local_snprintf, not to _snprintf.
2221
2222 2011-09-25  Bruno Haible  <bruno@clisp.org>
2223
2224         ftruncate: Support for MSVC 9.
2225         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
2226         (chsize_nothrow): New function.
2227         (chsize): Redefine as a macro.
2228         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
2229         * modules/ftruncate (Depends-on): Add msvc-inval.
2230
2231 2011-09-25  Bruno Haible  <bruno@clisp.org>
2232
2233         New module 'fstat'.
2234         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
2235         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
2236         * lib/fchdir.c (rpl_fstat): Remove function.
2237         * m4/fstat.m4: New file.
2238         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
2239         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
2240         declared.
2241         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
2242         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
2243         * modules/fstat: New file.
2244         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
2245         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
2246         is set.
2247         * doc/posix-functions/fstat.texi: Mention the new module and the
2248         problem on MSVC.
2249         * NEWS: Mention the change.
2250         * modules/acl (Depends-on): Add fstat.
2251         * modules/chdir-safer (Depends-on): Likewise.
2252         * modules/chown (Depends-on): Likewise.
2253         * modules/copy-file (Depends-on): Likewise.
2254         * modules/fchdir (Depends-on): Likewise.
2255         * modules/fdopendir (Depends-on): Likewise.
2256         * modules/fopen (Depends-on): Likewise.
2257         * modules/fts (Depends-on): Likewise.
2258         * modules/getcwd (Depends-on): Likewise.
2259         * modules/isapipe (Depends-on): Likewise.
2260         * modules/linkat (Depends-on): Likewise.
2261         * modules/lseek (Depends-on): Likewise.
2262         * modules/mkdir-p (Depends-on): Likewise.
2263         * modules/open (Depends-on): Likewise.
2264         * modules/openat (Depends-on): Likewise.
2265         * modules/read-file (Depends-on): Likewise.
2266         * modules/renameat (Depends-on): Likewise.
2267         * modules/utimens (Depends-on): Likewise.
2268
2269 2011-09-25  Bruno Haible  <bruno@clisp.org>
2270
2271         linkat: Fix compilation on MSVC 9.
2272         * lib/linkat.c: Don't include <stdint.h>.
2273
2274 2011-09-25  Bruno Haible  <bruno@clisp.org>
2275
2276         fclose: Support for MSVC 9.
2277         * lib/fclose.c: Include msvc-inval.h.
2278         (fclose_nothrow): New function.
2279         (rpl_fclose): Use it.
2280         * modules/fclose (Depends-on): Add msvc-inval.
2281         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
2282
2283 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2284
2285         dup2: minor simplifications
2286         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
2287         that it's a performance win.
2288         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
2289         ! defined __CYGWIN__)" to "ifdef F_GETFL".
2290
2291 2011-09-24  Jim Meyering  <meyering@redhat.com>
2292
2293         test-futimens: avoid a warning from gcc -Wshadow
2294         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
2295         to avoid a shadowing warning.
2296
2297 2011-09-24  Bruno Haible  <bruno@clisp.org>
2298
2299         fdopen: Support for MSVC 9.
2300         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
2301         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
2302         * lib/fdopen.c: Include msvc-inval.h.
2303         (fdopen_nothrow): New function.
2304         (rpl_fdopen): Use it.
2305         * modules/fdopen (Depends-on): Add msvc-inval.
2306         * modules/fclose-tests (Depends-on): Add fdopen.
2307         * modules/fflush-tests (Depends-on): Likewise.
2308         * modules/fgetc-tests (Depends-on): Likewise.
2309         * modules/fputc-tests (Depends-on): Likewise.
2310         * modules/fread-tests (Depends-on): Likewise.
2311         * modules/freopen-tests (Depends-on): Likewise.
2312         * modules/fseeko-tests (Depends-on): Likewise.
2313         * modules/ftello-tests (Depends-on): Likewise.
2314         * modules/fwrite-tests  (Depends-on): Likewise.
2315         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
2316
2317 2011-09-24  Bruno Haible  <bruno@clisp.org>
2318
2319         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
2320         * modules/fgetc-tests (Depends-on): Add unistd.
2321         * modules/fputc-tests (Depends-on): Likewise.
2322         * modules/fread-tests (Depends-on): Likewise.
2323         * modules/fwrite-tests (Depends-on): Likewise.
2324
2325 2011-09-24  Bruno Haible  <bruno@clisp.org>
2326
2327         dup: Simplify autoconf test.
2328         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
2329         on gl_MSVC_INVAL's result.
2330
2331 2011-09-24  Bruno Haible  <bruno@clisp.org>
2332
2333         Tests for function fwrite().
2334         * modules/fwrite-tests: New file.
2335         * tests/test-fwrite.c: New file.
2336         * modules/stdio-tests (Depends-on): Add fwrite-tests.
2337
2338         Tests for function fread().
2339         * modules/fread-tests: New file.
2340         * tests/test-fread.c: New file.
2341         * modules/stdio-tests (Depends-on): Add fread-tests.
2342
2343         Activate fputc tests.
2344         * modules/stdio-tests (Depends-on): Add fputc-tests.
2345
2346         Enhance fgetc, fputc tests.
2347         * tests/test-fgetc.c (main): Also test the stream's error indicator.
2348         * tests/test-fputc.c (main): Likewise.
2349
2350 2011-09-24  Bruno Haible  <bruno@clisp.org>
2351
2352         write: Support for MSVC 9.
2353         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2354         is not 1.
2355         * lib/write.c (write_nothrow): New function.
2356         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
2357         not 1. Use write_nothrow.
2358         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
2359         invalid parameter handler.
2360         (gl_PREREQ_WRITE): New macro.
2361         * modules/write (Depends-on): Add msvc-inval.
2362         (configure.ac): Invoke gl_PREREQ_WRITE.
2363         * doc/posix-functions/write.texi: Mention the problem on MSVC.
2364
2365 2011-09-24  Bruno Haible  <bruno@clisp.org>
2366
2367         read: Fix last commit.
2368         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
2369
2370 2011-09-24  Bruno Haible  <bruno@clisp.org>
2371
2372         dup2: Fix last commit.
2373         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
2374         (rpl_dup2): Disable fcntl workaround on native Windows.
2375
2376         sigprocmask: Make code safer.
2377         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
2378         section that changes macro definitions for this compilation unit.
2379
2380 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2381
2382         dup2: clarify by coalescing Windows-specific material
2383         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
2384         "msvc-nothrow.h"' to the Windows-specific section, so that the
2385         Emacs source need not contain these include files.
2386         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
2387         Windows-specific fixes into this function rather than just the
2388         nothrow fix, as this shortens and clarifies the code.  Always
2389         define as a function, as that's a bit cleaner than having it be
2390         sometimes a function and sometimes a macro.
2391         (rpl_dup2): Move the Windows-specific stuff out of here and into
2392         ms_windows_dup2.  Don't protect the Haiku-related fix with
2393         "#if !defined __linux__", as the same code also works around
2394         a Linux kernel bug, and it doesn't add any system calls on any
2395         platform.  Add comment about FreeBSD 6.1.
2396
2397         sigprocmask: move #include directive
2398         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
2399         Windows-specific section, so that the Emacs source need not
2400         contain msvc-inval.h.
2401
2402 2011-09-23  Bruno Haible  <bruno@clisp.org>
2403
2404         read: Support for MSVC 9.
2405         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
2406         is not 1.
2407         * lib/read.c (read_nothrow): New function.
2408         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
2409         read_nothrow.
2410         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
2411         invalid parameter handler.
2412         (gl_PREREQ_READ): New macro.
2413         * modules/read (Depends-on): Add msvc-inval.
2414         (configure.ac): Invoke gl_PREREQ_READ.
2415         * doc/posix-functions/read.texi: Mention the problem on MSVC.
2416
2417 2011-09-23  Bruno Haible  <bruno@clisp.org>
2418
2419         close: Support for MSVC 9.
2420         * lib/close.c: Include <errno.h>, msvc-inval.h.
2421         (close_nothrow): New function.
2422         (rpl_close): Use it.
2423         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
2424         invalid parameter handler.
2425         * modules/close (Depends-on): Add msvc-inval.
2426         * modules/dup2-tests (Depends-on): Add close.
2427         * modules/dup3-tests (Depends-on): Likewise.
2428         * modules/fcntl-tests (Depends-on): Likewise.
2429         * modules/spawn-pipe-tests (Depends-on): Likewise.
2430         * modules/unistd-safer-tests (Depends-on): Likewise.
2431         * doc/posix-functions/close.texi: Mention the problem on MSVC.
2432
2433 2011-09-23  Bruno Haible  <bruno@clisp.org>
2434
2435         New module 'dup'.
2436         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
2437         Allow replacement.
2438         * lib/dup.c: New file.
2439         * lib/fchdir.c (rpl_dup): Remove function.
2440         * m4/dup.m4: New file.
2441         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
2442         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
2443         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
2444         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
2445         * modules/dup: New file.
2446         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
2447         'dup' module is in use.
2448         * modules/fdopendir (Depends-on): Add dup.
2449         * modules/fdutimensat-tests (Depends-on): Likewise.
2450         * modules/fts (Depends-on): Likewise.
2451         * modules/futimens-tests (Depends-on): Likewise.
2452         * modules/posix_spawnp-tests (Depends-on): Likewise.
2453         * modules/unistd-safer-tests (Depends-on): Likewise.
2454         * modules/utimens-tests (Depends-on): Likewise.
2455         * doc/posix-functions/dup.texi: Mention the new module and the problem
2456         on MSVC.
2457
2458 2011-09-23  Bruno Haible  <bruno@clisp.org>
2459
2460         getdtablesize: Support for MSVC 9.
2461         * lib/getdtablesize.c: Include msvc-inval.h.
2462         (_setmaxstdio_nothrow): New function.
2463         (_setmaxstdio): Redefine it.
2464         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
2465         * modules/getdtablesize (Depends-on): Add msvc-inval.
2466         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
2467
2468 2011-09-23  Bruno Haible  <bruno@clisp.org>
2469
2470         signal-h: Rename from signal.
2471         * modules/signal-h: Renamed from modules/signal.
2472         * modules/pthread_sigmask (Depends-on): Update.
2473         * modules/raise (Depends-on): Likewise.
2474         * modules/sigaction (Depends-on): Likewise.
2475         * modules/sigpipe (Depends-on): Likewise.
2476         * modules/sigprocmask (Depends-on): Likewise.
2477         * modules/sys_select (Depends-on): Likewise.
2478         * modules/signal-h-tests: Renamed from modules/signal-tests.
2479         (Files, Depends-on, Makefile.am): Update.
2480         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
2481         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
2482         (Files, Makefile.am): Update.
2483         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
2484         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
2485         * modules/signal: New placeholder file.
2486         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
2487         * doc/posix-headers/signal.texi: Update.
2488         * NEWS: Mention the change.
2489
2490 2011-09-23  Bruno Haible  <bruno@clisp.org>
2491
2492         sigprocmask: Avoid crashes through signal() on MSVC 9.
2493         * lib/sigprocmask.c: Include msvc-inval.h.
2494         (signal_nothrow): New function.
2495         (signal): Redefine it.
2496         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
2497         * modules/sigprocmask (Depends-on): Add msvc-inval.
2498         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
2499
2500 2011-09-23  Bruno Haible  <bruno@clisp.org>
2501
2502         Tests for module 'raise'.
2503         * modules/raise-tests: New file.
2504         * tests/test-raise.c: New file.
2505
2506         raise: Support for MSVC.
2507         * lib/signal.in.h (raise): New declaration.
2508         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
2509         for native Windows platforms.
2510         * m4/raise.m4: New file.
2511         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
2512         HAVE_RAISE, REPLACE_RAISE.
2513         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
2514         REPLACE_RAISE.
2515         * modules/raise (Status, Notice): Remove fields.
2516         (Files): Add m4/raise.m4.
2517         (Depends-on): Add signal, msvc-inval.
2518         (configure.ac): Use the common idioms.
2519         (Maintainer): Add me.
2520         * tests/test-signal-c++.cc: Check the signature of raise.
2521         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
2522
2523 2011-09-23  Bruno Haible  <bruno@clisp.org>
2524
2525         pipe2: Fix compilation on pre-C99 compilers.
2526         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
2527
2528 2011-09-23  Bruno Haible  <bruno@clisp.org>
2529
2530         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
2531         * lib/msvc-nothrow.h: New file.
2532         * lib/msvc-nothrow.c: New file.
2533         * m4/msvc-nothrow.m4: New file.
2534         * modules/msvc-nothrow: New file.
2535         * lib/dup2.c: Include msvc-nothrow.h.
2536         (rpl_dup2): No need to protect _get_osfhandle call here.
2537         * lib/accept4.c: Include msvc-nothrow.h.
2538         * lib/error.c: Likewise.
2539         * lib/fcntl.c: Likewise.
2540         * lib/lseek.c: Likewise.
2541         * lib/nonblocking.c: Likewise.
2542         * lib/poll.c: Likewise.
2543         * lib/read.c: Likewise.
2544         * lib/select.c: Likewise.
2545         * lib/sockets.h: Likewise.
2546         * lib/sockets.c: Likewise.
2547         * lib/stdio-read.c: Likewise.
2548         * lib/stdio-write.c: Likewise.
2549         * lib/write.c: Likewise.
2550         * lib/w32sock.h: Likewise.
2551         * lib/w32spawn.h: Likewise.
2552         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
2553         * lib/fsync.c: Likewise.
2554         * lib/isapipe.c: Likewise.
2555         * modules/dup2 (Depends-on): Add msvc-nothrow.
2556         * modules/accept4 (Depends-on): Likewise.
2557         * modules/error (Depends-on): Likewise.
2558         * modules/fcntl (Depends-on): Likewise.
2559         * modules/lseek (Depends-on): Likewise.
2560         * modules/nonblocking (Depends-on): Likewise.
2561         * modules/poll (Depends-on): Likewise.
2562         * modules/read (Depends-on): Likewise.
2563         * modules/select (Depends-on): Likewise.
2564         * modules/sockets (Depends-on): Likewise.
2565         * modules/sigpipe (Depends-on): Likewise.
2566         * modules/write (Depends-on): Likewise.
2567         * modules/accept (Depends-on): Likewise.
2568         * modules/bind (Depends-on): Likewise.
2569         * modules/connect (Depends-on): Likewise.
2570         * modules/gethostname (Depends-on): Likewise.
2571         * modules/getpeername (Depends-on): Likewise.
2572         * modules/getsockname (Depends-on): Likewise.
2573         * modules/getsockopt (Depends-on): Likewise.
2574         * modules/ioctl (Depends-on): Likewise.
2575         * modules/listen (Depends-on): Likewise.
2576         * modules/recv (Depends-on): Likewise.
2577         * modules/recvfrom (Depends-on): Likewise.
2578         * modules/send (Depends-on): Likewise.
2579         * modules/sendto (Depends-on): Likewise.
2580         * modules/setsockopt (Depends-on): Likewise.
2581         * modules/shutdown (Depends-on): Likewise.
2582         * modules/socket (Depends-on): Likewise.
2583         * modules/execute (Depends-on): Likewise.
2584         * modules/spawn-pipe (Depends-on): Likewise.
2585         * modules/flock (Depends-on): Likewise.
2586         * modules/fsync (Depends-on): Likewise.
2587         * modules/isapipe (Depends-on): Likewise.
2588         * tests/test-cloexec.c: Include msvc-nothrow.h.
2589         * tests/test-dup-safer.c: Likewise.
2590         * tests/test-dup2.c: Likewise.
2591         * tests/test-dup3.c: Likewise.
2592         * tests/test-fcntl.c: Likewise.
2593         * tests/test-pipe.c: Likewise.
2594         * tests/test-pipe2.c: Likewise.
2595         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
2596         * modules/unistd-safer-tests (Depends-on): Likewise.
2597         * modules/dup2-tests (Depends-on): Likewise.
2598         * modules/dup3-tests (Depends-on): Likewise.
2599         * modules/fcntl-tests (Depends-on): Likewise.
2600         * modules/pipe-posix-tests (Depends-on): Likewise.
2601         * modules/pipe2-tests (Depends-on): Likewise.
2602
2603 2011-09-23  Bruno Haible  <bruno@clisp.org>
2604
2605         dup2: Make code more maintainable.
2606         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
2607         (rpl_dup2): Use it.
2608         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
2609         * modules/dup2 (configure.ac): Invoke it.
2610         Reported by Paul Eggert.
2611
2612 2011-09-23  Bruno Haible  <bruno@clisp.org>
2613
2614         msvc-inval: Fix compilation error.
2615         * lib/msvc-inval.h: Include <excpt.h>.
2616
2617 2011-09-23  Bruno Haible  <bruno@clisp.org>
2618
2619         mkdir: Tweak for MSVC 9.
2620         * lib/sys_stat.in.h: Update comments.
2621         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
2622
2623         Tests for module 'chdir'.
2624         * modules/chdir-tests: New file.
2625         * tests/test-chdir.c: New file.
2626
2627         New module 'chdir'.
2628         * modules/chdir: New file.
2629         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
2630         (chdir): New declaration.
2631         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
2632         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
2633         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
2634         * tests/test-unistd-c++.cc: Check signature of chdir.
2635         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
2636         * modules/chdir-long (Depends-on): Add chdir.
2637         * modules/fchdir (Depends-on): Likewise.
2638         * modules/rename (Depends-on): Likewise.
2639         * modules/savewd (Depends-on): Likewise.
2640
2641         rmdir: Support for mingw, MSVC 9.
2642         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
2643         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
2644
2645         getcwd: Tweak for MSVC 9.
2646         * lib/unistd.in.h: Update comments.
2647         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
2648
2649 2011-09-22  Bruno Haible  <bruno@clisp.org>
2650
2651         strerror_r-posix: Avoid a link error on MSVC.
2652         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
2653         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
2654
2655 2011-09-22  Bruno Haible  <bruno@clisp.org>
2656
2657         select: Avoid link errors on MSVC.
2658         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
2659         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
2660         * modules/pselect (Link): Likewise.
2661         * NEWS: Mention the change.
2662         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
2663         test-select-stdin against $(LIB_SELECT).
2664         * modules/pselect-tests (Makefile.am): Link test-pselect against
2665         $(LIB_SELECT).
2666
2667 2011-09-22  Bruno Haible  <bruno@clisp.org>
2668
2669         select: Avoid compilation error on MSVC.
2670         * lib/select.c: Don't include <stdbool.h>.
2671
2672 2011-09-21  Bruno Haible  <bruno@clisp.org>
2673
2674         Consolidate all uses of PATH_MAX in *.m4 files.
2675         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
2676         macros.
2677         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
2678         and gl_PATHMAX_SNIPPET.
2679         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
2680         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
2681         * modules/chdir-long (Files): Add m4/pathmax.m4.
2682         * modules/getcwd (Files): Likewise.
2683
2684 2011-09-21  Bruno Haible  <bruno@clisp.org>
2685
2686         ftruncate: Un-deprecate, concentrate on Win32 support.
2687         * modules/ftruncate (Status, Notice): Remove sections.
2688         (Depends-on): Add largefile.
2689         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
2690         non-mingw platforms.
2691         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
2692         include <io.h>.
2693         * modules/perror-tests (Depends-on): Add ftruncate.
2694         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
2695         'ftruncate' module.
2696
2697 2011-09-21  Bruno Haible  <bruno@clisp.org>
2698
2699         Add dependencies to new dirent related modules.
2700         * modules/opendir (Depends-on): Add closedir.
2701         * modules/getcwd (Depends-on): Add opendir, closedir.
2702         * modules/dirent-safer-tests (Depends-on): Likewise.
2703         * modules/fdopendir-tests (Depends-on): Likewise.
2704         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
2705         * modules/renameat-tests (Depends-on): Likewise.
2706
2707 2011-09-21  Bruno Haible  <bruno@clisp.org>
2708
2709         opendir: Avoid compilation error on mingw.
2710         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
2711         * modules/opendir (Depends-on): Add unistd.
2712
2713 2011-09-21  Bruno Haible  <bruno@clisp.org>
2714
2715         ftruncate tests: Avoid a test failure on mingw.
2716         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
2717
2718 2011-09-21  Bruno Haible  <bruno@clisp.org>
2719
2720         select tests: Avoid test failures on OSF/1 5.1 and mingw.
2721         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
2722         native Windows.
2723
2724 2011-09-21  Bruno Haible  <bruno@clisp.org>
2725
2726         New module 'fdopen'.
2727         * lib/stdio.in.h (fdopen): New declaration.
2728         * lib/fdopen.c: New file.
2729         * m4/fdopen.m4: New file.
2730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
2731         REPLACE_FDOPEN.
2732         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
2733         REPLACE_FDOPEN.
2734         * modules/fdopen: New file.
2735         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
2736         * tests/test-stdio-c++.cc: Check signature of fdopen.
2737         * doc/posix-functions/fdopen.texi: Mention the new module.
2738
2739 2011-09-21  Bruno Haible  <bruno@clisp.org>
2740
2741         unlockpt tests: Avoid test failure on NetBSD 5.1.
2742         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
2743         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
2744
2745 2011-09-21  Bruno Haible  <bruno@clisp.org>
2746
2747         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
2748         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
2749         * tests/test-getlogin_r.c (main): Likewise.
2750
2751 2011-09-20  Bruno Haible  <bruno@clisp.org>
2752
2753         time tests: Don't require pid_t.
2754         * doc/posix-headers/time.texi: Revert last change.
2755         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
2756         * tests/test-time.c: Comment out the check for pid_t.
2757
2758 2011-09-20  Bruno Haible  <bruno@clisp.org>
2759
2760         fsync tests: Avoid a test failure on mingw.
2761         * tests/test-fsync.c (main): Allow a failure with EIO.
2762
2763 2011-09-20  Bruno Haible  <bruno@clisp.org>
2764
2765         euidaccess: Update comments.
2766         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
2767
2768 2011-09-20  Bruno Haible  <bruno@clisp.org>
2769
2770         Ensure EBADF returns for socket functions on mingw.
2771         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
2772         descriptor is invalid.
2773         * lib/bind.c (rpl_bind): Likewise.
2774         * lib/connect.c (rpl_connect): Likewise.
2775         * lib/getpeername.c (rpl_getpeername): Likewise.
2776         * lib/getsockname.c (rpl_getsockname): Likewise.
2777         * lib/getsockopt.c (rpl_getsockopt): Likewise.
2778         * lib/listen.c (rpl_listen): Likewise.
2779         * lib/recv.c (rpl_recv): Likewise.
2780         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2781         * lib/send.c (rpl_send): Likewise.
2782         * lib/sendto.c (rpl_sendto): Likewise.
2783         * lib/setsockopt.c (rpl_setsockopt): Likewise.
2784         * lib/shutdown.c (rpl_shutdown): Likewise.
2785
2786 2011-09-20  Bruno Haible  <bruno@clisp.org>
2787
2788         select tests: EBADF tests.
2789         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
2790         test_bad_fd): New functions.
2791         (test_function): Invoke also test_bad_fd.
2792
2793 2011-09-20  Bruno Haible  <bruno@clisp.org>
2794
2795         Tests for module 'posix_spawn_file_actions_addopen.
2796         * modules/posix_spawn_file_actions_addopen-tests: New file.
2797         * tests/test-posix_spawn_file_actions_addopen.c: New file.
2798
2799         Tests for module 'posix_spawn_file_actions_adddup2'.
2800         * modules/posix_spawn_file_actions_adddup2-tests: New file.
2801         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
2802
2803         Tests for module 'posix_spawn_file_actions_addclose'.
2804         * modules/posix_spawn_file_actions_addclose-tests: New file.
2805         * tests/test-posix_spawn_file_actions_addclose.c: New file.
2806
2807 2011-09-20  Bruno Haible  <bruno@clisp.org>
2808
2809         Tests for module 'unlockpt'.
2810         * modules/unlockpt-tests: New file.
2811         * tests/test-unlockpt.c: New file.
2812         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
2813
2814         Tests for module 'grantpt'.
2815         * modules/grantpt-tests: New file.
2816         * tests/test-grantpt.c: New file.
2817         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
2818
2819 2011-09-20  Bruno Haible  <bruno@clisp.org>
2820
2821         freopen tests: EBADF tests.
2822         * tests/test-freopen.c: Include errno.h, unistd.h.
2823         (main): Add tests for EBADF, commented out for the moment.
2824
2825         fclose tests: EBADF tests.
2826         * tests/test-fclose.c (main): Add tests for EBADF.
2827
2828         fflush tests: EBADF tests.
2829         * tests/test-fflush.c: Include errno.h, macros.h.
2830         (main): Add tests for EBADF.
2831
2832         ftello tests: EBADF tests.
2833         * tests/test-ftello4.sh: New file.
2834         * tests/test-ftello4.c: New file.
2835         * modules/ftello-tests (Files): Add them.
2836         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
2837
2838         fseeko tests: EBADF tests.
2839         * tests/test-fseeko4.sh: New file.
2840         * tests/test-fseeko4.c: New file.
2841         * modules/fseeko-tests (Files): Add them.
2842         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
2843
2844         Tests for function fputc().
2845         * modules/fputc-tests: New file.
2846         * tests/test-fputc.c: New file.
2847         * modules/stdio-tests (Depends-on): Add fputc-tests.
2848
2849         Tests for function fgetc().
2850         * modules/fgetc-tests: New file.
2851         * tests/test-fgetc.c: New file.
2852         * modules/stdio-tests (Depends-on): Add fgetc-tests.
2853
2854         Tests for function fdopen().
2855         * modules/fdopen-tests: New file.
2856         * tests/test-fdopen.c: New file.
2857         * modules/stdio-tests (Depends-on): Add fdopen-tests.
2858
2859         Tests for module 'vdprintf'.
2860         * modules/vdprintf-tests: New file.
2861         * tests/test-vdprintf.c: New file.
2862
2863         Tests for module 'dprintf'.
2864         * modules/dprintf-tests: New file.
2865         * tests/test-dprintf.c: New file.
2866
2867 2011-09-20  Bruno Haible  <bruno@clisp.org>
2868
2869         Tests for module 'ioctl'.
2870         * modules/ioctl-tests: New file.
2871         * tests/test-ioctl.c: New file.
2872
2873 2011-09-20  Bruno Haible  <bruno@clisp.org>
2874
2875         fcntl tests: EBADF tests.
2876         * tests/test-fcntl.c (main): Add more tests for EBADF.
2877
2878 2011-09-20  Bruno Haible  <bruno@clisp.org>
2879
2880         utimensat tests: EBADF tests.
2881         * tests/test-utimensat.c (main): Add tests for EBADF.
2882
2883         renameat tests: EBADF tests.
2884         * tests/test-renameat.c (main): Add tests for EBADF.
2885
2886         mkfifoat tests: EBADF tests.
2887         * tests/test-mkfifoat.c (main): Add tests for EBADF.
2888
2889         readlinkat tests: EBADF tests.
2890         * tests/test-readlinkat.c (main): Add tests for EBADF.
2891
2892         symlinkat tests: EBADF tests.
2893         * tests/test-symlinkat.c (main): Add tests for EBADF.
2894
2895         linkat tests: EBADF tests.
2896         * tests/test-linkat.c (main): Add tests for EBADF.
2897
2898         Tests for module 'faccessat'.
2899         * modules/faccessat-tests: New file.
2900         * tests/test-faccessat.c: New file.
2901
2902         fdopendir tests: EBADF tests.
2903         * tests/test-fdopendir.c (main): Add more tests for EBADF.
2904
2905         openat tests: EBADF tests.
2906         * tests/test-fchownat.c (main): Add tests for EBADF.
2907         * tests/test-fstatat.c (main): Likewise.
2908         * tests/test-mkdirat.c (main): Likewise.
2909         * tests/test-openat.c (main): Likewise.
2910         * tests/test-unlinkat.c (main): Likewise.
2911         * tests/test-fchmodat.c: New file.
2912         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
2913         (Makefile.am): Also run 'test-fchmodat'.
2914
2915 2011-09-20  Bruno Haible  <bruno@clisp.org>
2916
2917         utimens, futimens, fdutimensat tests: EBADF tests.
2918         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
2919
2920         Tests for function fstat().
2921         * modules/fstat-tests: New file.
2922         * tests/test-fstat.c: New file.
2923         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
2924
2925 2011-09-20  Bruno Haible  <bruno@clisp.org>
2926
2927         test-ttyname_r tests: EBADF tests.
2928         * tests/test-ttyname_r.c (main): Add tests for EBADF.
2929
2930         Tests for module 'isatty'.
2931         * modules/isatty-tests: New file.
2932         * tests/test-isatty.c: New file.
2933
2934         Tests for module 'write'.
2935         * modules/write-tests: New file.
2936         * tests/test-write.c: New file.
2937
2938         Tests for module 'read'.
2939         * modules/read-tests: New file.
2940         * tests/test-read.c: New file.
2941
2942         pwrite tests: EBADF tests.
2943         * tests/test-pwrite.c (main): Add tests for EBADF.
2944
2945         pread tests: EBADF tests.
2946         * tests/test-pread.c (main): Add tests for EBADF.
2947
2948         lseek tests: EBADF tests.
2949         * tests/test-lseek.c (main): Add more tests for EBADF.
2950
2951         Tests for module 'ftruncate'.
2952         * modules/ftruncate-tests: New file.
2953         * tests/test-ftruncate.sh: New file.
2954         * tests/test-ftruncate.c: New file.
2955
2956         fsync tests: EBADF tests.
2957         * tests/test-fsync.c (main): Add more tests for EBADF.
2958
2959         fdatasync tests: EBADF tests.
2960         * tests/test-fdatasync.c (main): Add more tests for EBADF.
2961
2962         Tests for module 'fchown'.
2963         * modules/fchown-tests: New file.
2964         * tests/test-fchown.c: New file.
2965
2966         Tests for module 'fchmod'.
2967         * modules/fchmod-tests: New file.
2968         * tests/test-fchmod.c: New file.
2969
2970         fchdir tests: EBADF tests.
2971         * tests/test-fchdir.c (main): Add more tests for EBADF.
2972
2973         dup2 tests: EBADF tests.
2974         * tests/test-dup2.c (main): Add more tests for EBADF.
2975
2976         Tests for module 'dup'.
2977         * modules/dup-tests: New file.
2978         * tests/test-dup.c: New file.
2979
2980         Tests for module 'close'.
2981         * modules/close-tests: New file.
2982         * tests/test-close.c: New file.
2983
2984 2011-09-20  Bruno Haible  <bruno@clisp.org>
2985
2986         Tests for module 'shutdown'.
2987         * modules/shutdown-tests: New file.
2988         * tests/test-shutdown.c: New file.
2989
2990         Tests for module 'setsockopt'.
2991         * modules/setsockopt-tests: New file.
2992         * tests/test-setsockopt.c: New file.
2993
2994         Tests for module 'sendto'.
2995         * modules/sendto-tests: New file.
2996         * tests/test-sendto.c: New file.
2997
2998         Tests for module 'send'.
2999         * modules/send-tests: New file.
3000         * tests/test-send.c: New file.
3001
3002         Tests for module 'recvfrom'.
3003         * modules/recvfrom-tests: New file.
3004         * tests/test-recvfrom.c: New file.
3005
3006         Tests for module 'recv'.
3007         * modules/recv-tests: New file.
3008         * tests/test-recv.c: New file.
3009
3010         Tests for module 'listen'.
3011         * modules/listen-tests: New file.
3012         * tests/test-listen.c: New file.
3013
3014         Tests for module 'getsockopt'.
3015         * modules/getsockopt-tests: New file.
3016         * tests/test-getsockopt.c: New file.
3017
3018         Tests for module 'getsockname'.
3019         * modules/getsockname-tests: New file.
3020         * tests/test-getsockname.c: New file.
3021
3022         Tests for module 'getpeername'.
3023         * modules/getpeername-tests: New file.
3024         * tests/test-getpeername.c: New file.
3025
3026         Tests for module 'connect'.
3027         * modules/connect-tests: New file.
3028         * tests/test-connect.c: New file.
3029
3030         Tests for module 'bind'.
3031         * modules/bind-tests: New file.
3032         * tests/test-bind.c: New file.
3033
3034         accept4 tests: Fix for native Windows.
3035         * tests/test-accept4.c: Include sockets.h.
3036         (main): Invoke gl_sockets_startup.
3037         * modules/accept4-tests (Depends-on): Add sockets.
3038
3039         accept tests: Fix for native Windows.
3040         * tests/test-accept.c: Include sockets.h.
3041         (main): Invoke gl_sockets_startup.
3042         * modules/accept-tests (Depends-on): Add sockets.
3043
3044 2011-09-19  Bruno Haible  <bruno@clisp.org>
3045
3046         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
3047         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
3048         do...while(0).
3049         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
3050         Suggested by Paul Eggert.
3051
3052 2011-09-19  Bruno Haible  <bruno@clisp.org>
3053
3054         sched: Ensure pid_t is defined.
3055         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
3056         not define pid_t.
3057         * lib/sched.in.h: Include <sys/types.h>.
3058         * doc/posix-headers/sched.texi: Mention the pid_t problem.
3059         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3060
3061 2011-09-19  Bruno Haible  <bruno@clisp.org>
3062
3063         msvc-inval: Ensure the entire expansion is a single statement.
3064         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
3065         of braces.
3066
3067 2011-09-19  Jim Meyering  <meyering@redhat.com>
3068
3069         tests: use printf, not echo in init.sh's warn_ function
3070         * tests/init.sh (warn_): Use printf, not echo.  The latter would
3071         misbehave when given strings containing a backslash or starting
3072         with e.g., -n.  James Youngman suggested setting IFS.
3073
3074 2011-09-19  Eric Blake  <eblake@redhat.com>
3075
3076         futimens: enhance test
3077         * tests/test-futimens.h (test_futimens): Also check for EBADF on
3078         closed non-negative fd.
3079
3080         date: accept 'hence' as opposite of 'ago'
3081         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
3082         * tests/test-parse-datetime.c (main): Enhance test.
3083         Suggested by Jesse Wilson.
3084
3085 2011-09-19  Jim Meyering  <meyering@redhat.com>
3086
3087         getcwd: don't fail in a deep directory on a system without openat
3088         Before this change, getcwd would fail when called from a directory
3089         of depth PATH_MAX / 3 or greater.  That was due to the fact that
3090         the non-openat implementation used "..", "../..", "../../..", etc.
3091         to access ancestor directories.  With too many, that string would
3092         be longer than PATH_MAX.
3093         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
3094         using gnulib's openat replacement.
3095         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
3096         we're using the replacement function.
3097
3098 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
3099
3100         maint.mk: avoid warnings from perl about missing files
3101         * top/maint.mk (def_sym_regex): Ignore files listed in
3102         $(gl_other_headers_) that do not exist, say because a project
3103         does not use a corresponding module.
3104
3105 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3106
3107         stat: use pathmax.h only if needed
3108         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
3109         This is better for Emacs, which does not have a mingw port and
3110         therefore can avoid the pathmax module.
3111
3112         utimens: remove dependency on dup2
3113         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
3114         to work around the Linux kernel bug.
3115         * modules/utimens (Depends-on): Remove dup2.
3116
3117 2011-09-18  Bruno Haible  <bruno@clisp.org>
3118
3119         inet_ntop, inet_pton: Look for it also in libresolv.
3120         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
3121         libnsl, search for it in libresolv.
3122         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3123         Needed on Solaris 7.
3124
3125 2011-09-18  Bruno Haible  <bruno@clisp.org>
3126
3127         accept, accept4 tests: Avoid link error on Solaris.
3128         * modules/accept-tests (Makefile.am): Link test-accept against
3129         $(LIBSOCKET).
3130         * modules/accept4-tests (Makefile.am): Link test-accept4 against
3131         $(LIBSOCKET).
3132
3133         accept4: Avoid link error on Solaris.
3134         * modules/accept4 (Link): New section.
3135
3136         socket functions: Avoid link errors on Solaris.
3137         * modules/accept (Depends-on): Add socketlib.
3138         (Link): New section.
3139         * modules/bind (Depends-on): Add socketlib.
3140         (Link): New section.
3141         * modules/connect (Depends-on): Add socketlib.
3142         (Link): New section.
3143         * modules/getpeername (Depends-on): Add socketlib.
3144         (Link): New section.
3145         * modules/getsockname (Depends-on): Add socketlib.
3146         (Link): New section.
3147         * modules/getsockopt (Depends-on): Add socketlib.
3148         (Link): New section.
3149         * modules/listen (Depends-on): Add socketlib.
3150         (Link): New section.
3151         * modules/recv (Depends-on): Add socketlib.
3152         (Link): New section.
3153         * modules/recvfrom (Depends-on): Add socketlib.
3154         (Link): New section.
3155         * modules/send (Depends-on): Add socketlib.
3156         (Link): New section.
3157         * modules/sendto (Depends-on): Add socketlib.
3158         (Link): New section.
3159         * modules/setsockopt (Depends-on): Add socketlib.
3160         (Link): New section.
3161         * modules/shutdown (Depends-on): Add socketlib.
3162         (Link): New section.
3163         * modules/socket (Depends-on): Add socketlib.
3164         (Link): New section.
3165
3166 2011-09-18  Bruno Haible  <bruno@clisp.org>
3167
3168         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
3169         * tests/test-ptsname.c (main): Terminate the test if it takes longer
3170         than 5 seconds.
3171         * modules/ptsname-tests (configure.ac): Test for alarm.
3172
3173 2011-09-18  Bruno Haible  <bruno@clisp.org>
3174
3175         posix_spawn_file_actions_add*: Fix module dependencies.
3176         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
3177         posix_spawn_file_actions_init.
3178         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
3179         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
3180
3181 2011-09-18  Bruno Haible  <bruno@clisp.org>
3182
3183         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
3184         * tests/test-rename.h (test_rename): Allow error code EEXIST.
3185         * tests/test-renameat.c (main): Likewise.
3186
3187 2011-09-18  Bruno Haible  <bruno@clisp.org>
3188
3189         Tests for module 'accept4'.
3190         * modules/accept4-tests: New file.
3191         * tests/test-accept4.c: New file.
3192
3193 2011-09-18  Bruno Haible  <bruno@clisp.org>
3194
3195         Tests for module 'accept'.
3196         * modules/accept-tests: New file.
3197         * tests/test-accept.c: New file.
3198
3199 2011-09-18  Bruno Haible  <bruno@clisp.org>
3200
3201         dup2: Support for MSVC.
3202         * lib/dup2.c: Include msvc-inval.h.
3203         (rpl_dup2): Handle invalid parameter notifications during dup2 and
3204         _get_osfhandle calls.
3205         * modules/dup2 (Depends-on): Add msvc-inval.
3206         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
3207
3208         New module 'msvc-inval'.
3209         * lib/msvc-inval.h: New file.
3210         * lib/msvc-inval.c: New file.
3211         * m4/msvc-inval.m4: New file.
3212         * modules/msvc-inval: New file.
3213
3214 2011-09-17  Bruno Haible  <bruno@clisp.org>
3215
3216         Tests for module 'pclose'.
3217         * modules/pclose-tests: New file.
3218
3219         New module 'pclose'.
3220         * lib/stdio.in.h (pclose): New declaration.
3221         * lib/pclose.c: New file.
3222         * m4/pclose.m4: New file.
3223         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
3224         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
3225         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
3226         * modules/pclose: New file.
3227         * modules/popen-tests (Depends-on): Add pclose.
3228         * modules/popen-safer-tests (Depends-on): Likewise.
3229         * doc/posix-functions/pclose.texi: Mention the new module.
3230
3231 2011-09-17  Bruno Haible  <bruno@clisp.org>
3232
3233         popen: Support for MSVC.
3234         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
3235         * lib/popen.c (popen): Provide alternate definition for native Windows.
3236         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
3237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
3238         * modules/popen (Depends-on, configure.ac): Update condition.
3239         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
3240         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
3241         fixed.
3242
3243 2011-09-17  Bruno Haible  <bruno@clisp.org>
3244
3245         isnanl, isnand, isnanf: Work around MSVC bug.
3246         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
3247
3248 2011-09-17  Bruno Haible  <bruno@clisp.org>
3249
3250         sys_socket tests: Fix recent mistake.
3251         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
3252
3253 2011-09-17  Bruno Haible  <bruno@clisp.org>
3254
3255         putenv: Support for MSVC.
3256         * modules/putenv (Depends-on): Add environ.
3257         * lib/putenv.c (environ): Disable declaration.
3258         * lib/unistd.in.h: Update comment.
3259
3260 2011-09-17  Bruno Haible  <bruno@clisp.org>
3261
3262         math: Avoid macro redefinition warnings on MSVC.
3263         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
3264         Undefine before redefining.
3265
3266 2011-09-17  Bruno Haible  <bruno@clisp.org>
3267
3268         doc: Mention functions which are declared as macros.
3269         * doc/posix-functions/*[fl].texi: Mention that some functions are
3270         defined as macros with arguments only.
3271
3272 2011-09-17  Bruno Haible  <bruno@clisp.org>
3273
3274         Add dependencies to new dirent related modules.
3275         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
3276         * modules/fts (Depends-on): Likewise.
3277         * modules/glob (Depends-on): Likewise.
3278         * modules/savedir (Depends-on): Likewise.
3279         * modules/scandir (Depends-on): Likewise.
3280         * modules/dirent-safer (Depends-on): Add opendir, closedir.
3281         * modules/fdopendir (Depends-on): Add opendir.
3282
3283 2011-09-17  Bruno Haible  <bruno@clisp.org>
3284
3285         inet_pton: Support for MSVC on Windows Vista or newer.
3286         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
3287         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
3288         HAVE_DECL_INET_PTON is defined.
3289         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3290         On platforms with <winsock2.h>, test whether inet_pton is declared in
3291         <ws2tcpip.h>. If so, arrange to replace it.
3292         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3293         REPLACE_INET_PTON.
3294         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
3295         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
3296         (Depends-on, configure.ac): Update condition.
3297         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
3298
3299 2011-09-17  Bruno Haible  <bruno@clisp.org>
3300
3301         inet_ntop: Support for MSVC on Windows Vista or newer.
3302         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
3303         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
3304         HAVE_DECL_INET_NTOP is defined.
3305         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
3306         On platforms with <winsock2.h>, test whether inet_ntop is declared in
3307         <ws2tcpip.h>. If so, arrange to replace it.
3308         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
3309         REPLACE_INET_NTOP.
3310         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
3311         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
3312         (Depends-on, configure.ac): Update condition.
3313         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
3314
3315 2011-09-16  Eric Blake  <eblake@redhat.com>
3316
3317         test-fsync: yet another enhancement
3318         * tests/test-fsync.c (main): Also test behavior on read-only text
3319         file.
3320
3321 2011-09-16  Bruno Haible  <bruno@clisp.org>
3322
3323         Enhance fsync, fdatasync tests.
3324         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
3325         * tests/test-fdatasync.c (main): Likewise.
3326
3327 2011-09-16  Bruno Haible  <bruno@clisp.org>
3328
3329         Support for MSVC compiler: Ensure mode_t gets defined.
3330         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
3331         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3332         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3333         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
3334         * tests/test-fcntl-h.c: Check that mode_t is defined.
3335         * tests/test-sys_stat.c: Likewise.
3336         * tests/test-sys_types.c: Likewise.
3337         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
3338         * doc/posix-headers/sys_stat.texi: Likewise.
3339         * doc/posix-headers/sys_types.texi: Likewise.
3340
3341 2011-09-16  Bruno Haible  <bruno@clisp.org>
3342
3343         sys_stat: Support for MSVC.
3344         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
3345         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
3346         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
3347         MSVC.
3348
3349 2011-09-16  Bruno Haible  <bruno@clisp.org>
3350
3351         Support for MSVC compiler: Ensure off_t gets defined.
3352         * lib/unistd.in.h: Include <sys/types.h>.
3353         * tests/test-fcntl-h.c: Check that off_t is defined.
3354         * tests/test-sys_stat.c: Likewise.
3355         * tests/test-sys_types.c: Likewise.
3356
3357 2011-09-16  Eric Blake  <eblake@redhat.com>
3358
3359         fdatasync: port to Solaris
3360         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
3361         * modules/fdatasync (Link): Document it.
3362         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
3363
3364         fdatasync: port to MacOS X 10.7
3365         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
3366         declared.
3367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
3368         * modules/unistd (Makefile.am): Substitute it.
3369         * lib/unistd.in.h (fdatasync): Declare on MacOS.
3370         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
3371
3372         fdatasync: minor improvements
3373         * modules/fdatasync (Depends-on): Add condition for fsync.
3374         * lib/fdatasync.c (fdatasync): Add comment.
3375         * tests/test-unistd-c++.cc: Test fdatasync.
3376
3377         unistd: update refs to newer POSIX
3378         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
3379         Suggested by Bruno Haible.
3380
3381         fdatasync: new module
3382         * modules/fsync (Description): Document difference to fdatasync.
3383         * modules/fdatasync: New module.
3384         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
3385         * lib/fdatasync.c (fdatasync): Likewise.
3386         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
3387         defaults.
3388         * modules/unistd (Makefile.am): Set witnesses.
3389         * lib/unistd.in.h (fdatasync): Declare.
3390         * MODULES.html.sh: Document it.
3391         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
3392         * modules/fdatasync-tests: New test.
3393         * tests/test-fdatasync.c: Likewise.
3394
3395 2011-09-16  Eric Blake  <eblake@redhat.com>
3396
3397         test-fsync: enhance tests
3398         * modules/fsync-tests (Depends-on): Add errno, for mingw.
3399         * tests/test-fsync.c (main): Enhance test.
3400
3401 2011-09-15  Bruno Haible  <bruno@clisp.org>
3402
3403         Support for MSVC compiler: Ensure ssize_t gets defined.
3404         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
3405         * doc/posix-headers/stdio.texi: Likewise.
3406         * modules/stdio (Depends-on): Add ssize_t.
3407         * modules/sys_socket (Depends-on): Likewise.
3408         * modules/sys_types (Depends-on): Likewise.
3409         * modules/sys_uio (Depends-on): Likewise.
3410         * modules/unistd (Depends-on): Likewise.
3411         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
3412         * tests/test-sys_types.c: Check that ssize_t is defined.
3413
3414 2011-09-14  Bruno Haible  <bruno@clisp.org>
3415
3416         Avoid using #, the m4 comment starter character, near brackets.
3417         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
3418         delimiter character in sed expressions.
3419         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3420         Suggested by Eric Blake.
3421
3422         Properly quote AC_CHECK_DECLS' 4th argument.
3423         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
3424         argument.
3425         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
3426         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3427         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3428         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3429         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3430         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
3431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
3432         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
3433         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
3434         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
3435         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
3436         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3437         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3438         * m4/isinf.m4 (gl_ISINF): Likewise.
3439         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3440         * m4/readutmp.m4 (gl_READUTMP): Likewise.
3441         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3442         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3443         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3444         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
3445         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3446         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3447         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
3448         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3449         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3450         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
3452         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3453         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3454         Reported by Eric Blake.
3455
3456         Properly quote AC_CHECK_DECL's 4th argument.
3457         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
3458         argument.
3459         * m4/argp.m4 (gl_ARGP): Likewise.
3460         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3461         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3462         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3463         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3464         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
3465         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3467         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3468         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
3469         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3470         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3471         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3472         Reported by Eric Blake.
3473
3474 2011-09-14  Eric Blake  <eblake@redhat.com>
3475
3476         opendir: avoid compile warning
3477         * lib/opendir.c (includes): Always include errno.h.
3478         Reported by Tatsuro MATSUOKA.
3479
3480 2011-09-14  Jim Meyering  <meyering@redhat.com>
3481
3482         maint.mk: sc_tight_scope: propagate failure from sub-make
3483         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
3484         Reported by Martin von Gagern.
3485
3486 2011-09-13  Bruno Haible  <bruno@clisp.org>
3487
3488         tempname: Support for MSVC.
3489         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
3490         MSVC.
3491         * modules/tempname (Depends-on): Add fcntl-h.
3492
3493 2011-09-13  Bruno Haible  <bruno@clisp.org>
3494
3495         sys_time: Support for MSVC.
3496         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
3497         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
3498         include <winsock2.h>.
3499         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
3500         function declarations that collide with POSIX.
3501         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
3502         (Makefile.am): Substitute HAVE_WINSOCK2_H.
3503
3504 2011-09-13  Bruno Haible  <bruno@clisp.org>
3505
3506         stat: Support for MSVC.
3507         * lib/stat.c: Include pathmax.h.
3508         * modules/stat (Depends-on): Add pathmax.
3509
3510         pathmax: Support for native Windows.
3511         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
3512
3513 2011-09-12  Bruno Haible  <bruno@clisp.org>
3514
3515         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
3516         * lib/dirent.in.h (struct dirent): New type.
3517         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
3518         DT_WHT): New macros.
3519         (DIR): New type.
3520         (opendir, closedir): Declare only if the module 'opendir' is enabled.
3521         (readdir, rewinddir): New declarations.
3522         * lib/dirent-private.h: New file.
3523         * lib/opendir.c: New file.
3524         * lib/readdir.c: New file.
3525         * lib/rewinddir.c: New file.
3526         * lib/closedir.c: New file.
3527         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
3528         * m4/opendir.m4: New file.
3529         * m4/readdir.m4: New file.
3530         * m4/rewinddir.m4: New file.
3531         * m4/closedir.m4: New file.
3532         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
3533         REPLACE_CLOSEDIR here.
3534         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
3535         readdir, rewinddir are declared.
3536         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
3537         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
3538         HAVE_REWINDDIR, HAVE_CLOSEDIR.
3539         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
3540         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
3541         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
3542         * modules/opendir: New file.
3543         * modules/readdir: New file.
3544         * modules/rewinddir: New file.
3545         * modules/closedir: New file.
3546         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
3547         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
3548         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
3549         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
3550         * NEWS: Mention the 'fchdir' change.
3551
3552 2011-09-11  Bruno Haible  <bruno@clisp.org>
3553
3554         asm-underscore.m4: Support for MSVC.
3555         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
3556         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
3557
3558 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
3559
3560         Doc about crypt functions.
3561         * doc/posix-functions/crypt.texi: Expand range of glibc versions
3562         needing for _GNU_SOURCE to get crypt.
3563         * doc/posix-functions/encrypt.texi: Likewise.
3564         * doc/posix-functions/setkey.texi: Likewise.
3565
3566 2011-09-11  Bruno Haible  <bruno@clisp.org>
3567
3568         doc: Update regarding MSVC 9.
3569         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
3570         tested".
3571         * doc/posix-functions/*.texi: Update with info about MSVC 9.
3572         * doc/posix-headers/*.texi: Likewise.
3573         * doc/pastposix-functions/*.texi: Likewise.
3574         * doc/glibc-functions/*.texi: Likewise.
3575         * doc/glibc-headers/*.texi: Likewise.
3576
3577 2011-09-11  Bruno Haible  <bruno@clisp.org>
3578
3579         unistd et al.: Don't assume <unistd.h> exists.
3580         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
3581         does not exist.
3582         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
3583         exist. But include <stdlib.h>.
3584         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
3585         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
3586         symlink() does not exist.
3587         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
3588         include <io.h> instead.
3589         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
3590         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
3591         include <direct.h> instead.
3592         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3593         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3594         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
3595         <io.h> instead.
3596         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
3597         correctly if the system does not have hard links.
3598         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
3599         <direct.h> instead.
3600         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
3601         it when looking for function declarations.
3602         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
3603         <direct.h> and <io.h> instead.
3604         * doc/posix-headers/unistd.texi: More details about MSVC problem.
3605
3606 2011-09-11  Bruno Haible  <bruno@clisp.org>
3607
3608         strcase: Support for MSVC.
3609         * modules/strcase (Status, Notice): Remove obsoletion mark.
3610         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
3611         * doc/posix-functions/strncasecmp.texi: Likewise.
3612
3613         strings: Don't assume <strings.h> exists.
3614         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
3615         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
3616         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
3617         * doc/posix-headers/strings.texi: Mention the MSVC problem.
3618
3619 2011-09-11  Bruno Haible  <bruno@clisp.org>
3620
3621         dirent: Don't assume <dirent.h> exists.
3622         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
3623         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
3624         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
3625         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
3626
3627 2011-09-11  Bruno Haible  <bruno@clisp.org>
3628
3629         Fix wint_t on MSVC.
3630         * lib/wchar.in.h (wint_t): On MSVC, override it.
3631         * lib/wctype.in.h (wint_t): Likewise.
3632         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
3633         MSVC.
3634         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
3635         * doc/posix-headers/wctype.texi: Likewise.
3636
3637 2011-09-11  Bruno Haible  <bruno@clisp.org>
3638
3639         sys_types: Fix typo.
3640         * lib/sys_types.in.h: Fix typo in comment.
3641         Reported by Paul Eggert.
3642
3643         Support for MSVC compiler: Ensure size_t gets defined.
3644         * modules/strings (Depends-on): Add 'sys_types'.
3645         * modules/sys_uio (Depends-on): Likewise.
3646         * lib/sys_uio.in.h: Update comment.
3647
3648         C++ tests for module 'sys_types'.
3649         * modules/sys_types-c++-tests: New file.
3650         * tests/test-sys_types-c++.cc: New file.
3651
3652         Tests for module 'sys_types'.
3653         * modules/sys_types-tests: New file.
3654         * tests/test-sys_types.c: New file.
3655
3656         New module 'sys_types'.
3657         * lib/sys_types.in.h: New file.
3658         * m4/sys_types_h.m4: New file.
3659         * modules/sys_types: New file.
3660         * doc/posix-headers/sys_types.texi: Mention the new module and the
3661         size_t problem on MSVC 9.
3662
3663 2011-09-11  Bruno Haible  <bruno@clisp.org>
3664
3665         Support for MSVC compiler: Avoid division by a literal 0.
3666         * lib/math.in.h (NAN): Define through a function call also on MSVC.
3667         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
3668         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
3669         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
3670         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
3671         * tests/infinity.h: New file.
3672         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
3673         on MSVC.
3674         * tests/test-ceilf1.c: Include infinity.h.
3675         (main): Use Infinityf.
3676         * tests/test-ceil1.c: Include infinity.h.
3677         (main): Use Infinityd.
3678         * tests/test-ceill.c: Include infinity.h.
3679         (main): Use Infinityl.
3680         * tests/test-dprintf-posix.c: Include infinity.h.
3681         (test_function): Use Infinityd.
3682         * tests/test-floorf1.c: Include infinity.h.
3683         (main): Use Infinityf.
3684         * tests/test-floor1.c: Include infinity.h.
3685         (main): Use Infinityd.
3686         * tests/test-floorl.c: Include infinity.h.
3687         (main): Use Infinityl.
3688         * tests/test-fprintf-posix.c: Include infinity.h.
3689         (test_function): Use Infinityd.
3690         * tests/test-frexp.c: Include infinity.h.
3691         (main): Use Infinityd.
3692         * tests/test-frexpl.c: Include infinity.h.
3693         (main): Use Infinityl.
3694         * tests/test-isfinite.c: Include infinity.h.
3695         (test_isfinitef): Use Infinityf.
3696         (test_isfinited): Use Infinityd.
3697         (test_isfinitel): Use Infinityl.
3698         * tests/test-isinf.c: Include infinity.h.
3699         (test_isinff): Use Infinityf.
3700         (test_isinfd): Use Infinityd.
3701         (test_isinfl): Use Infinityl.
3702         * tests/test-isnan.c: Include infinity.h.
3703         (test_float): Use Infinityf.
3704         (test_double): Use Infinityd.
3705         (test_long_double): Use Infinityl.
3706         * tests/test-isnanf.h: Include infinity.h.
3707         (main): Use Infinityf.
3708         * tests/test-isnand.h: Include infinity.h.
3709         (main): Use Infinityd.
3710         * tests/test-isnanl.h: Include infinity.h.
3711         (main): Use Infinityl.
3712         * tests/test-ldexpl.c: Include infinity.h.
3713         (main): Use Infinityl.
3714         * tests/test-printf-posix.h: Include infinity.h.
3715         (test_function): Use Infinityd.
3716         * tests/test-roundf1.c: Include infinity.h.
3717         (main): Use Infinityf.
3718         * tests/test-round1.c: Include infinity.h.
3719         (main): Use Infinityd.
3720         * tests/test-roundl.c: Include infinity.h.
3721         (main): Use Infinityl.
3722         * tests/test-signbit.c: Include infinity.h.
3723         (test_signbitf): Use Infinityf.
3724         (test_signbitd): Use Infinityd.
3725         (test_signbitl): Use Infinityl.
3726         * tests/test-snprintf-posix.h: Include infinity.h.
3727         (test_function): Use Infinityd, Infinityl.
3728         * tests/test-sprintf-posix.h: Include infinity.h.
3729         (test_function): Use Infinityd, Infinityl.
3730         * tests/test-truncf1.c: Include infinity.h.
3731         (main): Use Infinityf.
3732         * tests/test-trunc1.c: Include infinity.h.
3733         (main): Use Infinityd.
3734         * tests/test-truncl.c: Include infinity.h.
3735         (main): Use Infinityl.
3736         * tests/test-vasnprintf-posix.c: Include infinity.h.
3737         (test_function): Use Infinityd, Infinityl.
3738         * tests/test-vasprintf-posix.c: Include infinity.h.
3739         (test_function): Use Infinityd, Infinityl.
3740         * modules/ceilf-tests (Files): Add tests/infinity.h.
3741         * modules/ceil-tests (Files): Likewise.
3742         * modules/ceill-tests (Files): Likewise.
3743         * modules/dprintf-posix-tests (Files): Likewise.
3744         * modules/floorf-tests (Files): Likewise.
3745         * modules/floor-tests (Files): Likewise.
3746         * modules/floorl-tests (Files): Likewise.
3747         * modules/fprintf-posix-tests (Files): Likewise.
3748         * modules/frexp-tests (Files): Likewise.
3749         * modules/frexp-nolibm-tests (Files): Likewise.
3750         * modules/frexpl-tests (Files): Likewise.
3751         * modules/frexpl-nolibm-tests (Files): Likewise.
3752         * modules/isfinite-tests (Files): Likewise.
3753         * modules/isinf-tests (Files): Likewise.
3754         * modules/isnan-tests (Files): Likewise.
3755         * modules/isnanf-tests (Files): Likewise.
3756         * modules/isnanf-nolibm-tests (Files): Likewise.
3757         * modules/isnand-tests (Files): Likewise.
3758         * modules/isnand-nolibm-tests (Files): Likewise.
3759         * modules/isnanl-tests (Files): Likewise.
3760         * modules/isnanl-nolibm-tests (Files): Likewise.
3761         * modules/ldexpl-tests (Files): Likewise.
3762         * modules/printf-posix-tests (Files): Likewise.
3763         * modules/roundf-tests (Files): Likewise.
3764         * modules/round-tests (Files): Likewise.
3765         * modules/roundl-tests (Files): Likewise.
3766         * modules/signbit-tests (Files): Likewise.
3767         * modules/snprintf-posix-tests (Files): Likewise.
3768         * modules/sprintf-posix-tests (Files): Likewise.
3769         * modules/truncf-tests (Files): Likewise.
3770         * modules/trunc-tests (Files): Likewise.
3771         * modules/truncl-tests (Files): Likewise.
3772         * modules/vasnprintf-posix-tests (Files): Likewise.
3773         * modules/vasprintf-posix-tests (Files): Likewise.
3774         * modules/vdprintf-posix-tests (Files): Likewise.
3775         * modules/vfprintf-posix-tests (Files): Likewise.
3776         * modules/vprintf-posix-tests (Files): Likewise.
3777         * modules/vsnprintf-posix-tests (Files): Likewise.
3778         * modules/vsprintf-posix-tests (Files): Likewise.
3779         * modules/xprintf-posix-tests (Files): Likewise.
3780
3781 2011-09-11  Bruno Haible  <bruno@clisp.org>
3782
3783         Ensure pid_t gets defined.
3784         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
3785         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3786         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3787         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3788         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
3789         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3790         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
3791         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3792         * tests/test-fcntl-h.c: Check that pid_t is defined.
3793         * tests/test-sched.c: Likewise.
3794         * tests/test-termios.c: Likewise.
3795         * tests/test-time.c: Likewise.
3796         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
3797         * doc/posix-headers/signal.texi: Likewise.
3798         * doc/posix-headers/sys_types.texi: Likewise.
3799         * doc/posix-headers/time.texi: Likewise.
3800
3801 2011-09-11  Bruno Haible  <bruno@clisp.org>
3802
3803         acl: Fix compilation on Solaris 10 (older version).
3804         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
3805         of ACE_EVERYONE.
3806         * lib/set-mode-acl.c (qset_acl): Likewise.
3807         Reported by Christian Jullien <eligis@orange.fr>.
3808
3809 2011-09-10  Bruno Haible  <bruno@clisp.org>
3810
3811         iconv, unsetenv: Add support for MSVC compiler.
3812         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
3813         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
3814
3815 2011-09-10  Bruno Haible  <bruno@clisp.org>
3816
3817         *printf: Add support for MSVC compiler.
3818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
3819         handles the exception caused by the %n directive. When cross-compiling,
3820         guess no on native Windows.
3821         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3822         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
3823         emulate it through vsnprintf.
3824         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
3825         * doc/posix-functions/dprintf.texi: Update documentation regarding
3826         MSVC 9.
3827         * doc/posix-functions/fprintf.texi: Likewise.
3828         * doc/posix-functions/printf.texi: Likewise.
3829         * doc/posix-functions/snprintf.texi: Likewise.
3830         * doc/posix-functions/sprintf.texi: Likewise.
3831         * doc/posix-functions/swprintf.texi: Likewise.
3832         * doc/posix-functions/vdprintf.texi: Likewise.
3833         * doc/posix-functions/vfprintf.texi: Likewise.
3834         * doc/posix-functions/vprintf.texi: Likewise.
3835         * doc/posix-functions/vsnprintf.texi: Likewise.
3836         * doc/posix-functions/vsprintf.texi: Likewise.
3837         * doc/glibc-functions/asprintf.texi: Likewise.
3838         * doc/glibc-functions/obstack_printf.texi: Likewise.
3839         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3840         * doc/glibc-functions/vasprintf.texi: Likewise.
3841
3842 2011-09-10  Bruno Haible  <bruno@clisp.org>
3843
3844         nocrash: Add support for native Windows.
3845         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
3846
3847 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
3848             Bruno Haible  <bruno@clisp.org>
3849
3850         absolute-header, include-next: Add support for MSVC compiler.
3851         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
3852         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
3853         directory separator in #line directives.
3854         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
3855         recognize also backslash as directory separator in #line directives.
3856
3857 2011-09-08  Jim Meyering  <meyering@redhat.com>
3858
3859         maint.mk: mark the post-release commit log with "maint: " prefix
3860         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
3861         one-line commit-log summary.
3862
3863 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
3864             Bruno Haible  <bruno@clisp.org>
3865
3866         Doc about crypt functions.
3867         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
3868         systems.
3869         * doc/posix-functions/encrypt.texi: Likewise.
3870         * doc/posix-functions/setkey.texi: Likewise.
3871
3872 2011-09-08  Simon Josefsson  <simon@josefsson.org>
3873
3874         * lib/gc.h: Fix copyright header.
3875
3876 2011-09-07  Bruno Haible  <bruno@clisp.org>
3877
3878         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
3879         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
3880         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
3881
3882 2011-09-07  Bruno Haible  <bruno@clisp.org>
3883
3884         openat: Work around compilation error with OSF/1 5.1 DTK cc.
3885         * lib/fopen.c: Use different syntax for include of <stdio.h>.
3886         * lib/freopen.c: Likewise.
3887         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
3888         * lib/lstat.c: Likewise.
3889         * lib/stat.c: Likewise.
3890         * lib/open.c: Use different syntax for include of <fcntl.h>.
3891         * lib/openat.c: Include fcntl.h again, explicitly.
3892
3893 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
3894
3895         parse-datetime: document the newly accepted format
3896         * doc/parse-datetime.texi (Combined date and time of day items):
3897         New section.
3898
3899 2011-09-06  Bruno Haible  <bruno@clisp.org>
3900
3901         acl: Fix a test failure on newer Solaris 10 with ZFS.
3902         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
3903         ENOSYS as no ACL.
3904         Reported by Jim Meyering.
3905
3906 2011-09-06  Bruno Haible  <bruno@clisp.org>
3907
3908         acl: Update for AIX >= 5.3 with NFS.
3909         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
3910         ENOSYS as no ACL.
3911
3912         acl: Fix a test failure on AIX >= 5.3 with NFS.
3913         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
3914         as no ACL.
3915
3916 2011-09-06  Bruno Haible  <bruno@clisp.org>
3917
3918         acl: Fix a test failure on IRIX 6.5 with NFS.
3919         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
3920         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
3921         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
3922         * lib/copy-acl.c (qcopy_acl): Likewise.
3923
3924 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3925
3926         openat: port to AIX 7.1 with large files
3927         AIX 7.1 does a "#define openat open64at" if large files are in use,
3928         so we can't simply #undef openat.  Use the orig_openat trick (similar
3929         to orig_open in lib/open.c) to work around the problem.  Problem
3930         reported by Kevin Brott for GNU tar, in the thread containing
3931         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
3932         * lib/openat.c (__need_system_fcntl_h): Define first.
3933         Include <fcntl.h> and <sys/types.h> before undefining.
3934         (orig_openat) [HAVE_OPENAT]: New inline function.
3935         (openat) [HAVE_OPENAT]: Do not undef.
3936         (rpl_openat): Use orig_openat, not openat.
3937
3938 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3939             Bruno Haible  <bruno@clisp.org>
3940
3941         acl: Avoid errors on NonStop Kernel.
3942         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
3943         ENOTSUP errors.
3944
3945 2011-09-05  Bruno Haible  <bruno@clisp.org>
3946
3947         acl: Clean up Solaris code.
3948         * lib/acl-internal.h: Remove no-op #if.
3949         * lib/file-has-acl.c: Likewise.
3950         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
3951         * lib/copy-acl.c (qcopy_acl): Likewise.
3952
3953 2011-09-05  Bruno Haible  <bruno@clisp.org>
3954
3955         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
3956         binaries built on the original Solaris 10.
3957         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
3958         trivial.
3959
3960 2011-09-05  Bruno Haible  <bruno@clisp.org>
3961
3962         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3963         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
3964         10.
3965         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
3966         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
3967         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
3968         instead of acl_get, facl_get, acl_set, facl_set.
3969
3970 2011-09-05  Bruno Haible  <bruno@clisp.org>
3971
3972         copy-file: Try unit tests on more file systems.
3973         * tests/test-copy-file-1.sh: New file.
3974         * tests/test-copy-file-2.sh: New file.
3975         * modules/copy-file-tests (Files): Add them.
3976         (Makefile.am): Add them to TESTS.
3977
3978         acl: Try unit tests on more file systems.
3979         * tests/test-file-has-acl-1.sh: New file.
3980         * tests/test-file-has-acl-2.sh: New file.
3981         * tests/test-set-mode-acl-1.sh: New file.
3982         * tests/test-set-mode-acl-2.sh: New file.
3983         * tests/test-copy-acl-1.sh: New file.
3984         * tests/test-copy-acl-2.sh: New file.
3985         * modules/acl-tests (Files): Add them.
3986         (Makefile.am): Add them to TESTS.
3987
3988 2011-09-04  Bruno Haible  <bruno@clisp.org>
3989
3990         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
3991         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
3992         10.
3993         (OLD_ALLOW, OLD_DENY): New macros.
3994         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
3995         ACE_ACCESS_ALLOWED_ACE_TYPE.
3996         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
3997         ACE_ACCESS_DENIED_ACE_TYPE.
3998         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
3999         (NEW_ACE_EXECUTE): Fix value.
4000         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
4001         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
4002         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
4003         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
4004         NEW_ACE_SYNCHRONIZE): New macros.
4005         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
4006         instead of acl_fromtext, acl_set, facl_set.
4007         Fixes a coreutils/tests/cp/perm failure.
4008
4009 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         openat: test for fstatat (..., 0) bug
4012         Further testing with tar suggests that fstatat (..., 0)
4013         does not work in general, on AIX 7.1; see
4014         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
4015         So, give up entirely on AIX 7.1's fstatat, and fall back on our
4016         replacement fstatat (which is what older AIX releases were using
4017         anyway).
4018         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
4019         use is now changed to orig_fstatat.  This was probably the right
4020         thing to do anyway.
4021         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
4022         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
4023         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
4024         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
4025         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
4026         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
4027         if the bug is found.
4028
4029         openat: test for fstatat (AT_FDCWD, ..., 0) bug
4030         This tests for another fstatat bug on AIX 7.1:
4031         fstatat (AT_FDCWD, ..., 0) does not work.  See
4032         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
4033         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
4034         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
4035         (rpl_fstatat): Adjust so that it works around either (or both)
4036         bugs if present.
4037         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
4038
4039 2011-09-03  Karl Berry  <karl@gnu.org>
4040
4041         * doc/regex.texi (Character Class Operators): Avoid literal ":"
4042         in index entries.
4043
4044 2011-09-02  Bruno Haible  <bruno@clisp.org>
4045
4046         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
4047         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
4048         values of AR, ARFLAGS, RANLIB.
4049         Reported by John W. Eaton <jwe@gnu.org> for Octave.
4050
4051 2011-09-02  Bruno Haible  <bruno@clisp.org>
4052
4053         Find 'ar' program that fits with --host argument.
4054         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
4055
4056 2011-09-02  Bruno Haible  <bruno@clisp.org>
4057
4058         tests: init.sh: Support any non-GNU diff.
4059         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
4060         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
4061         Solaris 8.
4062
4063 2011-09-02  Bruno Haible  <bruno@clisp.org>
4064
4065         tests: init.sh: work also with any non-GNU diff that supports -u
4066         * tests/init.sh: Relax check for diff -u support.
4067         Rather than checking for GNU diff via --version, simply check
4068         for support for -u itself.  Useful at least on OpenBSD 4.9,
4069         AIX 7.1, IRIX 6.5, and Solaris 10.
4070
4071 2011-09-01  Bruno Haible  <bruno@clisp.org>
4072
4073         strtoimax, strtoumax: Document problem on HP-UX 11.
4074         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
4075         * doc/posix-functions/strtoumax.texi: Likewise.
4076
4077 2011-09-01  Bruno Haible  <bruno@clisp.org>
4078
4079         strtoumax: Avoid link error on OSF/1 with DTK cc.
4080         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
4081         defined as a function.
4082         * modules/strtoumax (Depends-on, configure.ac): Test only whether
4083         strtoumax is defined, not whether it is declared.
4084
4085 2011-09-01  Bruno Haible  <bruno@clisp.org>
4086
4087         strtoimax: Avoid link error on OSF/1 with DTK cc.
4088         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
4089         defined as a function.
4090         * modules/strtoimax (Depends-on, configure.ac): Test only whether
4091         strtoimax is defined, not whether it is declared.
4092
4093 2011-09-01  Bruno Haible  <bruno@clisp.org>
4094
4095         imaxdiv: Avoid link error on OSF/1 with DTK cc.
4096         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
4097         as a function.
4098         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
4099         whether it is declared.
4100
4101 2011-09-01  Bruno Haible  <bruno@clisp.org>
4102
4103         imaxabs: Avoid link error on OSF/1 with DTK cc.
4104         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
4105         as a function.
4106         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
4107         whether it is declared.
4108
4109 2011-09-01  Bruno Haible  <bruno@clisp.org>
4110
4111         Tests for module 'strtoumax'.
4112         * modules/strtoumax-tests: New file.
4113         * tests/test-strtoumax.c: New file.
4114
4115         Tests for module 'strtoimax'.
4116         * modules/strtoimax-tests: New file.
4117         * tests/test-strtoimax.c: New file.
4118
4119         Tests for module 'imaxdiv'.
4120         * modules/imaxdiv-tests: New file.
4121         * tests/test-imaxdiv.c: New file.
4122
4123         Tests for module 'imaxabs'.
4124         * modules/imaxabs-tests: New file.
4125         * tests/test-imaxabs.c: New file.
4126
4127 2011-09-01  Bruno Haible  <bruno@clisp.org>
4128
4129         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4130         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
4131         pthread_create.
4132
4133 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4134
4135         openat: work around AIX 7.1 fstatat issue
4136         This should fix the problem that was not properly fixed
4137         in the previous change, dated 2011-08-30.
4138         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
4139         __need_system_stat_h defined.
4140         (orig_fstatat) [HAVE_FSTATAT]: New function.
4141         (rpl_fstatat): Go back to the old way of doing things,
4142         except call orig_fstatat instead of fstatat.
4143         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
4144         Remove unnecessary check whether fstatat fills in st_size etc.
4145
4146 2011-09-01  Bruno Haible  <bruno@clisp.org>
4147
4148         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
4149         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
4150         just include the system's header.
4151
4152 2011-08-31  Jim Meyering  <meyering@redhat.com>
4153
4154         tests: avoid spurious assertion failure in test-float.c on ppc64
4155         * tests/test-float.c (test_long_double): Comment out an assertion,
4156         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
4157         with gcc-4.4.4.
4158
4159         maint: indent with spaces, not TABs
4160         I need to get in the habit of running gnulib's "make check".
4161         Both of these would have been caught.
4162         * m4/largefile.m4: Indent with spaces, not TABs.
4163         * lib/parse-datetime.y (iso_8601_time): Likewise.
4164         Spotted by Pádraig Brady.
4165
4166         test-parse-datetime.c: accommodate a relatively strict gcc warning
4167         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
4168         to avoid a warning from gcc's -Werror=missing-declarations.
4169         Insert a few spaces-before-funcall-parenthesis.
4170
4171 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
4172
4173         parse-datetime: accept ISO 8601 date and time rep with "T" separator
4174         The parser now accepts ISO 8601 date-time strings with "T" as the
4175         separator.  It has long parsed dates like "2004-02-29 16:21:42"
4176         with a space between the date and time strings.  Now it also parses
4177         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
4178         variants like "2004-02-29T16:21:42.333-07:00"
4179         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
4180         of day representation using the 'T' separator character.
4181         * doc/parse-datetime.texi (General date syntax): replace use of
4182         deprecated --iso-8601 option with --rfc-3339 in example of date
4183         command output formats that can be parsed.
4184         * tests/test-parse-datetime.c (tm_diff): New function, taken from
4185         lib/parse-datetime.y.
4186         (gmt_offset): New function.
4187         (main): Add additional test cases to validate ISO8601 extended
4188         date and time of day parsing.
4189
4190 2011-08-31  Bruno Haible  <bruno@clisp.org>
4191
4192         freopen: Documentation.
4193         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
4194         name.
4195         Reported by Claudio Bley <claudio.bley@gmail.com>.
4196
4197 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
4198
4199         freopen: Don't crash if the filename argument is NULL.
4200         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
4201         NULL.
4202
4203 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4204
4205         openat: work around AIX 7.1 fstatat bug
4206         Problem reported by Kevin Brott for GNU tar, in the thread containing
4207         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
4208         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
4209         FSTATAT_ST_SIZE_ETC_BROKEN.
4210         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
4211         rpl_fstatat.
4212         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
4213         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
4214         AC_CHECK_FUNCS_ONCE for fstatat.
4215         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
4216         fchmodat, mkdirat, openat and unlinkat.
4217
4218 2011-08-30  Bruno Haible  <bruno@clisp.org>
4219
4220         Avoid endless recursions if config.h includes some header files.
4221         * lib/fopen.c (__need_FILE): Define already before including config.h.
4222         * lib/freopen.c (__need_FILE): Likewise.
4223         * lib/open.c (__need_system_fcntl_h): Likewise.
4224         * lib/stat.c (__need_system_sys_stat_h): Likewise.
4225         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
4226         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4227
4228 2011-08-25  Karl Berry  <karl@gnu.org>
4229
4230         * config/srclist.txt (ylwrap): new try.
4231         * build-aux/ylwrap: new file.
4232
4233 2011-08-23  Bruno Haible  <bruno@clisp.org>
4234
4235         tmpdir: Use a good default directory on native Windows.
4236         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
4237         (P_tmpdir): Default to _P_tmpdir on native Windows.
4238         (path_search): On native Windows, try the value returned by GetTempPath
4239         before trying P_tmpdir.
4240         * modules/tmpdir (Depends-on): Add pathmax.
4241         Suggested by John Darrington <john@darrington.wattle.id.au>.
4242
4243 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
4244
4245         doc: fix typo in README-release
4246         * top/README-release: Capitalize first word of a sentence.
4247
4248 2011-08-19  Jim Meyering  <meyering@redhat.com>
4249
4250         fts: do not exhaust memory when processing million-entry directories
4251         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
4252         directory would require about 256*N bytes of memory.  Thus, it was
4253         easy to construct a directory too large to be processed by any of
4254         those tools.  With this change, fts' maximum memory utilization is
4255         now limited to around 30MB.
4256         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
4257         (fts_read): When we've processed the final entry (i.e., when
4258         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
4259         using the parent entry to read any remaining entries.  Dispatch
4260         depending on what fts_build returns:
4261         - NULL+stop, aka failure: stop
4262         - NULL otherwise: move up in the dir hierarchy
4263         - non-NULL: handle this new entry
4264         (fts_build): Declare and use new local, continue_readdir.
4265         Prepare to be called from fts_read, when the entries
4266         from a partially-read directory have just been exhausted.
4267         In that case, we'll skip the opendir and instead use the parent's
4268         fts_dirp and derive dir_fd from that.
4269         Finally, in the readdir loop, if we read max_entries entries,
4270         exit the loop ensuring *not* to call closedir.  This is required
4271         so that fts_dirp can be reused on a subsequent call.
4272         Prompted by Ben England's report of memory exhaustion in find
4273         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
4274
4275         maint: fts: move decl of `dp' down into while loop; split a long line
4276         * lib/fts.c (fts_build): No semantic change.
4277
4278         fts: add/use new struct member, fts_dirp
4279         We are about to use this to manage any directory with
4280         too many entries to read all of them into memory at once.
4281         To do that, we'll need to save the DIR* pointer in each
4282         affected FTSENT struct.
4283         * lib/fts_.h: Include <dirent.h>.
4284         (struct FTSENT) [fts_dirp]: New member.
4285         * lib/fts.c (closedir_and_clear): Define.
4286         Use it in place of closedir so that we are sure to
4287         clear the new fts_dirp member when done with it.
4288         (fts_alloc): Initialize the new member.
4289         (fts_lfree): Free, if needed.
4290
4291         maint: fts: give __opendir2 a new parameter and rename
4292         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
4293         than surreptitiously using sole caller's "dir_fd".
4294         (fts_opendir): Rename from __opendir2.
4295
4296         maint: fts.c: remove __opendir2's now-unused parameter, oflag
4297         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
4298
4299         maint: fts.c: correct off-by-one indentation
4300         * lib/fts.c (fts_build): Correct indentation, change style
4301         of a couple of block comments, and bracing style.
4302
4303         maint: fts.c: move __opendir2 #define "up" out of function body
4304         * lib/fts.c (__opendir2): Move "up".  No semantic change.
4305
4306         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
4307         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
4308         out for a long time and besides was useful only on BSD systems.
4309
4310 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
4311
4312         regex: port to Stratus OpenVOS
4313         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
4314         define to empty, rather than attempting nonportable optimizations.
4315         Problem reported by Paul Green in:
4316         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
4317         and fix suggested by Eric Blake in:
4318         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
4319
4320 2011-08-17  Eric Blake  <eblake@redhat.com>
4321
4322         getcwd: fix test failures on mingw
4323         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
4324         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
4325         test if long directory cannot be created, and allow mingw errno.
4326
4327         getcwd-lgpl: fix m4 to match relaxed test for BSD
4328         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
4329         (gl_FUNC_GETCWD_SIGNATURE): New macro.
4330         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
4331         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
4332         signature problem.
4333
4334         getcwd: fix compilation on mingw64
4335         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
4336         getcwd.
4337         Reported by Marc-André Lureau.
4338
4339         pipe2: silence compiler warning
4340         * lib/pipe2.c (pipe2): Hide label if it is not used.
4341
4342 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
4343
4344         relocatable-prog: fix link error
4345         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
4346         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
4347         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
4348         into modules/relocatable-lib without noticing that
4349         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
4350         also needs to build relocatable.c.
4351
4352 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4353
4354         getaddrinfo: fix sh typo in gai_strerrorA decl checking
4355         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
4356         shell code: it contained a 'break' that was not in a loop.
4357         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
4358         via a shell-language loop; this may have been true in old Autoconf
4359         versions, but it's not true in Autoconf 2.68.  I found this bug
4360         when testing coreutils git on Solaris 8, whose shell complains
4361         about the syntax error.
4362
4363 2011-08-12  Simon Josefsson  <simon@josefsson.org>
4364
4365         * lib/base64.c: Fix comment to reference RFC 4648.
4366         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
4367         <gvtulder@gmail.com>.
4368
4369 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
4372
4373         po/Makefile.in.in: fix make -q problem
4374         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
4375         rule, since there's no file named 'check-macro-version' and its
4376         use as a file breaks make -q.
4377         (all): Don't depend on check-macro-version.
4378         (CHECK_MACRO_VERSION): New macro.
4379         (stamp-po): Use it.
4380
4381         configmake: fix make -q problem
4382         * modules/configmake (configmake.h): Update configmake.h's time stamp
4383         even if the file does not change.  Otherwise, 'make -q' fails.
4384         Problem reported by Simon Josefsson in
4385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
4386
4387 2011-08-11  Jim Meyering  <meyering@redhat.com>
4388
4389         git-version-gen: correct the advice in a comment
4390         * build-aux/git-version-gen: Correct comment.
4391         Don't recommend to list .tarball-version in .gitignore.
4392
4393 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4394
4395         base64: fix off-by-one buffer size bug
4396         Problem and (trivial) fix reported by Gijs van Tulder in
4397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
4398         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
4399         * tests/test-base64.c (main): Catch the bug.
4400
4401 2011-08-10  Eric Blake  <eblake@redhat.com>
4402
4403         closein: correct comments
4404         * lib/closein.c (close_stdin): Improve comments.
4405
4406 2011-08-09  Bruno Haible  <bruno@clisp.org>
4407
4408         More tests for 'fseeko'.
4409         * tests/test-fseeko3.c: New file, from Eric Blake.
4410         * tests/test-fseeko3.sh: New file.
4411         * modules/fseeko-tests (Files): Add them.
4412         (TESTS): Add test-fseeko3.sh.
4413         (check_PROGRAMS): Add test-fseeko3.
4414
4415 2011-08-09  Eric Blake  <eblake@redhat.com>
4416
4417         fseeko: remove unneeded hack
4418         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
4419
4420         fseeko: fix bug on glibc
4421         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
4422         Reported by John W. Eaton.
4423
4424 2011-08-08  Bruno Haible  <bruno@clisp.org>
4425
4426         unictype/base: Fix interoperability with preinstalled libunistring.
4427         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
4428         Reported by Simon Josefsson.
4429
4430 2011-08-08  Bruno Haible  <bruno@clisp.org>
4431
4432         iswblank: Detect declaration correctly.
4433         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
4434         AC_CHECK_DECLS invocation.
4435
4436 2011-08-08  Bruno Haible  <bruno@clisp.org>
4437
4438         tcgetsid: Detect declaration correctly.
4439         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
4440         AC_CHECK_DECLS invocation.
4441         Reported by Simon Josefsson.
4442
4443 2011-08-08  Eric Blake  <eblake@redhat.com>
4444
4445         largefile: fix typo that regressed large file support
4446         * modules/largefile (configure.ac-early): Fix section name.
4447
4448 2011-08-06  Karl Berry  <karl@gnu.org>
4449
4450         * MODULES.html.sh (func_all_files): _Noreturn is no longer
4451         a separate module.
4452
4453 2011-08-05  Simon Josefsson  <simon@josefsson.org>
4454
4455         openat: Fix warnings and commens when building unlinkat.c on Hurd.
4456         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
4457         get prototype for free.
4458
4459 2011-08-04  Bruno Haible  <bruno@clisp.org>
4460
4461         Tests for module 'pathmax'.
4462         * modules/pathmax-tests: New file.
4463         * tests/test-pathmax.c: New file.
4464
4465         canonicalize-lgpl: Support larger filenames on the Hurd.
4466         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
4467         Reported by Paul Eggert.
4468
4469         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
4470         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
4471         * lib/chdir-long.h: Include pathmax.h.
4472         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
4473         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
4474         (PATH_MAX): Remove code that is done by pathmax.h.
4475         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
4476         * lib/tmpfile.c: Add a comment.
4477         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
4478         * modules/chdir-long (Depends-on): Add pathmax.
4479         * modules/getcwd (Depends-on): Add pathmax.
4480         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
4481         is not defined.
4482         * doc/posix-headers/limits.texi: Mention the pathmax module.
4483         * NEWS: Mention the change.
4484
4485 2011-08-02  Bruno Haible  <bruno@clisp.org>
4486
4487         pthread_sigmask: Actually use results of gl_THREADLIB.
4488         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
4489         gl_THREADLIB, not gl_[]THREADLIB.
4490         Reported by Eric Blake.
4491
4492 2011-08-02  Jim Meyering  <meyering@redhat.com>
4493
4494         maint.mk: relax the default _gl_TS_function_match regexp
4495         * top/maint.mk (_gl_TS_function_match): Don't require at least one
4496         space between function name and "(" in an "extern" declaration.
4497         That would fail to match a decl with no space there: extern void foo();
4498
4499 2011-07-31  Iain Nicol  <iain@thenicols.net>
4500
4501         git-version-gen: document that EXTRA_DIST must include .version
4502         * build-aux/git-version-gen: In the how-to-use comment, document
4503         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
4504         will fail when run from an unpacked distribution tarball.
4505
4506 2011-08-01  Bruno Haible  <bruno@clisp.org>
4507
4508         wctype-h: Fix last change.
4509         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
4510         REPLACE_TOWLOWER to 0.
4511         Reported by Sam Steingold <sds@gnu.org>.
4512
4513 2011-07-31  Bruno Haible  <bruno@clisp.org>
4514
4515         frexpl: Update autoconf test.
4516         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
4517         according to changes of 2011-06-20.
4518
4519 2011-07-31  Bruno Haible  <bruno@clisp.org>
4520
4521         sys_utsname: Add support for Minix.
4522         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
4523         <sys/utsname.h>.
4524         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4525         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
4526
4527 2011-07-31  Bruno Haible  <bruno@clisp.org>
4528
4529         strings: Add support for Minix.
4530         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
4531         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4532         * doc/posix-headers/strings.texi: Document the Minix problem.
4533
4534 2011-07-31  Bruno Haible  <bruno@clisp.org>
4535
4536         wctype-h: Add support for Minix.
4537         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
4538         REPLACE_TOWLOWER.
4539         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
4540         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
4541         REPLACE_ISWCNTRL.
4542
4543 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
4544
4545         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
4546         This is a performance improvement for 64-bit hosts: it causes the
4547         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
4548
4549 2011-07-31  Bruno Haible  <bruno@clisp.org>
4550
4551         stdioext: Add support for Minix.
4552         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
4553         * lib/fpurge.c (fpurge): Likewise.
4554         * lib/freadahead.c (freadahead): Likewise.
4555         * lib/freadable.c (freadable): Likewise.
4556         * lib/freading.c (freading): Likewise.
4557         * lib/freadptr.c (freadptr): Likewise.
4558         * lib/freadseek.c (freadptrinc): Likewise.
4559         * lib/fseeko.c (rpl_fseeko): Likewise.
4560         * lib/fseterr.c (fseterr): Likewise.
4561         * lib/fwritable.c (fwritable): Likewise.
4562         * lib/fwriting.c (fwriting): Likewise.
4563         * lib/fflush.c (clear_ungetc_buffer): Update comment.
4564         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
4565
4566 2011-07-31  Bruno Haible  <bruno@clisp.org>
4567
4568         errno: Port to Minix.
4569         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
4570         ECONNABORTED are defined.
4571         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
4572         GNULIB_defined_ECONNABORTED): New macros.
4573         * lib/strerror-override.h (strerror_override): Test also
4574         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
4575         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
4576         ECONNABORTED.
4577         * doc/posix-headers/errno.texi: Mention the Minix problem.
4578
4579 2011-07-31  Bruno Haible  <bruno@clisp.org>
4580
4581         Work around declaration collisions on Minix.
4582         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
4583         defined, set REPLACE_MBSINIT.
4584         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
4585         defined, set REPLACE_MBRTOWC.
4586         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
4587         set REPLACE_MBRLEN.
4588         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
4589         defined, set REPLACE_MBSRTOWCS.
4590         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
4591         defined, set REPLACE_WCRTOMB.
4592         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
4593         defined, set REPLACE_WCSRTOMBS.
4594
4595 2011-07-31  Bruno Haible  <bruno@clisp.org>
4596
4597         Add support for Minix with ACK compiler.
4598         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
4599         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
4600         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
4601
4602 2011-07-31  Bruno Haible  <bruno@clisp.org>
4603
4604         Documentation about Minix.
4605         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
4606         * doc/glibc-headers/*.texi: Likewise.
4607         * doc/posix-functions/*.texi: Likewise.
4608         * doc/glibc-functions/*.texi: Likewise.
4609
4610 2011-07-31  Bruno Haible  <bruno@clisp.org>
4611
4612         snippet/warn-on-use: Fix indentation.
4613         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
4614
4615 2011-07-25  Jim Meyering  <meyering@redhat.com>
4616
4617         tests: test-update-copyright.sh: remove unnecessary "rm" commands
4618         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
4619         commands.
4620
4621 2011-07-27  Jim Meyering  <meyering@redhat.com>
4622
4623         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4624         * top/maint.mk (gl_extract_significant_defines_): Now that
4625         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
4626         gnulib/lib/signal.in.h, and now that we recommend to
4627         define-if-undefined those two symbols in application code,
4628         we must filter them out of the "significant" list.
4629         This avoids a "make syntax-check" failure in coreutils.
4630
4631 2011-07-26  Eric Blake  <eblake@redhat.com>
4632
4633         warnings: add comments about previous patch
4634         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
4635         * m4/include_next.m4: Likewise.
4636         * m4/warn-on-use.m4: Likewise.
4637         * m4/warnings.m4: Likewise, and simplify use.
4638         Suggested by Stefano Lattarini.
4639
4640         include-next, warnings: support older autoconf
4641         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
4642         AS_VAR_PUSHDEF in a way that works with older autoconf.
4643         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
4644         Reported by Daniel P. Berrange.
4645
4646 2011-07-25  Bruno Haible  <bruno@clisp.org>
4647
4648         fseek, ftell: Fix doc.
4649         * doc/posix-functions/fseek.texi: Reword statement about
4650         AC_SYS_LARGEFILE.
4651         * doc/posix-functions/ftell.texi: Likewise.
4652
4653 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4654             Bruno Haible  <bruno@clisp.org>
4655
4656         Add dependencies to the 'largefile' module.
4657         * modules/fopen (Depends-on): Add 'largefile'.
4658         * modules/freopen (Depends-on): Likewise.
4659         * modules/fseeko (Depends-on): Likewise.
4660         * modules/ftello (Depends-on): Likewise.
4661         * modules/glob (Depends-on): Likewise.
4662         * modules/lseek (Depends-on): Likewise.
4663         * modules/lstat (Depends-on): Likewise.
4664         * modules/mkostemp (Depends-on): Likewise.
4665         * modules/mkostemps (Depends-on): Likewise.
4666         * modules/mkstemp (Depends-on): Likewise.
4667         * modules/mkstemps (Depends-on): Likewise.
4668         * modules/open (Depends-on): Likewise.
4669         * modules/openat (Depends-on): Likewise.
4670         * modules/pread (Depends-on): Likewise.
4671         * modules/pwrite (Depends-on): Likewise.
4672         * modules/scandir (Depends-on): Likewise.
4673         * modules/stat (Depends-on): Likewise.
4674         * modules/tmpfile (Depends-on): Likewise.
4675         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
4676         since the containing module now depends on the largefile module.
4677         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
4678         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
4679         off_t is fixed by gnulib.
4680         * doc/posix-functions/freopen.texi: Likewise.
4681         * doc/posix-functions/fseeko.texi: Likewise.
4682         * doc/posix-functions/fstatat.texi: Likewise.
4683         * doc/posix-functions/ftello.texi: Likewise.
4684         * doc/posix-functions/glob.texi: Likewise.
4685         * doc/posix-functions/lseek.texi: Likewise.
4686         * doc/posix-functions/lstat.texi: Likewise.
4687         * doc/posix-functions/mkstemp.texi: Likewise.
4688         * doc/posix-functions/open.texi: Likewise.
4689         * doc/posix-functions/openat.texi: Likewise.
4690         * doc/posix-functions/pread.texi: Likewise.
4691         * doc/posix-functions/pwrite.texi: Likewise.
4692         * doc/posix-functions/scandir.texi: Likewise.
4693         * doc/posix-functions/stat.texi: Likewise.
4694         * doc/posix-functions/tmpfile.texi: Likewise.
4695         * doc/glibc-functions/mkostemp.texi: Likewise.
4696         * doc/glibc-functions/mkostemps.texi: Likewise.
4697         * doc/glibc-functions/mkstemps.texi: Likewise.
4698
4699 2011-07-25  Bruno Haible  <bruno@clisp.org>
4700
4701         fcntl: Move AC_LIBOBJ invocation to module description.
4702         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
4703         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
4704
4705         fcntl: Remove call-in from fchdir.m4.
4706         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
4707         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
4708
4709         dup3: Remove potential call-in from fchdir.m4.
4710         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
4711         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
4712
4713         dup2: Move AC_LIBOBJ invocation to module description.
4714         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
4715         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
4716         Don't invoke AC_LIBOBJ.
4717         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
4718
4719         dup2: Remove call-in from fchdir.m4.
4720         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
4721         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
4722
4723         fclose: Move AC_LIBOBJ invocation to module description.
4724         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
4725         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
4726         to 1.
4727         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
4728
4729         fclose: Remove call-in from close.m4.
4730         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
4731         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
4732
4733         close: Move AC_LIBOBJ invocation to module description.
4734         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
4735         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
4736         1.
4737         * modules/close (configure.ac): Invoke AC_LIBOBJ.
4738
4739         close: Remove call-in from fchdir.m4.
4740         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
4741         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
4742
4743         open: Move AC_LIBOBJ invocation to module description.
4744         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
4745         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
4746         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
4747
4748         open: Remove call-in from fchdir.m4.
4749         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
4750         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
4751
4752         fchdir: Start to remove gl_REPLACE_* idiom.
4753         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
4754         (gl_FUNC_FCHDIR): Invoke it.
4755
4756 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
4757
4758         * lib/ftell.c (ftell): Comment out cast.
4759
4760         close: use gl_REPLACE_FCLOSE only if defined
4761         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
4762         is defined.  The close module doesn't depend on the fclose module
4763         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
4764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
4765         I reproduced the problem with "./gnulib-tool --test close sys_socket".
4766
4767 2011-07-24  Jim Meyering  <meyering@redhat.com>
4768
4769         test-select.h: avoid warning when using gcc's -Wmissing-declarations
4770         * tests/test-select.h (test_function): Declare as "static".
4771
4772 2011-07-24  Bruno Haible  <bruno@clisp.org>
4773
4774         doc: Mention the effects of AC_SYS_LARGEFILE.
4775         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
4776         on this function.
4777         * doc/posix-functions/aio_error.texi: Likewise.
4778         * doc/posix-functions/aio_fsync.texi: Likewise.
4779         * doc/posix-functions/aio_read.texi: Likewise.
4780         * doc/posix-functions/aio_return.texi: Likewise.
4781         * doc/posix-functions/aio_suspend.texi: Likewise.
4782         * doc/posix-functions/aio_write.texi: Likewise.
4783         * doc/posix-functions/fgetpos.texi: Likewise.
4784         * doc/posix-functions/fopen.texi: Likewise.
4785         * doc/posix-functions/freopen.texi: Likewise.
4786         * doc/posix-functions/fsetpos.texi: Likewise.
4787         * doc/posix-functions/fstatvfs.texi: Likewise.
4788         * doc/posix-functions/ftruncate.texi: Likewise.
4789         * doc/posix-functions/ftw.texi: Likewise.
4790         * doc/posix-functions/getrlimit.texi: Likewise.
4791         * doc/posix-functions/glob.texi: Likewise.
4792         * doc/posix-functions/lio_listio.texi: Likewise.
4793         * doc/posix-functions/lockf.texi: Likewise.
4794         * doc/posix-functions/mkstemp.texi: Likewise.
4795         * doc/posix-functions/mmap.texi: Likewise.
4796         * doc/posix-functions/nftw.texi: Likewise.
4797         * doc/posix-functions/openat.texi: Likewise.
4798         * doc/posix-functions/opendir.texi: Likewise.
4799         * doc/posix-functions/posix_fadvise.texi: Likewise.
4800         * doc/posix-functions/posix_fallocate.texi: Likewise.
4801         * doc/posix-functions/pread.texi: Likewise.
4802         * doc/posix-functions/pwrite.texi: Likewise.
4803         * doc/posix-functions/readdir.texi: Likewise.
4804         * doc/posix-functions/readdir_r.texi: Likewise.
4805         * doc/posix-functions/rewinddir.texi: Likewise.
4806         * doc/posix-functions/scandir.texi: Likewise.
4807         * doc/posix-functions/seekdir.texi: Likewise.
4808         * doc/posix-functions/setrlimit.texi: Likewise.
4809         * doc/posix-functions/statvfs.texi: Likewise.
4810         * doc/posix-functions/telldir.texi: Likewise.
4811         * doc/posix-functions/tmpfile.texi: Likewise.
4812         * doc/posix-functions/truncate.texi: Likewise.
4813         * doc/glibc-functions/fallocate.texi: Likewise.
4814         * doc/glibc-functions/fstatfs.texi: Likewise.
4815         * doc/glibc-functions/fts_children.texi: Likewise.
4816         * doc/glibc-functions/fts_read.texi: Likewise.
4817         * doc/glibc-functions/getdirentries.texi: Likewise.
4818         * doc/glibc-functions/mkostemp.texi: Likewise.
4819         * doc/glibc-functions/mkostemps.texi: Likewise.
4820         * doc/glibc-functions/mkstemps.texi: Likewise.
4821         * doc/glibc-functions/preadv.texi: Likewise.
4822         * doc/glibc-functions/pwritev.texi: Likewise.
4823         * doc/glibc-functions/sendfile.texi: Likewise.
4824         * doc/glibc-functions/statfs.texi: Likewise.
4825
4826 2011-07-24  Bruno Haible  <bruno@clisp.org>
4827
4828         doc: Fix typo.
4829         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
4830
4831 2011-07-24  Bruno Haible  <bruno@clisp.org>
4832
4833         doc: Mention fsusage.
4834         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
4835
4836 2011-07-24  Bruno Haible  <bruno@clisp.org>
4837
4838         doc: Mention new glibc headers and functions.
4839         * doc/glibc-headers/gshadow.texi: New file.
4840         * doc/glibc-functions/endsgent.texi: New file.
4841         * doc/glibc-functions/fgetsgent.texi: New file.
4842         * doc/glibc-functions/fgetsgent_r.texi: New file.
4843         * doc/glibc-functions/getsgent.texi: New file.
4844         * doc/glibc-functions/getsgent_r.texi: New file.
4845         * doc/glibc-functions/getsgnam.texi: New file.
4846         * doc/glibc-functions/getsgnam_r.texi: New file.
4847         * doc/glibc-functions/putsgent.texi: New file.
4848         * doc/glibc-functions/setsgent.texi: New file.
4849         * doc/glibc-functions/sgetsgent.texi: New file.
4850         * doc/glibc-functions/sgetsgent_r.texi: New file.
4851         * doc/glibc-functions/malloc_info.texi: New file.
4852         * doc/glibc-functions/preadv.texi: New file.
4853         * doc/glibc-functions/pwritev.texi: New file.
4854         * doc/glibc-functions/register_printf_modifier.texi: New file.
4855         * doc/glibc-functions/register_printf_specifier.texi: New file.
4856         * doc/glibc-functions/register_printf_type.texi: New file.
4857         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
4858         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
4859         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
4860         * doc/glibc-functions/pthread_getname_np.texi: New file.
4861         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
4862         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
4863         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
4864         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
4865         * doc/glibc-functions/pthread_setname_np.texi: New file.
4866         * doc/glibc-functions/pthread_sigqueue.texi: New file.
4867         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
4868         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
4869         * doc/glibc-functions/qsort_r.texi: New file.
4870         * doc/glibc-functions/quick_exit.texi: New file.
4871         * doc/glibc-functions/syncfs.texi: New file.
4872         * doc/gnulib.texi: Include them.
4873         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
4874         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
4875         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
4876         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
4877         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
4878         * doc/glibc-functions/execvpe.texi: Likewise.
4879
4880 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4881
4882         ftell: don't include <unistd.h>
4883         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
4884         guaranteed to define off_t, and the ftell module depends on the
4885         stdio module.
4886
4887         ftell: do not assume wraparound signed arithmetic
4888         * lib/ftell.c: Include <limits.h>.
4889         (ftell): Don't assume wraparound signed arithmetic.
4890
4891 2011-07-24  Bruno Haible  <bruno@clisp.org>
4892
4893         close: No longer depend on module 'fclose'.
4894         * modules/close (Depends-on): Remove fclose.
4895         * NEWS: Mention the change.
4896         Suggested by Sam Steingold <sds@gnu.org>.
4897
4898 2011-07-24  Bruno Haible  <bruno@clisp.org>
4899
4900         fsusage: Enable large volume support on AIX >= 5.2.
4901         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
4902         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
4903         instead of STAT_STATVFS.
4904         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
4905
4906         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
4907         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
4908         f_blocks field only on MacOS X.
4909
4910         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
4911         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
4912         * modules/fsusage (Depends-on): Add largefile.
4913
4914 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4915
4916         * README: Modernize discussion of signed integers.
4917         Assuming overflow wraparound is no longer safe.
4918         Mention ones' complement and signed magnitude.
4919
4920 2011-07-22  Bruno Haible  <bruno@clisp.org>
4921
4922         select tests, pselect tests: Refactor.
4923         * tests/test-select.h: New file, extracted from tests/test-select.c.
4924         (select_fn): New type.
4925         (test, do_select, do_select_nowait, do_select_wait, test_tty,
4926         test_connect_first, test_accept_first, test_pair, test_socket_pair,
4927         test_pipe): Add my_select argument.
4928         (test_function): Renamed from main. Add my_select argument.
4929         * tests/test-select.c: Move most code to tests/test-select.h. Include
4930         test-select.h.
4931         * modules/select-tests (Files): Add tests/test-select.h.
4932         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
4933         (my_select, main): New functions.
4934         * modules/pselect-tests (Files): Add tests/test-select.h,
4935         tests/macros.h, tests/signature.h.
4936         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
4937         (configure.ac): Check for <sys/wait.h>.
4938
4939 2011-07-22  Bruno Haible  <bruno@clisp.org>
4940
4941         sys_select tests: Check the signature of FD_*.
4942         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
4943         signature tests from here...
4944         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
4945         here.
4946         * modules/sys_select-tests (Files): Add tests/signature.h.
4947
4948 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4949
4950         largefile: new module, replacing large-inode
4951         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
4952         * MODULES.html.sh: Add largefile, remove large-inode.
4953         * modules/largefile, m4/largefile.m4: New files.
4954         * modules/large-inode, m4/large-inode.m4: Remove.
4955
4956         fsusage: port to MacOS X 10.7 with 4 TiB file systems
4957         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
4958         implementations that use only 32 bits to count blocks.
4959         On typical hosts with 1024-byte blocks, this fails with file
4960         systems as small as 4 TiB.  Problem reported by Herb Wartens
4961         <http://debbugs.gnu.org/9140> and this should also fix a similar
4962         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
4963
4964         large-inode: New module
4965         * MODULES.html.sh: Add it.
4966         * modules/large-inode, m4/large-inode.m4: New files.
4967
4968         extensions: Enable extensions on MacOS X 10.5 and later.
4969         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
4970
4971 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
4972
4973         file-has-acl: use acl_extended_file_nofollow if available
4974         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
4975         (acl_extended_file): New macro.
4976         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
4977         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
4978
4979 2011-07-21  Bruno Haible  <bruno@clisp.org>
4980
4981         Declare system functions in a way that works with C++.
4982         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
4983         declare fdopendir as extern "C".
4984         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
4985         declare frexpl as extern "C".
4986         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
4987         declare gai_strerror as extern "C".
4988         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
4989         programs, declare gai_strerror as extern "C".
4990         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
4991         declare getlogin_r as extern "C".
4992         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
4993         as extern "C".
4994         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
4995         declare ldexpl as extern "C".
4996         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
4997         as extern "C".
4998         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
4999         program, declare getmntinfo as extern "C".
5000         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
5001         stpncpy as extern "C".
5002         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
5003         program, declare __xpg_strerror_r as extern "C".
5004         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
5005         strndup as extern "C".
5006         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
5007         declare memset and bzero as extern "C".
5008         Reported by Sam Steingold <sds@gnu.org>.
5009
5010 2011-07-12  Jim Meyering  <meyering@redhat.com>
5011
5012         maint.mk: prohibit inclusion of "verify.h" without use
5013         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
5014
5015 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5016
5017         timer-time: A new module to check for timer_settime()
5018         * m4/timer_time.m4: Check for the posix function.
5019         * modules/timer-time: Add the new module.
5020         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
5021         Mention it.
5022
5023 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
5024             Bruno Haible  <bruno@clisp.org>
5025
5026         pthread_sigmask: assume POSIX threads if --avoid=threadlib
5027         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
5028         not defined, assume POSIX threads and look for pthread_sigmask in
5029         $LIBS, without changing $CPPFLAGS.
5030
5031 2011-07-19  Bruno Haible  <bruno@clisp.org>
5032
5033         strstr: Update cross-compilation guess.
5034         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
5035         CPUs, guess no, in view of glibc
5036         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
5037         Suggested by Eric Blake. Reported by Reuben Thomas.
5038
5039 2011-07-19  Pádraig Brady  <P@draigBrady.com>
5040
5041         getopt-gnu: suppress core dumps from detection code
5042         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
5043         to suppress core dumps that may well occur on glibc systems.
5044         * modules/getopt-gnu: Depend on nocrash.
5045
5046 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5047
5048         pthread_sigmask: ensure usleep is declared
5049         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
5050         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
5051
5052 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5053
5054         doc: Document NonStop portability issues.
5055         * doc/posix-functions/sigaction.texi (sigaction):
5056         * doc/posix-headers/signal.texi (signal.h):
5057         Document NonStop.  See Joachim Schmitz in
5058         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
5059
5060 2011-07-15  Bruno Haible  <bruno@clisp.org>
5061
5062         ffsl, ffsll: Avoid unportable behaviour.
5063         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
5064
5065 2011-07-15  Bruno Haible  <bruno@clisp.org>
5066
5067         ffs: More tests.
5068         * tests/test-ffs.c (NBITS): New macro.
5069         (main): Add more tests.
5070         * tests/test-ffsl.c (NBITS): New macro.
5071         (main): Add more tests.
5072         * tests/test-ffsll.c (NBITS): New macro.
5073         (main): Add more tests.
5074
5075 2011-07-15  Eric Blake  <eblake@redhat.com>
5076
5077         ffsl, ffsll: new modules
5078         * modules/ffsl: New file.
5079         * modules/ffsll: Likewise.
5080         * m4/ffsl.m4: Likewise.
5081         * m4/ffsll.m4: Likewise.
5082         * lib/ffsl.c: Likewise.
5083         * lib/ffsl.h: Likewise.
5084         * lib/ffsll.c: Likewise.
5085         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
5086         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
5087         * modules/string (Makefile.am): Substitute witnesses.
5088         * lib/strings.in.h (ffsl, ffsll): Declare.
5089         * modules/ffsl-tests: New test file.
5090         * modules/ffsll-tests: Likewise.
5091         * tests/test-ffsl.c: Likewise.
5092         * tests/test-ffsll.c: Likewise.
5093         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5094         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
5095         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
5096
5097         ffs: fix m4 prerequisite
5098         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
5099
5100         ffs: avoid undefined behavior
5101         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
5102         * tests/test-ffs.c (naive, main): Avoid signed shifts.
5103         Reported by Bruno Haible.
5104
5105 2011-07-12  Bruno Haible  <bruno@clisp.org>
5106
5107         pthread_sigmask: Rely on module 'threadlib'.
5108         * modules/pthread_sigmask (Depends-on): Add threadlib.
5109         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
5110         is defined.
5111
5112 2011-07-12  Bruno Haible  <bruno@clisp.org>
5113
5114         regex: Depend on module 'strcase'.
5115         * modules/regex (Depends-on): Add strcase, for strcasecmp().
5116
5117 2011-07-12  Jim Meyering  <meyering@redhat.com>
5118
5119         warn-on-use: fix typo in file name
5120         * modules/snippet/warn-on-use (Files): Correct file name:
5121         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
5122
5123 2011-07-12  Bruno Haible  <bruno@clisp.org>
5124
5125         strings: Document module.
5126         * doc/posix-headers/strings.texi: Mention module 'strings'.
5127
5128 2011-07-12  Bruno Haible  <bruno@clisp.org>
5129
5130         Rename module '_Noreturn' to 'snippet/_Noreturn'.
5131         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
5132         (Files, Makefile.am): Update.
5133         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
5134         * modules/stdlib (Depends-on): Update.
5135
5136 2011-07-12  Bruno Haible  <bruno@clisp.org>
5137
5138         * NEWS: Mention the changes.
5139
5140         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
5141         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
5142         (Files, Makefile.am): Update.
5143         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
5144         * modules/arpa_inet (Depends-on): Update.
5145         * modules/ctype (Depends-on): Update.
5146         * modules/dirent (Depends-on): Update.
5147         * modules/fcntl-h (Depends-on): Update.
5148         * modules/glob (Depends-on): Update.
5149         * modules/iconv-h (Depends-on): Update.
5150         * modules/inttypes-incomplete (Depends-on): Update.
5151         * modules/langinfo (Depends-on): Update.
5152         * modules/locale (Depends-on): Update.
5153         * modules/math (Depends-on): Update.
5154         * modules/netdb (Depends-on): Update.
5155         * modules/poll-h (Depends-on): Update.
5156         * modules/pty (Depends-on): Update.
5157         * modules/search (Depends-on): Update.
5158         * modules/signal (Depends-on): Update.
5159         * modules/spawn (Depends-on): Update.
5160         * modules/stdio (Depends-on): Update.
5161         * modules/stdlib (Depends-on): Update.
5162         * modules/string (Depends-on): Update.
5163         * modules/strings (Depends-on): Update.
5164         * modules/sys_file (Depends-on): Update.
5165         * modules/sys_ioctl (Depends-on): Update.
5166         * modules/sys_select (Depends-on): Update.
5167         * modules/sys_socket (Depends-on): Update.
5168         * modules/sys_stat (Depends-on): Update.
5169         * modules/sys_time (Depends-on): Update.
5170         * modules/sys_times (Depends-on): Update.
5171         * modules/sys_utsname (Depends-on): Update.
5172         * modules/sys_wait (Depends-on): Update.
5173         * modules/termios (Depends-on): Update.
5174         * modules/time (Depends-on): Update.
5175         * modules/unistd (Depends-on): Update.
5176         * modules/wchar (Depends-on): Update.
5177         * modules/wctype-h (Depends-on): Update.
5178         * MODULES.html.sh (Support for building libraries and executables):
5179         Update.
5180
5181         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
5182         * modules/snippet/unused-parameter: Renamed from
5183         modules/unused-parameter.
5184         (Files, Makefile.am): Update.
5185         * build-aux/snippet/unused-parameter.h: Renamed from
5186         build-aux/unused-parameter.h.
5187         * modules/selinux-h (Depends-on): Update.
5188         * modules/unistr/base (Depends-on): Update.
5189         * MODULES.html.sh (Core language properties): Update.
5190
5191         Rename module 'link-warning' to 'snippet/link-warning'.
5192         * modules/snippet/link-warning: Renamed from modules/link-warning.
5193         (Files, Makefile.am): Update.
5194         * build-aux/snippet/link-warning.h: Renamed from
5195         build-aux/link-warning.h.
5196         * MODULES.html.sh (Support for building libraries and executables):
5197         Update.
5198
5199         Rename module 'c++defs' to 'snippet/c++defs'.
5200         * modules/snippet/c++defs: Renamed from modules/c++defs.
5201         (Files, Makefile.am): Update.
5202         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
5203         * modules/arpa_inet (Depends-on): Update.
5204         * modules/ctype (Depends-on): Update.
5205         * modules/dirent (Depends-on): Update.
5206         * modules/fcntl-h (Depends-on): Update.
5207         * modules/glob (Depends-on): Update.
5208         * modules/iconv-h (Depends-on): Update.
5209         * modules/langinfo (Depends-on): Update.
5210         * modules/locale (Depends-on): Update.
5211         * modules/math (Depends-on): Update.
5212         * modules/netdb (Depends-on): Update.
5213         * modules/poll-h (Depends-on): Update.
5214         * modules/pty (Depends-on): Update.
5215         * modules/search (Depends-on): Update.
5216         * modules/signal (Depends-on): Update.
5217         * modules/spawn (Depends-on): Update.
5218         * modules/stdio (Depends-on): Update.
5219         * modules/stdlib (Depends-on): Update.
5220         * modules/string (Depends-on): Update.
5221         * modules/strings (Depends-on): Update.
5222         * modules/sys_ioctl (Depends-on): Update.
5223         * modules/sys_select (Depends-on): Update.
5224         * modules/sys_socket (Depends-on): Update.
5225         * modules/sys_stat (Depends-on): Update.
5226         * modules/sys_time (Depends-on): Update.
5227         * modules/sys_wait (Depends-on): Update.
5228         * modules/termios (Depends-on): Update.
5229         * modules/time (Depends-on): Update.
5230         * modules/unistd (Depends-on): Update.
5231         * modules/wchar (Depends-on): Update.
5232         * modules/wctype-h (Depends-on): Update.
5233
5234         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
5235         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
5236         (Files, Makefile.am): Update.
5237         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
5238         * modules/argv-iter (Depends-on): Update.
5239         * modules/arpa_inet (Depends-on): Update.
5240         * modules/dirent (Depends-on): Update.
5241         * modules/fcntl-h (Depends-on): Update.
5242         * modules/fnmatch (Depends-on): Update.
5243         * modules/getopt-posix (Depends-on): Update.
5244         * modules/glob (Depends-on): Update.
5245         * modules/iconv-h (Depends-on): Update.
5246         * modules/inttypes-incomplete (Depends-on): Update.
5247         * modules/locale (Depends-on): Update.
5248         * modules/math (Depends-on): Update.
5249         * modules/netdb (Depends-on): Update.
5250         * modules/search (Depends-on): Update.
5251         * modules/signal (Depends-on): Update.
5252         * modules/spawn (Depends-on): Update.
5253         * modules/stdio (Depends-on): Update.
5254         * modules/stdlib (Depends-on): Update.
5255         * modules/string (Depends-on): Update.
5256         * modules/strings (Depends-on): Update.
5257         * modules/sys_socket (Depends-on): Update.
5258         * modules/sys_stat (Depends-on): Update.
5259         * modules/sys_time (Depends-on): Update.
5260         * modules/sys_times (Depends-on): Update.
5261         * modules/sys_utsname (Depends-on): Update.
5262         * modules/time (Depends-on): Update.
5263         * modules/unistd (Depends-on): Update.
5264         * modules/wchar (Depends-on): Update.
5265         * MODULES.html.sh (Support for building libraries and executables):
5266         Update.
5267
5268 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5269
5270         Improvements on _Noreturn and related modules.
5271
5272         modules/_Exit-tests: test _Noreturn too
5273         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
5274         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
5275         (main): Use them.
5276
5277         stdnoreturn, stdnoreturn-tests: remove modules
5278         They're not needed here and a bit premature for use elsewhere.  See
5279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
5280         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5281         * tests/test-stdnoreturn.c: Remove files.
5282         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
5283         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
5284         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
5285         and using noreturn.
5286         * modules/openat, modules/sigpipe-die, modules/xalloc:
5287         * modules/xmemdup0, modules/xstrtol:
5288         Remove dependency on stdnoreturn.
5289
5290         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
5291         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
5292         Reparenthesize to avoid GCC warning.
5293         Support Microsoft's syntax.
5294         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
5295
5296         _Noreturn-tests: remove module
5297         * modules/_Noreturn-tests: Remove.
5298         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
5299         * tests/test-_Noreturn.c: Remove.
5300         * tests/test-stdnoreturn.c: Merge from the old
5301         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
5302
5303 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
5304
5305         _Noreturn, stdnoreturn, and related modules.
5306
5307         * top/maint.mk: Adjust to new noreturn support.
5308         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
5309         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
5310
5311         xalloc: use stdnoreturn.h
5312         * lib/xalloc.h: Include <stdnoreturn.h>.
5313         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5314         * modules/xalloc (Depends-on): Add stdnoreturn.
5315
5316         xstrtol: use stdnoreturn.h
5317         * lib/xstrtol.h: Include <stdnoreturn.h>.
5318         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5319         * modules/xstrtol (Depends-on): Add stdnoreturn.
5320
5321         xmemdup0: use stdnoreturn.h
5322         * lib/xmemdup0.h: Include <stdnoreturn.h>.
5323         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5324         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
5325
5326         sigpipe-die: use stdnoreturn.h
5327         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
5328         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5329         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
5330
5331         openat: use stdnoreturn.h
5332         * lib/openat.h: Include <stdnoreturn.h>.
5333         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
5334         * modules/openat (Depends-on): Add stdnoreturn.
5335
5336         * lib/openat-die.c (openat_save_fail): Modernize comment.
5337
5338         * lib/xalloc-die.c (xalloc_die): Modernize comment.
5339
5340         * lib/glthread/thread.h: Modernize comment.
5341
5342         obstack: use _Noreturn
5343         * lib/obstack.c (__attribute__): Remove macro.
5344         (print_and_abort): Use _Noreturn.
5345
5346         c-stack: use _Noreturn
5347         * lib/c-stack.c (die, overflow_handler, segv_handler):
5348         Use _Noreturn rather than __attribute__((noreturn)).
5349
5350         argmatch-tests, exclude_tests: use _Noreturn
5351         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
5352         Remove.
5353         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
5354
5355         stdlib: use _Noreturn
5356         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
5357         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
5358         * modules/stdlib (Depends-on): Add _Noreturn.
5359         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
5360
5361         stdnoreturn-tests: new module
5362         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
5363
5364         stdnoreturn: new module
5365         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
5366         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
5367
5368         _Noreturn-tests: new module
5369         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
5370
5371         _Noreturn: new module
5372         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
5373         New section, mentioning it.
5374         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
5375
5376         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
5377
5378 2011-07-11  Eric Blake  <eblake@redhat.com>
5379
5380         ffs: new module
5381         * modules/ffs: New file.
5382         * m4/ffs.m4: Likewise.
5383         * lib/ffs.c: Likewise.
5384         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
5385         * modules/strings (Makefile.am): Substitute witness.
5386         (Depends-on): Add c++defs.
5387         * lib/strings.in.h (ffs): Declare.
5388         * modules/ffs-tests: New test file.
5389         * tests/test-ffs.c: Test new module.
5390         * MODULES.html.sh (Integer arithmetic functions): Mention it.
5391         * doc/posix-functions/ffs.texi (ffs): Likewise.
5392
5393         regex: avoid compiler warning
5394         * lib/regex.c (includes): Include <strings.h>, for use of
5395         strcasecmp in regcomp.c.
5396         Reported by Joachim Schmitz.
5397
5398 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
5399
5400         stdint: respect system's intmax_t if INTMAX_MAX
5401         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
5402         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
5403         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
5404         long but int64_t is long long, and where we will clash with the
5405         system intmax_t if we override it.  See
5406         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
5407         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
5408         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
5409         similarly for UINTMAX_C.
5410
5411 2011-07-08  Bruno Haible  <bruno@clisp.org>
5412
5413         pthread_sigmask tests: Avoid a compiler warning.
5414         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
5415         non-zero.
5416
5417         sigprocmask tests: A better way to avoid a compiler warning.
5418         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
5419         (main): Complain if system() returns non-zero.
5420         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
5421
5422 2011-07-08  Bruno Haible  <bruno@clisp.org>
5423
5424         pthread_sigmask: Work around IRIX bug.
5425         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
5426         bug.
5427         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
5428         there may be unblocked pending signals.
5429         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
5430
5431 2011-07-08  Bruno Haible  <bruno@clisp.org>
5432
5433         pthread_sigmask: Work around Cygwin bug.
5434         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
5435         bug.
5436         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
5437         the system's pthread_sigmask function.
5438         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
5439
5440 2011-07-08  Bruno Haible  <bruno@clisp.org>
5441
5442         pthread_sigmask: Work around bug in single-threaded implementation.
5443         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
5444         FreeBSD, HP-UX, Solaris bug.
5445         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
5446         * lib/pthread_sigmask.c: Include <stddef.h>.
5447         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
5448         the system's pthread_sigmask function.
5449         * modules/pthread_sigmask (configure.ac): Invoke
5450         gl_PREREQ_PTHREAD_SIGMASK.
5451         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
5452         HP-UX, Solaris.
5453
5454 2011-07-08  Eric Blake  <eblake@redhat.com>
5455
5456         test-sigprocmask: avoid compiler warning
5457         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
5458         * tests/test-sigprocmask.c (main): Use it to silence warning.
5459         Reported by Jim Meyering.
5460
5461         test-snprintf: avoid compiler warning
5462         * tests/test-snprintf.c (main): Avoid shadowed declaration.
5463         * tests/test-vsnprintf.c (main): Likewise.
5464         Reported by Jim Meyering.
5465
5466 2011-07-08  Bruno Haible  <bruno@clisp.org>
5467
5468         Tests for module 'pthread_sigmask'.
5469         * modules/pthread_sigmask-tests: New file.
5470         * tests/test-pthread_sigmask1.c: New file, based on
5471         tests/test-sigprocmask.c.
5472         * tests/test-pthread_sigmask2.c: New file.
5473
5474 2011-07-08  Jim Meyering  <meyering@redhat.com>
5475
5476         test-getopt.h: avoid warning about an unused variable
5477         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
5478
5479 2011-07-07  Jim Meyering  <meyering@redhat.com>
5480
5481         maint: reduce list of files exempt from sc_prohibit_leading_TABs
5482         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
5483         now that it no longer contains leading TABs.
5484         Remove unused "url=FIXME" statement.
5485
5486 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5487
5488         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
5489         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5490         When gl_THREADLIB is not in use, assume that the POSIX sematics
5491         are desired.  This is better for Emacs, which uses POSIX semantics
5492         on GNUish and/or POSIXish platforms, and does not use threads at
5493         all otherwise.
5494
5495         pthread_sigmask: fix typo when testing for libraries
5496         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
5497         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
5498
5499 2011-07-08  Eric Blake  <eblake@redhat.com>
5500
5501         fts: introduce FTS_NOATIME
5502         * lib/fts_.h (FTS_NOATIME): New bit flag.
5503         (FTS_OPTIONMASK): Adjust.
5504         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
5505         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
5506
5507 2011-07-08  Bruno Haible  <bruno@clisp.org>
5508
5509         Tests for module 'thread'.
5510         * modules/thread-tests: New file.
5511         * tests/test-thread_self.c: New file.
5512         * tests/test-thread_create.cc: New file.
5513
5514 2011-07-08  Bruno Haible  <bruno@clisp.org>
5515
5516         thread: Avoid gcc warnings when using gl_thread_self().
5517         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
5518         'void *'.
5519         (gl_thread_self_pointer): Update.
5520
5521 2011-07-07  Bruno Haible  <bruno@clisp.org>
5522
5523         signal-c++-tests: Check declaration of pthread_sigmask.
5524         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
5525         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
5526         $(LIB_PTHREAD_SIGMASK).
5527
5528 2011-07-07  Bruno Haible  <bruno@clisp.org>
5529
5530         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
5531         * lib/signal.in.h (pthread_sigmask): Override if
5532         REPLACE_PTHREAD_SIGMASK is 1.
5533         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5534         REPLACE_PTHREAD_SIGMASK.
5535         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
5536         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
5537         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
5538         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5539         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
5540
5541 2011-07-07  Bruno Haible  <bruno@clisp.org>
5542
5543         pthread_sigmask: Ensure declaration in <signal.h>.
5544         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
5545         include <pthread.h>.
5546         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
5547         problem.
5548
5549 2011-07-07  Bruno Haible  <bruno@clisp.org>
5550
5551         pthread_sigmask: Document the module.
5552         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
5553
5554 2011-07-07  Bruno Haible  <bruno@clisp.org>
5555
5556         pthread_sigmask: Follow gnulib conventions.
5557         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
5558         gl_PTHREAD_SIGMASK.
5559         * modules/pthread_sigmask (configure.ac): Update.
5560
5561 2011-07-07  Bruno Haible  <bruno@clisp.org>
5562
5563         pthread_sigmask: Make declaration C++ safe.
5564         * lib/signal.in.h: In two special conditions, just do an #include_next.
5565         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5566         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
5567         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
5568         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
5569         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
5570         not REPLACE_PTHREAD_MASK.
5571         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
5572         not REPLACE_PTHREAD_MASK.
5573         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
5574
5575 2011-07-07  Bruno Haible  <bruno@clisp.org>
5576
5577         pthread_sigmask: Fix return value.
5578         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
5579         * lib/pthread_sigmask.c: New file.
5580         * modules/pthread_sigmask (Files): Add it.
5581         (configure.ac): Invoke AC_LIBOBJ.
5582
5583 2011-07-07  Eric Blake  <eblake@redhat.com>
5584
5585         getopt: more portable argv creation
5586         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
5587         const, use char arrays rather than strings.
5588         Suggested by Paul Eggert.
5589
5590 2011-07-07  Bruno Haible  <bruno@clisp.org>
5591
5592         Tests for module 'sigprocmask'.
5593         * modules/sigprocmask-tests: New file.
5594         * tests/test-sigprocmask.c: New file.
5595
5596 2011-07-07  Bruno Haible  <bruno@clisp.org>
5597
5598         float tests: Tweak.
5599         * tests/test-float.c (main): Tweak skip message.
5600
5601 2011-07-07  Eric Blake  <eblake@redhat.com>
5602
5603         getopt: avoid compiler warning during configure
5604         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
5605         assigning string literals to non-const pointer.
5606
5607         getopt-gnu: avoid crash in glibc getopt
5608         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
5609         * tests/test-getopt.h (test_getopt): Enhance test.
5610         * tests/test-getopt_long.h (test_getopt_long): Likewise.
5611         * doc/posix-functions/getopt.texi (getopt): Document it.
5612         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5613         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5614         Likewise.
5615
5616 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
5617
5618         getopt: handle W; without long options in getopt [BZ #12922]
5619         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
5620         but no long options are defined, just return 'W'.
5621
5622 2011-07-07  Bruno Haible  <bruno@clisp.org>
5623
5624         Avoid literal tabs.
5625         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
5626         variable containing a tab instead of a literal tab.
5627         Reported by Jim Meyering.
5628
5629 2011-07-07  Bruno Haible  <bruno@clisp.org>
5630
5631         Comments.
5632         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
5633
5634 2011-07-06  Bruno Haible  <bruno@clisp.org>
5635
5636         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
5637         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
5638         <winsock2.h>.
5639         (rpl_fd_isset, FD_ISSET): New definitions, copied from
5640         lib/sys_socket.in.h.
5641         (close, gethostname): Hide declarations from <winsock2.h>.
5642         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5643         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
5644         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
5645         (select): Don't override if gnulib's <sys/select.h> was already
5646         included.
5647         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
5648         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
5649         setsockopt, shutdown, select): Tweak indentation.
5650
5651 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5652
5653         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
5654         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
5655         in an application that does not use the sys_select module.
5656
5657 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
5658
5659         poll: do not return 0 on timeout=-1
5660         * lib/poll.c: Loop with yield if no events occured
5661
5662 2011-07-06  Eric Blake  <eblake@redhat.com>
5663
5664         pthread_sigmask: always replace when not using pthread
5665         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
5666         replacement when using some threading other than pthread.  Fix
5667         logic bug.
5668
5669 2011-07-06  Bruno Haible  <bruno@clisp.org>
5670
5671         Comments.
5672         * m4/printf.m4: Update comments about mingw.
5673
5674 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5675
5676         sys_select: define sigset_t more portably
5677         * lib/sys_select.in.h: Always include <sys/types.h>, since
5678         we now need sigset_t and mingw defines it there.
5679         Include <signal.h> before split inclusion guard, to avoid
5680         mishaps on Solaris, whose <signal.h> eventually includes us.
5681         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
5682         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
5683         which come from ...
5684         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
5685         gl_CHECK_TYPE_SIGSET_T.
5686         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
5687         does the real work.
5688         * modules/sys_select (Depends-on): Add 'signal'.
5689
5690         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
5691         Suggested by Bruno Haible.
5692
5693         pselect: Use pthread_sigmask, not sigprocmask.
5694         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
5695         multithreaded apps better than sigprocmask does.
5696         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
5697         sigprocmask directly.
5698
5699 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
5700
5701         * lib/pselect.c (pselect): Use plain name, without "rpl_".
5702         Don't #undef,  since we don't need any underlying pselect.
5703         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
5704         (Depends-on): Add select.
5705         (Link): Add $(LIBSOCKET).
5706         These changes suggested by Bruno Haible.
5707
5708         pselect: document better
5709         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5710         * doc/posix-functions/pselect.texi (pselect): Document new module.
5711
5712         pthread_sigmask: new module
5713         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
5714         * doc/posix-functions/pthread_sigmask.texi: Document new module.
5715         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
5716         This is done only as a macro; I don't know how well that'll
5717         work for C++.  Move <sys/types.h> include before the include_next,
5718         to avoid mishap on Solaris.
5719         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
5720         * modules/signal (Makefile.am): Substitute the check's results.
5721         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
5722
5723         test-pselect: new module
5724         * modules/pselect-tests, tests/test-pselect.c: New files.
5725         * tests/test-select.c, tests/test-sys_select-c++.cc:
5726         If TEST_PSELECT is defined, test pselect instead of testing select.
5727
5728         * tests/test-sys_select.c (sigset_t): Test for it, too.
5729         Suggested by Bruno Haible.
5730
5731 2011-07-05  Eric Blake  <eblake@redhat.com>
5732
5733         snprintf: guarantee %1$d, for libintl
5734         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
5735         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
5736         * doc/posix-functions/snprintf.texi (snprintf): Update.
5737         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5738         * tests/test-snprintf.c (main): Enhance test.
5739         * tests/test-vsnprintf.c (main): Likewise.
5740
5741 2011-07-05  Jim Meyering  <meyering@redhat.com>
5742
5743         maint: exempt stdio-read.c and stdio-write.c from the cppi check
5744         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
5745         per Bruno's request, to accommodate this idiom (no space after "#")
5746         even when the function is inside an #if block:
5747         char *
5748         gets (char *s)
5749         #undef gets
5750         {
5751           ...
5752         }
5753
5754 2011-07-04  Jim Meyering  <meyering@redhat.com>
5755
5756         maint: indent with spaces, not TABs, and add a rule to check this
5757         * tests/test-userspec.c: Indent with spaces, not TABs.
5758         * tests/test-argp.c: Likewise.
5759         * tests/test-c-stack2.sh: Likewise.
5760         * tests/test-parse-duration.sh: Likewise
5761         * m4/strtod.m4: Likewise.
5762         * m4/alloca.m4: Likewise.
5763         * m4/pselect.m4: Likewise.
5764         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
5765
5766 2011-07-03  Jim Meyering  <meyering@redhat.com>
5767
5768         maint.mk: correct omissions in prohibit_argmatch_without_use check
5769         This rule would mistakenly report that argmatch.h is included without
5770         use even when both the argmatch and invalid_arg macro were used.
5771         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
5772         of argmatch and invalid_arg.
5773
5774 2011-07-03  Bruno Haible  <bruno@clisp.org>
5775
5776         Comments about EINTR.
5777         * lib/safe-read.h: Explain the purpose of this module.
5778         * lib/safe-write.h: Likewise.
5779         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
5780         module.
5781         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
5782         module.
5783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5784
5785 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
5786
5787         xnanosleep: Rewrite to use new dtotimespec module.
5788         It has the conversion code that used to be in xnanosleep.
5789         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
5790         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
5791         (TIME_T_MAX): Remove.
5792         (xnanosleep): Rewrite in terms of dtotimespec.
5793         * modules/xnanosleep (Depends-on): Add dtotimespec.
5794         Remove intprops, stdbool.
5795
5796         timespec-add, timespec-sub: new modules
5797         * lib/timespec.h (timespec_add, timespec_sub): New decls.
5798         * lib/timespec-add.c, lib/timespec-sub.c:
5799         * modules/timespec-add, modules/timespec-sub: New files.
5800
5801         dtotimespec: new module
5802         * lib/timespec.h (dtotimespec): New decl.
5803         * lib/dtotimespec.c, modules/dtotimespec: New files.
5804
5805         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
5806
5807         pselect: new module
5808         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
5809         (pselect): New decls.
5810         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
5811         since the standard pselect decl uses 'restrict'.
5812         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
5813         HAVE_PSELECT, REPLACE_PSELECT.
5814         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
5815         HAVE_PSELECT, REPLACE_PSELECT.
5816         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
5817
5818         sys_select: don't depend on sys_socket
5819         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
5820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
5821         This fix works on GNU and GNU-like platforms, but has not been tested
5822         on native Windows.
5823         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
5824         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
5825         gl_HEADER_SYS_SOCKET.
5826         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
5827         gl_PREREQ_SYS_H_WINSOCK2.
5828
5829 2011-06-29  Eric Blake  <eblake@redhat.com>
5830
5831         pipe2: fix C89 compile problem
5832         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
5833         Reported by Bruno Haible.
5834
5835         pipe, pipe2: don't corrupt fd on error
5836         * lib/pipe.c (pipe): Leave fd unchanged on error.
5837         * lib/pipe2.c (pipe2): Likewise.
5838         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
5839         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
5840
5841 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
5842
5843         mmap-anon: do not use regular expressions inadvertently
5844         * m4/mmap-anon.m4: Remove trailing period from strings sought
5845         in the output.
5846
5847 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5848
5849         nanosleep: fix integer overflow problem
5850         * lib/nanosleep.c (my_usleep): Don't assume signed integer
5851         arithmetic wraps around on overflow.
5852
5853         nanosleep: simplify carrying
5854         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
5855         first call to the underyling nanosleep, not for the last one.
5856         This doesn't fix any bugs, but it simplifies the computation of
5857         the remaining delay.  Found while auditing integer overflow issues.
5858
5859         dup2: remove test for existence of fcntl
5860         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
5861         "#if HAVE_FCNTL", in the configure-time test program.
5862         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
5863         and therefore speeds up "configure" a bit.  Found while
5864         adding the dup2 module to Emacs.
5865
5866 2011-06-24  Eric Blake  <eblake@redhat.com>
5867
5868         maint.mk: enhance useless header checks
5869         * top/maint.mk (_sc_header_without_use): Check both include
5870         styles.
5871         (sc_prohibit_assert_without_use)
5872         (sc_prohibit_close_stream_without_use)
5873         (sc_prohibit_getopt_without_use)
5874         (sc_prohibit_quotearg_without_use)
5875         (sc_prohibit_quote_without_use)
5876         (sc_prohibit_long_options_without_use)
5877         (sc_prohibit_inttostr_without_use)
5878         (sc_prohibit_ignore_value_without_use)
5879         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
5880         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
5881         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
5882         (sc_prohibit_hash_pjw_without_use)
5883         (sc_prohibit_safe_read_without_use)
5884         (sc_prohibit_argmatch_without_use)
5885         (sc_prohibit_canonicalize_without_use)
5886         (sc_prohibit_root_dev_ino_without_use)
5887         (sc_prohibit_openat_without_use)
5888         (sc_prohibit_c_ctype_without_use)
5889         (sc_prohibit_signal_without_use)
5890         (sc_prohibit_stdio--_without_use)
5891         (sc_prohibit_stdio-safer_without_use)
5892         (sc_prohibit_strings_without_use)
5893         (sc_prohibit_intprops_without_use)
5894         (sc_prohibit_stddef_without_use)
5895         (sc_prohibit_xfreopen_without_use): Update clients.
5896
5897 2011-06-24  Jim Meyering  <meyering@redhat.com>
5898
5899         syntax-check: keep one maint.mk rule in sync with its header
5900         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
5901         of the bug Eric has just fixed, with today's commit 25e4c2ec.
5902         I prefer to avoid temporary files here, so use <(...), but that
5903         is not supported by /bin/sh, so...
5904         (SHELL): Define to /bin/bash.
5905
5906 2011-06-24  Eric Blake  <eblake@redhat.com>
5907
5908         maint.mk: update sc_prohibit_intprops_without_use
5909         * top/maint.mk (_intprops_names): Match recent changes.
5910
5911 2011-06-24  Bruno Haible  <bruno@clisp.org>
5912
5913         strerror-override: No-op tweak.
5914         * lib/strerror-override.h (strerror_override): Reorder conditions,
5915         for consistency with lib/strerror-override.c.
5916
5917 2011-06-23  Eric Blake  <eblake@redhat.com>
5918
5919         maint.mk: test further PATH_MAX issues
5920         * top/maint.mk (sc_prohibit_path_max_array): Rename...
5921         (sc_prohibit_path_max_allocation): ...and also test alloca.
5922         Suggested by Jim Meyering.
5923
5924 2011-06-22  Eric Blake  <eblake@redhat.com>
5925
5926         maint.mk: add syntax-check to avoid char[PATH_MAX]
5927         * top/maint.mk (sc_prohibit_path_max_array): New rule.
5928
5929         stat: be robust to PATH_MAX definition
5930         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
5931         * modules/stat (Depends-on): Add verify.
5932
5933         link: work around IRIX bug
5934         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
5935         * lib/link.c (rpl_link): Work around it.
5936         * tests/test-link.h (test_link): Enhance test.
5937         * doc/posix-functions/link.texi (link): Document the bug.
5938
5939         getopt: silence clang warning
5940         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
5941         dereference.
5942         Reported by Gustavo Martin Domato.
5943
5944 2011-06-22  Jim Meyering  <meyering@redhat.com>
5945
5946         bootstrap: do not insert a blank line into each .gitignore file
5947         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
5948
5949 2011-06-21  Eric Blake  <eblake@redhat.com>
5950
5951         perror: test for output mismatch
5952         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
5953         perror on IRIX.
5954
5955         strerror_r: fix OpenBSD behavior on out-of-range
5956         * lib/strerror_r.c (strerror_r): Always use maximal string.
5957         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5958
5959         strerror_r: fix OpenBSD behavior on 0
5960         * lib/strerror-override.c (strerror_override): Also override 0
5961         when needed.
5962         * lib/strerror-override.h (strerror_override): Likewise.
5963         * lib/strerror.c (strerror): Simplify, now that 0 override is done
5964         earlier.
5965         * lib/strerror_r.c (strerror_r): Likewise.
5966         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
5967         behavior...
5968         (gl_FUNC_STRERROR_0): ...into new macro.
5969         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
5970         is overridden.
5971         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
5972         * modules/strerror-override (Files): Add strerror.m4.
5973         (configure.ac): Also provide override for 0 when needed.
5974         * doc/posix-functions/strerror.texi (strerror): Document this.
5975         * doc/posix-functions/perror.texi (perror): Likewise.
5976
5977         perror: adjust array size
5978         * modules/perror (Depends-on): Add strerror-override.
5979         * lib/perror.c (perror): Use it to avoid magic number.
5980
5981         strerror-override: reduce size
5982         * lib/strerror-override.c (strerror_override): Use fewer lines.
5983
5984 2011-06-20  Bruno Haible  <bruno@clisp.org>
5985
5986         pathmax: Ensure correct value for PATH_MAX on HP-UX.
5987         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
5988
5989 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5990
5991         alloca: port to compilers that can optimize like GCC 4.6.0
5992         * lib/alloca.c (find_stack_direction): New signature, taken from
5993         Autoconf git.  This works with GCC 4.6.0.  This code should never
5994         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
5995         be used with other compilers that optimize as well as GCC 4.6.0 does.
5996         (alloca): Adjust to new signature.
5997         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
5998         New macro, which patches Autoconf in a similar way.
5999
6000         c-stack: stop worrying about stack direction
6001         * lib/c-stack.c (find_stack_direction): Remove.
6002         (segv_handler): Don't worry about stack direction growth, as it's
6003         too much of a pain to configure this correctly, given how compilers
6004         are optimizing-away our stack-growth detection code.  Instead, assume
6005         that any access to just before or just after the stack is OK.
6006         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
6007         Don't require AC_FUNC_ALLOCA; no longer needed.
6008
6009 2011-06-20  Eric Blake  <eblake@redhat.com>
6010
6011         test-stat: don't allocate PATH_MAX bytes
6012         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
6013         PATH_MAX-sized buffer.
6014         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
6015         * modules/stat-tests (Depends-on): Likewise.
6016         * tests/test-fstatat.c (includes): Drop pathmax.h.
6017         * tests/test-stat.c (includes): Likewise.
6018         Reported by Bruno Haible.
6019
6020 2011-06-20  Bruno Haible  <bruno@clisp.org>
6021
6022         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
6023         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
6024         * lib/float.c: New file.
6025         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
6026         REPLACE_FLOAT_LDBL.
6027         * modules/float (Files): Add lib/float.c.
6028         (configure.ac): Invoke AC_LIBOBJ.
6029         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
6030
6031 2011-06-20  Bruno Haible  <bruno@clisp.org>
6032
6033         Tests for module 'float'.
6034         * modules/float-tests: New file.
6035         * tests/test-float.c: New file.
6036
6037 2011-06-19  Bruno Haible  <bruno@clisp.org>
6038
6039         isinf: Coding style.
6040         * lib/isinf.c: Use GNU coding style.
6041
6042 2011-06-19  Bruno Haible  <bruno@clisp.org>
6043
6044         linkat test: Avoid test failure on AIX 7.1.
6045         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
6046         * tests/test-link.h (test_link): Likewise.
6047
6048 2011-06-19  Bruno Haible  <bruno@clisp.org>
6049
6050         pread test: Avoid test failure on OpenBSD 4.9.
6051         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
6052
6053 2011-06-19  Bruno Haible  <bruno@clisp.org>
6054
6055         sprintf-posix: Fix test failure on AIX 7.1.
6056         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
6057         * doc/posix-functions/dprintf.texi: Mention limited precision problem
6058         on AIX.
6059         * doc/posix-functions/fprintf.texi: Likewise.
6060         * doc/posix-functions/printf.texi: Likewise.
6061         * doc/posix-functions/snprintf.texi: Likewise.
6062         * doc/posix-functions/sprintf.texi: Likewise.
6063         * doc/posix-functions/vdprintf.texi: Likewise.
6064         * doc/posix-functions/vfprintf.texi: Likewise.
6065         * doc/posix-functions/vprintf.texi: Likewise.
6066         * doc/posix-functions/vsnprintf.texi: Likewise.
6067         * doc/posix-functions/vsprintf.texi: Likewise.
6068
6069 2011-06-19  Bruno Haible  <bruno@clisp.org>
6070
6071         roundl-ieee: Fix test failure on AIX 7.1.
6072         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
6073         * doc/posix-functions/roundl.texi: Mention problem with negative
6074         arguments.
6075
6076 2011-06-19  Bruno Haible  <bruno@clisp.org>
6077
6078         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6079         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
6080         * doc/posix-functions/round.texi: Mention problem with negative
6081         arguments.
6082         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
6083
6084 2011-06-19  Bruno Haible  <bruno@clisp.org>
6085
6086         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
6087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
6088         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
6089         * doc/posix-functions/roundf.texi: Mention problem with negative
6090         arguments.
6091         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
6092
6093 2011-06-19  Bruno Haible  <bruno@clisp.org>
6094
6095         ceilf-ieee: Work around bug on MacOS X 10.5.
6096         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
6097
6098         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
6099         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
6100         IEEE compliant, avoid compiler optimizations.
6101         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6102         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6103         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6104         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6105         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6106         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6107         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6108         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6109         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6110         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6111
6112 2011-06-19  Bruno Haible  <bruno@clisp.org>
6113
6114         ceilf-ieee: Work around bug on AIX 7.1.
6115         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
6116         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
6117
6118 2011-06-19  Bruno Haible  <bruno@clisp.org>
6119
6120         ceil-ieee: Work around bug on AIX 7.1.
6121         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
6122         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
6123
6124 2011-06-18  Bruno Haible  <bruno@clisp.org>
6125
6126         fsync test: Avoid test failure on MacOS X and AIX.
6127         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
6128         EINVAL.
6129
6130 2011-06-18  Bruno Haible  <bruno@clisp.org>
6131
6132         openat, fdopendir tests: Fix link errors.
6133         * modules/openat-tests (Depends-on): Add progname.
6134         * modules/fdopendir-tests (Depends-on): Likewise.
6135         * tests/test-fchownat.c: Include progname.h.
6136         (main): Call set_program_name.
6137         * tests/test-fstatat.c: Include progname.h.
6138         (main): Call set_program_name.
6139         * tests/test-mkdirat.c: Include progname.h.
6140         (main): Call set_program_name.
6141         * tests/test-openat.c: Include progname.h.
6142         (main): Call set_program_name.
6143         * tests/test-unlinkat.c: Include progname.h.
6144         (main): Call set_program_name.
6145         * tests/test-fdopendir.c: Include progname.h.
6146         (main): Call set_program_name.
6147
6148 2011-06-18  Bruno Haible  <bruno@clisp.org>
6149
6150         Doc update.
6151         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
6152         HP-UX.
6153         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
6154
6155 2011-06-18  Bruno Haible  <bruno@clisp.org>
6156
6157         getcwd tests: Avoid compilation error on HP-UX 11.31.
6158         * modules/getcwd-tests (Depends-on): Add pathmax.
6159         * tests/test-getcwd.c: Include pathmax.h.
6160
6161 2011-06-18  Bruno Haible  <bruno@clisp.org>
6162
6163         isfinite, isinf: Fix link error on AIX 6 and 7.
6164         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
6165         needed, also test the macro with a 'float' argument.
6166         * m4/isinf.m4 (gl_ISINF): Likewise.
6167
6168 2011-06-18  Bruno Haible  <bruno@clisp.org>
6169
6170         getloadavg: Don't clobber LIBS. Regression from previous commit.
6171         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
6172         AC_CHECK_LIB from here...
6173         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
6174         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
6175         gl_func_getloadavg_done.
6176         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6177
6178 2011-06-18  Bruno Haible  <bruno@clisp.org>
6179
6180         clean-temp: Improve documentation.
6181         * lib/clean-temp.h: Explain better how to use this module.
6182         Reported by John Darrington <john@darrington.wattle.id.au>.
6183
6184 2011-06-17  Bruno Haible  <bruno@clisp.org>
6185
6186         pread, pwrite: Avoid cc warning on AIX.
6187         * lib/unistd.in.h (pread): Undefine before defining as a macro.
6188         (pwrite): Likewise.
6189
6190 2011-06-17  Bruno Haible  <bruno@clisp.org>
6191
6192         spawn-pipe tests: Fix link error.
6193         * tests/test-spawn-pipe-child.c: Undefine fprintf.
6194         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6195
6196 2011-06-17  Bruno Haible  <bruno@clisp.org>
6197
6198         Tests: Remove unnecessary dependency.
6199         * modules/canonicalize-tests (Depends-on): Remove progname.
6200         * modules/chown-tests (Depends-on): Likewise.
6201         * modules/dirname-tests (Depends-on): Likewise.
6202         * modules/fdopendir-tests (Depends-on): Likewise.
6203         * modules/fdutimensat-tests (Depends-on): Likewise.
6204         * modules/hash-tests (Depends-on): Likewise.
6205         * modules/lchown-tests (Depends-on): Likewise.
6206         * modules/linkat-tests (Depends-on): Likewise.
6207         * modules/renameat-tests (Depends-on): Likewise.
6208         * modules/spawn-pipe-tests (Depends-on): Likewise.
6209         * modules/utimensat-tests (Depends-on): Likewise.
6210
6211 2011-06-17  Bruno Haible  <bruno@clisp.org>
6212
6213         spawn-pipe tests: Fix link error.
6214         * tests/test-spawn-pipe-child.c: Undefine fflush.
6215
6216 2011-06-17  Bruno Haible  <bruno@clisp.org>
6217
6218         Fix tests link errors.
6219         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
6220         * modules/chown-tests (Makefile.am): Don't link test-chown with
6221         LIBINTL.
6222         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
6223         LIBINTL.
6224         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
6225         LIBINTL.
6226         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
6227         LIBINTL.
6228
6229 2011-06-16  Bruno Haible  <bruno@clisp.org>
6230
6231         crypto/gc-sha1: Fix recent regression.
6232         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
6233         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
6234
6235         crypto/gc-md5: Fix recent regression.
6236         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
6237
6238         crypto/gc-md4: Fix recent regression.
6239         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
6240         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
6241
6242         crypto/gc-arctwo: Fix recent regression.
6243         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
6244         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
6245
6246         crypto/gc-rijndael: Fix recent regression.
6247         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
6248         (configure.ac): Invoke AC_LIBOBJ here.
6249         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
6250         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6251
6252         crypto/gc-hmac-sha1: Fix recent regression.
6253         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
6254         (configure.ac): Invoke AC_LIBOBJ here.
6255         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
6256         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6257
6258         crypto/gc-hmac-md5: Fix recent regression.
6259         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
6260         (configure.ac): Invoke AC_LIBOBJ here.
6261         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
6262         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6263
6264         crypto/gc-des: Fix recent regression.
6265         * modules/crypto/gc-des (Files): Remove m4/des.m4.
6266         (configure.ac): Invoke AC_LIBOBJ here.
6267         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
6268         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6269
6270         crypto/gc-arcfour: Fix recent regression.
6271         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
6272         (configure.ac): Invoke AC_LIBOBJ here.
6273         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
6274         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6275
6276 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
6277
6278         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
6279         After the 2011-05-21 change, this macro requires
6280         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
6281         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6282
6283 2011-06-16  Bruno Haible  <bruno@clisp.org>
6284
6285         fprintftime: Move AC_LIBOBJ invocations to module description.
6286         * m4/fprintftime.m4: Remove file.
6287         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
6288         (configure.ac): Remove gl_FPRINTFTIME call.
6289         (Makefile.am): Augment lib_SOURCES.
6290         Reported by Jim Meyering.
6291
6292 2011-06-16  Bruno Haible  <bruno@clisp.org>
6293
6294         tmpfile-safer: Finish 2011-05-23 commit.
6295         * m4/stdio-safer.m4: Really remove file.
6296         Reported by Jim Meyering.
6297
6298 2011-06-16  Bruno Haible  <bruno@clisp.org>
6299
6300         syntax-check: Fix typo.
6301         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
6302         printf-posix.m4.
6303         Reported by Jim Meyering.
6304
6305 2011-06-13  Jim Meyering  <meyering@redhat.com>
6306
6307         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
6308         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
6309
6310 2011-05-23  Bruno Haible  <bruno@clisp.org>
6311
6312         yesno: Move AC_LIBOBJ invocations to module description.
6313         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
6314         * modules/yesno (Makefile.am): Augment lib_SOURCES.
6315
6316 2011-05-23  Bruno Haible  <bruno@clisp.org>
6317
6318         xstrtol: Move AC_LIBOBJ invocations to module description.
6319         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
6320         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
6321
6322 2011-05-23  Bruno Haible  <bruno@clisp.org>
6323
6324         xstrtold: Move AC_LIBOBJ invocations to module description.
6325         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
6326         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
6327
6328 2011-05-23  Bruno Haible  <bruno@clisp.org>
6329
6330         xstrtod: Move AC_LIBOBJ invocations to module description.
6331         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
6332         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
6333
6334 2011-05-23  Bruno Haible  <bruno@clisp.org>
6335
6336         xnanosleep: Move AC_LIBOBJ invocations to module description.
6337         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
6338         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
6339
6340 2011-05-23  Bruno Haible  <bruno@clisp.org>
6341
6342         xgetcwd: Move AC_LIBOBJ invocations to module description.
6343         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
6344         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
6345
6346 2011-05-23  Bruno Haible  <bruno@clisp.org>
6347
6348         xalloc: Move AC_LIBOBJ invocations to module description.
6349         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
6350         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
6351
6352 2011-05-23  Bruno Haible  <bruno@clisp.org>
6353
6354         write-any-file: Move AC_LIBOBJ invocations to module description.
6355         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
6356         invocation.
6357         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
6358
6359 2011-05-23  Bruno Haible  <bruno@clisp.org>
6360
6361         utimens: Move AC_LIBOBJ invocations to module description.
6362         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
6363         * modules/utimens (Makefile.am): Augment lib_SOURCES.
6364
6365 2011-05-23  Bruno Haible  <bruno@clisp.org>
6366
6367         utimecmp: Move AC_LIBOBJ invocations to module description.
6368         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
6369         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
6370
6371 2011-05-23  Bruno Haible  <bruno@clisp.org>
6372
6373         userspec: Move AC_LIBOBJ invocations to module description.
6374         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
6375         * modules/userspec (Makefile.am): Augment lib_SOURCES.
6376
6377 2011-05-23  Bruno Haible  <bruno@clisp.org>
6378
6379         unlinkdir: Move AC_LIBOBJ invocations to module description.
6380         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
6381         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
6382
6383 2011-05-23  Bruno Haible  <bruno@clisp.org>
6384
6385         unistd-safer: Move AC_LIBOBJ invocations to module description.
6386         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
6387         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
6388
6389 2011-05-23  Bruno Haible  <bruno@clisp.org>
6390
6391         tempname: Move AC_LIBOBJ invocations to module description.
6392         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
6393         * modules/tempname (Makefile.am): Augment lib_SOURCES.
6394
6395 2011-05-23  Bruno Haible  <bruno@clisp.org>
6396
6397         strftime: Move AC_LIBOBJ invocations to module description.
6398         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
6399         * modules/strftime (Makefile.am): Augment lib_SOURCES.
6400
6401 2011-05-23  Bruno Haible  <bruno@clisp.org>
6402
6403         stdlib-safer: Move AC_LIBOBJ invocations to module description.
6404         * m4/stdlib-safer.m4: Remove file.
6405         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
6406         (configure.ac): Remove gl_STDLIB_SAFER call.
6407         (Makefile.am): Augment lib_SOURCES.
6408
6409 2011-05-23  Bruno Haible  <bruno@clisp.org>
6410
6411         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
6412         * m4/stdio-safer.m4: Remove file.
6413         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
6414         (configure.ac): Remove gl_TMPFILE_SAFER call.
6415         (Makefile.am): Augment lib_SOURCES.
6416
6417 2011-05-23  Bruno Haible  <bruno@clisp.org>
6418
6419         popen-safer: Move AC_LIBOBJ invocations to module description.
6420         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
6421         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
6422         (configure.ac): Remove gl_POPEN_SAFER call.
6423         (Makefile.am): Augment lib_SOURCES.
6424
6425 2011-05-23  Bruno Haible  <bruno@clisp.org>
6426
6427         freopen-safer: Move AC_LIBOBJ invocations to module description.
6428         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
6429         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
6430         (configure.ac): Remove gl_FREOPEN_SAFER call.
6431         (Makefile.am): Augment lib_SOURCES.
6432
6433 2011-05-23  Bruno Haible  <bruno@clisp.org>
6434
6435         fopen-safer: Move AC_LIBOBJ invocations to module description.
6436         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
6437         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
6438         (configure.ac): Remove gl_FOPEN_SAFER call.
6439         (Makefile.am): Augment lib_SOURCES.
6440
6441 2011-05-23  Bruno Haible  <bruno@clisp.org>
6442
6443         crypto/sha512: Move AC_LIBOBJ invocations to module description.
6444         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
6445         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
6446
6447 2011-05-23  Bruno Haible  <bruno@clisp.org>
6448
6449         crypto/sha256: Move AC_LIBOBJ invocations to module description.
6450         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
6451         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
6452
6453 2011-05-23  Bruno Haible  <bruno@clisp.org>
6454
6455         crypto/sha1: Move AC_LIBOBJ invocations to module description.
6456         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
6457         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
6458
6459 2011-05-23  Bruno Haible  <bruno@clisp.org>
6460
6461         settime: Move AC_LIBOBJ invocations to module description.
6462         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
6463         * modules/settime (Makefile.am): Augment lib_SOURCES.
6464
6465 2011-05-23  Bruno Haible  <bruno@clisp.org>
6466
6467         savedir: Move AC_LIBOBJ invocations to module description.
6468         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
6469         * modules/savedir (Makefile.am): Augment lib_SOURCES.
6470
6471 2011-05-23  Bruno Haible  <bruno@clisp.org>
6472
6473         save-cwd: Move AC_LIBOBJ invocations to module description.
6474         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
6475         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
6476
6477 2011-05-23  Bruno Haible  <bruno@clisp.org>
6478
6479         same: Move AC_LIBOBJ invocations to module description.
6480         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
6481         * modules/same (Makefile.am): Augment lib_SOURCES.
6482
6483 2011-05-23  Bruno Haible  <bruno@clisp.org>
6484
6485         safe-write: Move AC_LIBOBJ invocations to module description.
6486         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
6487         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
6488         instead of gl_SAFE_WRITE.
6489         (Makefile.am): Augment lib_SOURCES.
6490
6491 2011-05-23  Bruno Haible  <bruno@clisp.org>
6492
6493         safe-read: Move AC_LIBOBJ invocations to module description.
6494         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
6495         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
6496         of gl_SAFE_READ.
6497         (Makefile.am): Augment lib_SOURCES.
6498
6499 2011-05-23  Bruno Haible  <bruno@clisp.org>
6500
6501         safe-alloc: Move AC_LIBOBJ invocations to module description.
6502         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
6503         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
6504
6505 2011-05-23  Bruno Haible  <bruno@clisp.org>
6506
6507         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
6508         * m4/rijndael.m4: Remove file.
6509         * modules/crypto/rijndael (Files): Remove it.
6510         (configure.ac): Remove gl_RIJNDAEL call.
6511         (Makefile.am): Augment lib_SOURCES.
6512
6513 2011-05-23  Bruno Haible  <bruno@clisp.org>
6514
6515         readtokens: Move AC_LIBOBJ invocations to module description.
6516         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
6517         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
6518
6519 2011-05-23  Bruno Haible  <bruno@clisp.org>
6520
6521         read-file: Move AC_LIBOBJ invocations to module description.
6522         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
6523         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
6524         of gl_FUNC_READ_FILE.
6525         (Makefile.am): Augment lib_SOURCES.
6526
6527 2011-05-23  Bruno Haible  <bruno@clisp.org>
6528
6529         quotearg: Move AC_LIBOBJ invocations to module description.
6530         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
6531         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
6532
6533 2011-05-23  Bruno Haible  <bruno@clisp.org>
6534
6535         quote: Move AC_LIBOBJ invocations to module description.
6536         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
6537         * modules/quote (Makefile.am): Augment lib_SOURCES.
6538
6539 2011-05-23  Bruno Haible  <bruno@clisp.org>
6540
6541         posixver: Move AC_LIBOBJ invocations to module description.
6542         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
6543         * modules/posixver (Makefile.am): Augment lib_SOURCES.
6544
6545 2011-05-23  Bruno Haible  <bruno@clisp.org>
6546
6547         posixtm: Move AC_LIBOBJ invocations to module description.
6548         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
6549         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
6550
6551 2011-05-23  Bruno Haible  <bruno@clisp.org>
6552
6553         physmem: Move AC_LIBOBJ invocations to module description.
6554         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
6555         * modules/physmem (Makefile.am): Augment lib_SOURCES.
6556
6557 2011-05-23  Bruno Haible  <bruno@clisp.org>
6558
6559         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
6560         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
6561         invocation.
6562         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
6563
6564 2011-05-23  Bruno Haible  <bruno@clisp.org>
6565
6566         mpsort: Move AC_LIBOBJ invocations to module description.
6567         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
6568         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
6569
6570 2011-05-23  Bruno Haible  <bruno@clisp.org>
6571
6572         modechange: Move AC_LIBOBJ invocations to module description.
6573         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
6574         * modules/modechange (Makefile.am): Augment lib_SOURCES.
6575
6576 2011-05-23  Bruno Haible  <bruno@clisp.org>
6577
6578         mkdir-p: Move AC_LIBOBJ invocations to module description.
6579         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
6580         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
6581
6582 2011-05-23  Bruno Haible  <bruno@clisp.org>
6583
6584         mkancesdirs: Move AC_LIBOBJ invocations to module description.
6585         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
6586         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
6587
6588 2011-05-23  Bruno Haible  <bruno@clisp.org>
6589
6590         mgetgroups: Move AC_LIBOBJ invocations to module description.
6591         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
6592         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
6593
6594 2011-05-23  Bruno Haible  <bruno@clisp.org>
6595
6596         memxor: Move AC_LIBOBJ invocations to module description.
6597         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
6598         * modules/memxor (Makefile.am): Augment lib_SOURCES.
6599
6600 2011-05-23  Bruno Haible  <bruno@clisp.org>
6601
6602         memcoll: Move AC_LIBOBJ invocations to module description.
6603         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
6604         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
6605
6606 2011-05-23  Bruno Haible  <bruno@clisp.org>
6607
6608         memcasecmp: Move AC_LIBOBJ invocations to module description.
6609         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
6610         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
6611
6612 2011-05-23  Bruno Haible  <bruno@clisp.org>
6613
6614         crypto/md5: Move AC_LIBOBJ invocations to module description.
6615         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
6616         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
6617
6618 2011-05-23  Bruno Haible  <bruno@clisp.org>
6619
6620         crypto/md4: Move AC_LIBOBJ invocations to module description.
6621         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
6622         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
6623
6624 2011-05-23  Bruno Haible  <bruno@clisp.org>
6625
6626         crypto/md2: Move AC_LIBOBJ invocations to module description.
6627         * m4/md2.m4: Remove file.
6628         * modules/crypto/md2 (Files): Remove it.
6629         (configure.ac): Remove gl_MD2 call.
6630         (Makefile.am): Augment lib_SOURCES.
6631
6632 2011-05-23  Bruno Haible  <bruno@clisp.org>
6633
6634         long-options: Move AC_LIBOBJ invocations to module description.
6635         * m4/long-options.m4: Remove file.
6636         * modules/long-options (Files): Remove it.
6637         (configure.ac): Remove gl_LONG_OPTIONS call.
6638         (Makefile.am): Augment lib_SOURCES.
6639
6640 2011-05-23  Bruno Haible  <bruno@clisp.org>
6641
6642         i-ring: Move AC_LIBOBJ invocations to module description.
6643         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
6644         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
6645
6646 2011-05-23  Bruno Haible  <bruno@clisp.org>
6647
6648         idcache: Move AC_LIBOBJ invocations to module description.
6649         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
6650         * modules/idcache (Makefile.am): Augment lib_SOURCES.
6651
6652 2011-05-23  Bruno Haible  <bruno@clisp.org>
6653
6654         human: Move AC_LIBOBJ invocations to module description.
6655         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
6656         * modules/human (Makefile.am): Augment lib_SOURCES.
6657
6658 2011-05-23  Bruno Haible  <bruno@clisp.org>
6659
6660         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
6661         * m4/hmac-sha1.m4: Remove file.
6662         * modules/crypto/hmac-sha1 (Files): Remove it.
6663         (configure.ac): Remove gl_HMAC_SHA1 call.
6664         (Makefile.am): Augment lib_SOURCES.
6665
6666 2011-05-23  Bruno Haible  <bruno@clisp.org>
6667
6668         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
6669         * m4/hmac-md5.m4: Remove file.
6670         * modules/crypto/hmac-md5 (Files): Remove it.
6671         (configure.ac): Remove gl_HMAC_MD5 call.
6672         (Makefile.am): Augment lib_SOURCES.
6673
6674 2011-05-23  Bruno Haible  <bruno@clisp.org>
6675
6676         hash: Move AC_LIBOBJ invocations to module description.
6677         * m4/hash.m4: Remove file.
6678         * modules/hash (Files): Remove it.
6679         (configure.ac): Remove gl_HASH call.
6680         (Makefile.am): Augment lib_SOURCES.
6681
6682 2011-05-23  Bruno Haible  <bruno@clisp.org>
6683
6684         hard-locale: Move AC_LIBOBJ invocations to module description.
6685         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
6686         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
6687
6688 2011-05-23  Bruno Haible  <bruno@clisp.org>
6689
6690         getugroups: Move AC_LIBOBJ invocations to module description.
6691         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
6692         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
6693
6694 2011-05-23  Bruno Haible  <bruno@clisp.org>
6695
6696         gettime: Move AC_LIBOBJ invocations to module description.
6697         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
6698         * modules/gettime (Makefile.am): Augment lib_SOURCES.
6699
6700 2011-05-23  Bruno Haible  <bruno@clisp.org>
6701
6702         getndelim2: Move AC_LIBOBJ invocations to module description.
6703         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
6704         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
6705
6706 2011-05-23  Bruno Haible  <bruno@clisp.org>
6707
6708         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
6709         * m4/gc-pbkdf2-sha1.m4: Remove file.
6710         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
6711         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
6712         (Makefile.am): Augment lib_SOURCES.
6713
6714 2011-05-23  Bruno Haible  <bruno@clisp.org>
6715
6716         fts: Move AC_LIBOBJ invocations to module description.
6717         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
6718         * modules/fts (configure.ac): ... to here.
6719
6720 2011-05-23  Bruno Haible  <bruno@clisp.org>
6721
6722         file-type: Move AC_LIBOBJ invocations to module description.
6723         * m4/file-type.m4: Remove file.
6724         * modules/file-type (Files): Remove it.
6725         (configure.ac): Remove gl_FILE_TYPE call.
6726         (Makefile.am): Augment lib_SOURCES.
6727
6728 2011-05-23  Bruno Haible  <bruno@clisp.org>
6729
6730         filenamecat*: Respect rules for use of AC_LIBOBJ.
6731         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
6732         Remove AC_LIBOBJ invocation.
6733         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
6734         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
6735
6736 2011-05-23  Bruno Haible  <bruno@clisp.org>
6737
6738         filemode: Move AC_LIBOBJ invocations to module description.
6739         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
6740         * modules/filemode (Makefile.am): Augment lib_SOURCES.
6741
6742 2011-05-23  Bruno Haible  <bruno@clisp.org>
6743
6744         openat-safer: Move AC_LIBOBJ invocations to module description.
6745         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
6746         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
6747
6748 2011-05-23  Bruno Haible  <bruno@clisp.org>
6749
6750         fcntl-safer: Move AC_LIBOBJ invocations to module description.
6751         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
6752         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
6753
6754 2011-05-23  Bruno Haible  <bruno@clisp.org>
6755
6756         exclude: Move AC_LIBOBJ invocations to module description.
6757         * m4/exclude.m4: Remove file.
6758         * modules/exclude (Files): Remove it.
6759         (configure.ac): Remove gl_EXCLUDE call.
6760         (Makefile.am): Augment lib_SOURCES.
6761
6762 2011-05-23  Bruno Haible  <bruno@clisp.org>
6763
6764         dirname*: Respect rules for use of AC_LIBOBJ.
6765         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
6766         invocations.
6767         * modules/dirname (Makefile.am): Augment lib_SOURCES.
6768         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
6769
6770 2011-05-23  Bruno Haible  <bruno@clisp.org>
6771
6772         dirent-safer: Move AC_LIBOBJ invocations to module description.
6773         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
6774         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
6775
6776 2011-05-23  Bruno Haible  <bruno@clisp.org>
6777
6778         crypto/des: Move AC_LIBOBJ invocations to module description.
6779         * m4/des.m4: Remove file.
6780         * modules/crypto/des (Files): Remove it.
6781         (configure.ac): Remove gl_DES call.
6782         (Makefile.am): Augment lib_SOURCES.
6783
6784 2011-05-23  Bruno Haible  <bruno@clisp.org>
6785
6786         cycle-check: Move AC_LIBOBJ invocations to module description.
6787         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
6788         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
6789
6790 2011-05-23  Bruno Haible  <bruno@clisp.org>
6791
6792         c-strtold: Move AC_LIBOBJ invocations to module description.
6793         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
6794         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
6795
6796 2011-05-23  Bruno Haible  <bruno@clisp.org>
6797
6798         c-strtod: Move AC_LIBOBJ invocations to module description.
6799         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
6800         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
6801
6802 2011-05-23  Bruno Haible  <bruno@clisp.org>
6803
6804         crc: Move AC_LIBOBJ invocations to module description.
6805         * m4/crc.m4: Remove file.
6806         * modules/crc (Files): Remove it.
6807         (configure.ac): Remove gl_CRC call.
6808         (Makefile.am): Augment lib_SOURCES.
6809
6810 2011-05-23  Bruno Haible  <bruno@clisp.org>
6811
6812         close-stream: Move AC_LIBOBJ invocations to module description.
6813         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
6814         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
6815
6816 2011-05-23  Bruno Haible  <bruno@clisp.org>
6817
6818         closeout: Move AC_LIBOBJ invocations to module description.
6819         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
6820         * modules/closeout (Makefile.am): Augment lib_SOURCES.
6821
6822 2011-05-23  Bruno Haible  <bruno@clisp.org>
6823
6824         closein: Move AC_LIBOBJ invocations to module description.
6825         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
6826         * modules/closein (Makefile.am): Augment lib_SOURCES.
6827
6828 2011-05-23  Bruno Haible  <bruno@clisp.org>
6829
6830         cloexec: Move AC_LIBOBJ invocations to module description.
6831         * m4/cloexec.m4: Remove file.
6832         * modules/cloexec (Files): Remove it.
6833         (configure.ac): Remove gl_CLOEXEC call.
6834         (Makefile.am): Augment lib_SOURCES.
6835
6836 2011-05-23  Bruno Haible  <bruno@clisp.org>
6837
6838         check-version: Move AC_LIBOBJ invocations to module description.
6839         * m4/check-version.m4: Remove file.
6840         * modules/check-version (Files): Remove it.
6841         (configure.ac): Remove gl_CHECK_VERSION call.
6842         (Makefile.am): Augment lib_SOURCES.
6843
6844 2011-05-23  Bruno Haible  <bruno@clisp.org>
6845
6846         chdir-safer: Move AC_LIBOBJ invocations to module description.
6847         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
6848         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
6849
6850 2011-05-23  Bruno Haible  <bruno@clisp.org>
6851
6852         canonicalize: Move AC_LIBOBJ invocations to module description.
6853         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
6854         AC_LIBOBJ invocation.
6855         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
6856
6857 2011-05-23  Bruno Haible  <bruno@clisp.org>
6858
6859         canon-host: Move AC_LIBOBJ invocations to module description.
6860         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
6861         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
6862         instead of gl_CANON_HOST.
6863         (Makefile.am): Augment lib_SOURCES.
6864
6865 2011-05-23  Bruno Haible  <bruno@clisp.org>
6866
6867         backupfile: Move AC_LIBOBJ invocations to module description.
6868         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
6869         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
6870
6871 2011-05-23  Bruno Haible  <bruno@clisp.org>
6872
6873         argmatch: Move AC_LIBOBJ invocations to module description.
6874         * m4/argmatch.m4: Remove file.
6875         * modules/argmatch (Files): Remove it.
6876         (configure.ac): Remove gl_ARGMATCH call.
6877         (Makefile.am): Augment lib_SOURCES.
6878
6879 2011-05-23  Bruno Haible  <bruno@clisp.org>
6880
6881         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
6882         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
6883         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
6884
6885 2011-05-23  Bruno Haible  <bruno@clisp.org>
6886
6887         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
6888         * m4/arcfour.m4: Remove file.
6889         * modules/crypto/arcfour (Files): Remove it.
6890         (configure.ac): Remove gl_ARCFOUR call.
6891         (Makefile.am): Augment lib_SOURCES.
6892
6893 2011-05-22  Bruno Haible  <bruno@clisp.org>
6894
6895         write: Move AC_LIBOBJ invocations to module description.
6896         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
6897         * modules/write (configure.ac): ... to here.
6898
6899 2011-05-22  Bruno Haible  <bruno@clisp.org>
6900
6901         wmemset: Move AC_LIBOBJ invocations to module description.
6902         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
6903         here...
6904         * modules/wmemset (configure.ac): ... to here.
6905
6906 2011-05-22  Bruno Haible  <bruno@clisp.org>
6907
6908         wmemmove: Move AC_LIBOBJ invocations to module description.
6909         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
6910         here...
6911         * modules/wmemmove (configure.ac): ... to here.
6912
6913 2011-05-22  Bruno Haible  <bruno@clisp.org>
6914
6915         wmemcpy: Move AC_LIBOBJ invocations to module description.
6916         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
6917         here...
6918         * modules/wmemcpy (configure.ac): ... to here.
6919
6920 2011-05-22  Bruno Haible  <bruno@clisp.org>
6921
6922         wmemcmp: Move AC_LIBOBJ invocations to module description.
6923         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
6924         here...
6925         * modules/wmemcmp (configure.ac): ... to here.
6926
6927 2011-05-22  Bruno Haible  <bruno@clisp.org>
6928
6929         wmemchr: Move AC_LIBOBJ invocations to module description.
6930         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
6931         here...
6932         * modules/wmemchr (configure.ac): ... to here.
6933
6934 2011-05-22  Bruno Haible  <bruno@clisp.org>
6935
6936         wcswidth: Move AC_LIBOBJ invocations to module description.
6937         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
6938         here...
6939         * modules/wcswidth (configure.ac): ... to here.
6940
6941 2011-05-22  Bruno Haible  <bruno@clisp.org>
6942
6943         wcwidth: Respect rules for use of AC_LIBOBJ.
6944         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
6945         invocation from here...
6946         * modules/wcwidth (configure.ac): ... to here.
6947         (Depends-on): Update conditions.
6948
6949 2011-05-22  Bruno Haible  <bruno@clisp.org>
6950
6951         wctype: Move AC_LIBOBJ invocations to module description.
6952         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
6953         invocation from here...
6954         * modules/wctype (configure.ac): ... to here.
6955         (Depends-on): Update conditions.
6956
6957 2011-05-22  Bruno Haible  <bruno@clisp.org>
6958
6959         wctrans: Move AC_LIBOBJ invocations to module description.
6960         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
6961         invocation from here...
6962         * modules/wctrans (configure.ac): ... to here.
6963
6964 2011-05-22  Bruno Haible  <bruno@clisp.org>
6965
6966         wctomb: Move AC_LIBOBJ invocations to module description.
6967         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
6968         invocations from here...
6969         * modules/wctomb (configure.ac): ... to here.
6970
6971 2011-05-22  Bruno Haible  <bruno@clisp.org>
6972
6973         wctob: Move AC_LIBOBJ invocations to module description.
6974         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
6975         gl_PREREQ_WCTOB invocations from here...
6976         * modules/wctob (configure.ac): ... to here.
6977         (Depends-on): Update conditions.
6978
6979 2011-05-22  Bruno Haible  <bruno@clisp.org>
6980
6981         wcsxfrm: Move AC_LIBOBJ invocations to module description.
6982         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
6983         here...
6984         * modules/wcsxfrm (configure.ac): ... to here.
6985
6986 2011-05-22  Bruno Haible  <bruno@clisp.org>
6987
6988         wcstok: Move AC_LIBOBJ invocations to module description.
6989         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
6990         * modules/wcstok (configure.ac): ... to here.
6991
6992 2011-05-22  Bruno Haible  <bruno@clisp.org>
6993
6994         wcsstr: Move AC_LIBOBJ invocations to module description.
6995         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
6996         * modules/wcsstr (configure.ac): ... to here.
6997
6998 2011-05-22  Bruno Haible  <bruno@clisp.org>
6999
7000         wcsspn: Move AC_LIBOBJ invocations to module description.
7001         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
7002         * modules/wcsspn (configure.ac): ... to here.
7003
7004 2011-05-22  Bruno Haible  <bruno@clisp.org>
7005
7006         wcsrtombs: Move AC_LIBOBJ invocations to module description.
7007         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
7008         gl_PREREQ_WCSRTOMBS invocations from here...
7009         * modules/wcsrtombs (configure.ac): ... to here.
7010
7011 2011-05-22  Bruno Haible  <bruno@clisp.org>
7012
7013         wcsrchr: Move AC_LIBOBJ invocations to module description.
7014         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
7015         here...
7016         * modules/wcsrchr (configure.ac): ... to here.
7017
7018 2011-05-22  Bruno Haible  <bruno@clisp.org>
7019
7020         wcspbrk: Move AC_LIBOBJ invocations to module description.
7021         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
7022         here...
7023         * modules/wcspbrk (configure.ac): ... to here.
7024
7025 2011-05-22  Bruno Haible  <bruno@clisp.org>
7026
7027         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
7028         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
7029         gl_PREREQ_WCSNRTOMBS invocations from here...
7030         * modules/wcsnrtombs (configure.ac): ... to here.
7031
7032 2011-05-22  Bruno Haible  <bruno@clisp.org>
7033
7034         wcsnlen: Move AC_LIBOBJ invocations to module description.
7035         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
7036         here...
7037         * modules/wcsnlen (configure.ac): ... to here.
7038
7039 2011-05-22  Bruno Haible  <bruno@clisp.org>
7040
7041         wcsncpy: Move AC_LIBOBJ invocations to module description.
7042         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
7043         here...
7044         * modules/wcsncpy (configure.ac): ... to here.
7045
7046 2011-05-22  Bruno Haible  <bruno@clisp.org>
7047
7048         wcsncmp: Move AC_LIBOBJ invocations to module description.
7049         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
7050         here...
7051         * modules/wcsncmp (configure.ac): ... to here.
7052
7053 2011-05-22  Bruno Haible  <bruno@clisp.org>
7054
7055         wcsncat: Move AC_LIBOBJ invocations to module description.
7056         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
7057         here...
7058         * modules/wcsncat (configure.ac): ... to here.
7059
7060 2011-05-22  Bruno Haible  <bruno@clisp.org>
7061
7062         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
7063         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
7064         from here...
7065         * modules/wcsncasecmp (configure.ac): ... to here.
7066
7067 2011-05-22  Bruno Haible  <bruno@clisp.org>
7068
7069         wcslen: Move AC_LIBOBJ invocations to module description.
7070         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
7071         * modules/wcslen (configure.ac): ... to here.
7072
7073 2011-05-22  Bruno Haible  <bruno@clisp.org>
7074
7075         wcsdup: Move AC_LIBOBJ invocations to module description.
7076         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
7077         * modules/wcsdup (configure.ac): ... to here.
7078
7079 2011-05-22  Bruno Haible  <bruno@clisp.org>
7080
7081         wcscspn: Move AC_LIBOBJ invocations to module description.
7082         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
7083         here...
7084         * modules/wcscspn (configure.ac): ... to here.
7085
7086 2011-05-22  Bruno Haible  <bruno@clisp.org>
7087
7088         wcscpy: Move AC_LIBOBJ invocations to module description.
7089         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
7090         * modules/wcscpy (configure.ac): ... to here.
7091
7092 2011-05-22  Bruno Haible  <bruno@clisp.org>
7093
7094         wcscoll: Move AC_LIBOBJ invocations to module description.
7095         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
7096         here...
7097         * modules/wcscoll (configure.ac): ... to here.
7098
7099 2011-05-22  Bruno Haible  <bruno@clisp.org>
7100
7101         wcscmp: Move AC_LIBOBJ invocations to module description.
7102         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
7103         * modules/wcscmp (configure.ac): ... to here.
7104
7105 2011-05-22  Bruno Haible  <bruno@clisp.org>
7106
7107         wcschr: Move AC_LIBOBJ invocations to module description.
7108         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
7109         * modules/wcschr (configure.ac): ... to here.
7110
7111 2011-05-22  Bruno Haible  <bruno@clisp.org>
7112
7113         wcscat: Move AC_LIBOBJ invocations to module description.
7114         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
7115         * modules/wcscat (configure.ac): ... to here.
7116
7117 2011-05-22  Bruno Haible  <bruno@clisp.org>
7118
7119         wcscasecmp: Move AC_LIBOBJ invocations to module description.
7120         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
7121         here...
7122         * modules/wcscasecmp (configure.ac): ... to here.
7123
7124 2011-05-22  Bruno Haible  <bruno@clisp.org>
7125
7126         wcrtomb: Move AC_LIBOBJ invocations to module description.
7127         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
7128         invocations from here...
7129         * modules/wcrtomb (configure.ac): ... to here.
7130
7131 2011-05-22  Bruno Haible  <bruno@clisp.org>
7132
7133         wcpncpy: Move AC_LIBOBJ invocations to module description.
7134         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
7135         here...
7136         * modules/wcpncpy (configure.ac): ... to here.
7137
7138 2011-05-22  Bruno Haible  <bruno@clisp.org>
7139
7140         wcpcpy: Move AC_LIBOBJ invocations to module description.
7141         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
7142         * modules/wcpcpy (configure.ac): ... to here.
7143
7144 2011-05-22  Bruno Haible  <bruno@clisp.org>
7145
7146         waitpid: Move AC_LIBOBJ invocations to module description.
7147         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
7148         invocation from here...
7149         * modules/waitpid (configure.ac): ... to here.
7150
7151 2011-05-22  Bruno Haible  <bruno@clisp.org>
7152
7153         utimensat: Move AC_LIBOBJ invocations to module description.
7154         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
7155         here...
7156         * modules/utimensat (configure.ac): ... to here.
7157
7158 2011-05-22  Bruno Haible  <bruno@clisp.org>
7159
7160         usleep: Move AC_LIBOBJ invocations to module description.
7161         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
7162         here...
7163         * modules/usleep (configure.ac): ... to here.
7164
7165 2011-05-22  Bruno Haible  <bruno@clisp.org>
7166
7167         unlockpt: Move AC_LIBOBJ invocations to module description.
7168         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
7169         gl_PREREQ_UNLOCKPT invocations from here...
7170         * modules/unlockpt (configure.ac): ... to here.
7171
7172 2011-05-22  Bruno Haible  <bruno@clisp.org>
7173
7174         unlink: Respect rules for use of AC_LIBOBJ.
7175         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
7176         * modules/unlink (configure.ac): ... to here.
7177
7178 2011-05-22  Bruno Haible  <bruno@clisp.org>
7179
7180         uname: Move AC_LIBOBJ invocations to module description.
7181         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
7182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
7183         here...
7184         * modules/uname (configure.ac): ... to here.
7185
7186 2011-05-22  Bruno Haible  <bruno@clisp.org>
7187
7188         ttyname_r: Move AC_LIBOBJ invocations to module description.
7189         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
7190         gl_PREREQ_TTYNAME_R invocations from here...
7191         * modules/ttyname_r (configure.ac): ... to here.
7192
7193 2011-05-22  Bruno Haible  <bruno@clisp.org>
7194
7195         tsearch: Move AC_LIBOBJ invocations to module description.
7196         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
7197         invocations from here...
7198         * modules/tsearch (configure.ac): ... to here.
7199
7200 2011-05-22  Bruno Haible  <bruno@clisp.org>
7201
7202         towctrans: Move AC_LIBOBJ invocations to module description.
7203         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
7204         AC_LIBOBJ invocation from here...
7205         * modules/towctrans (configure.ac): ... to here.
7206
7207 2011-05-22  Bruno Haible  <bruno@clisp.org>
7208
7209         tmpfile: Move AC_LIBOBJ invocations to module description.
7210         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
7211         invocations from here...
7212         * modules/tmpfile (configure.ac): ... to here.
7213
7214 2011-05-22  Bruno Haible  <bruno@clisp.org>
7215
7216         times: Move AC_LIBOBJ invocations to module description.
7217         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
7218         * modules/times (configure.ac): ... to here.
7219
7220 2011-05-22  Bruno Haible  <bruno@clisp.org>
7221
7222         time_r: Move AC_LIBOBJ invocations to module description.
7223         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
7224         invocations from here...
7225         * modules/time_r (configure.ac): ... to here.
7226
7227 2011-05-22  Bruno Haible  <bruno@clisp.org>
7228
7229         timegm: Move AC_LIBOBJ invocations to module description.
7230         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
7231         invocations from here...
7232         * modules/timegm (configure.ac): ... to here.
7233
7234 2011-05-22  Bruno Haible  <bruno@clisp.org>
7235
7236         tcgetsid: Move AC_LIBOBJ invocations to module description.
7237         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
7238         and gl_PREREQ_TCGETSID invocations from here...
7239         * modules/tcgetsid (configure.ac): ... to here.
7240         (Depends-on): Update conditions.
7241
7242 2011-05-22  Bruno Haible  <bruno@clisp.org>
7243
7244         symlinkat: Move AC_LIBOBJ invocations to module description.
7245         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
7246         here...
7247         * modules/symlinkat (configure.ac): ... to here.
7248
7249 2011-05-22  Bruno Haible  <bruno@clisp.org>
7250
7251         symlink: Move AC_LIBOBJ invocations to module description.
7252         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
7253         here...
7254         * modules/symlink (configure.ac): ... to here.
7255
7256 2011-05-22  Bruno Haible  <bruno@clisp.org>
7257
7258         strverscmp: Move AC_LIBOBJ invocations to module description.
7259         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
7260         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
7261         from here...
7262         * modules/strverscmp (configure.ac): ... to here.
7263
7264 2011-05-22  Bruno Haible  <bruno@clisp.org>
7265
7266         strtok_r: Move AC_LIBOBJ invocations to module description.
7267         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
7268         and gl_PREREQ_STRTOK_R invocations from here...
7269         * modules/strtok_r (configure.ac): ... to here.
7270         (Depends-on): Update conditions.
7271
7272 2011-05-22  Bruno Haible  <bruno@clisp.org>
7273
7274         strtoumax: Move AC_LIBOBJ invocations to module description.
7275         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
7276         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
7277         from here...
7278         * modules/strtoumax (configure.ac): ... to here.
7279
7280 2011-05-22  Bruno Haible  <bruno@clisp.org>
7281
7282         strtoimax: Move AC_LIBOBJ invocations to module description.
7283         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
7284         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
7285         from here...
7286         * modules/strtoimax (configure.ac): ... to here.
7287
7288 2011-05-22  Bruno Haible  <bruno@clisp.org>
7289
7290         strtoull: Move AC_LIBOBJ invocations to module description.
7291         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
7292         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
7293         from here...
7294         * modules/strtoull (configure.ac): ... to here.
7295
7296 2011-05-22  Bruno Haible  <bruno@clisp.org>
7297
7298         strtoll: Move AC_LIBOBJ invocations to module description.
7299         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
7300         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
7301         here...
7302         * modules/strtoll (configure.ac): ... to here.
7303
7304 2011-05-22  Bruno Haible  <bruno@clisp.org>
7305
7306         strtoul: Move AC_LIBOBJ invocations to module description.
7307         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
7308         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7309         * modules/strtoul (configure.ac): ... to here.
7310
7311 2011-05-22  Bruno Haible  <bruno@clisp.org>
7312
7313         strtol: Move AC_LIBOBJ invocations to module description.
7314         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
7315         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
7316         * modules/strtol (configure.ac): ... to here.
7317
7318 2011-05-22  Bruno Haible  <bruno@clisp.org>
7319
7320         strtod: Move AC_LIBOBJ invocations to module description.
7321         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
7322         invocations from here...
7323         * modules/strtod (configure.ac): ... to here.
7324
7325 2011-05-22  Bruno Haible  <bruno@clisp.org>
7326
7327         strstr*: Move AC_LIBOBJ invocations to module description.
7328         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
7329         invocations from here...
7330         * modules/strstr-simple (configure.ac): ... to here.
7331         * modules/strstr (configure.ac): ... and here.
7332
7333 2011-05-22  Bruno Haible  <bruno@clisp.org>
7334
7335         strsignal: Move AC_LIBOBJ invocations to module description.
7336         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
7337         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
7338         * modules/strsignal (configure.ac): ... to here.
7339         (Depends-on): Update conditions.
7340
7341 2011-05-22  Bruno Haible  <bruno@clisp.org>
7342
7343         strsep: Move AC_LIBOBJ invocations to module description.
7344         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
7345         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
7346         here...
7347         * modules/strsep (configure.ac): ... to here.
7348
7349 2011-05-22  Bruno Haible  <bruno@clisp.org>
7350
7351         strptime: Move AC_LIBOBJ invocations to module description.
7352         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
7353         gl_PREREQ_STRPTIME invocations from here...
7354         * modules/strptime (configure.ac): ... to here.
7355
7356 2011-05-22  Bruno Haible  <bruno@clisp.org>
7357
7358         strpbrk: Move AC_LIBOBJ invocations to module description.
7359         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
7360         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
7361         here...
7362         * modules/strpbrk (configure.ac): ... to here.
7363
7364 2011-05-22  Bruno Haible  <bruno@clisp.org>
7365
7366         strnlen: Move AC_LIBOBJ invocations to module description.
7367         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
7368         invocations from here...
7369         * modules/strnlen (configure.ac): ... to here.
7370
7371 2011-05-22  Bruno Haible  <bruno@clisp.org>
7372
7373         strndup: Move AC_LIBOBJ invocations to module description.
7374         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
7375         invocations from here...
7376         * modules/strndup (configure.ac): ... to here.
7377         (Depends-on): Update conditions.
7378
7379 2011-05-22  Bruno Haible  <bruno@clisp.org>
7380
7381         strncat: Move AC_LIBOBJ invocations to module description.
7382         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
7383         invocations from here...
7384         * modules/strncat (configure.ac): ... to here.
7385
7386 2011-05-22  Bruno Haible  <bruno@clisp.org>
7387
7388         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
7389         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
7390         invocations from here...
7391         * modules/strdup (configure.ac): ... to here.
7392         * modules/strdup-posix (configure.ac): ... and here.
7393
7394 2011-05-22  Bruno Haible  <bruno@clisp.org>
7395
7396         strcspn: Move AC_LIBOBJ invocations to module description.
7397         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
7398         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
7399         here...
7400         * modules/strcspn (configure.ac): ... to here.
7401
7402 2011-05-22  Bruno Haible  <bruno@clisp.org>
7403
7404         strchrnul: Move AC_LIBOBJ invocations to module description.
7405         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
7406         gl_PREREQ_STRCHRNUL invocations from here...
7407         * modules/strchrnul (configure.ac): ... to here.
7408
7409 2011-05-22  Bruno Haible  <bruno@clisp.org>
7410
7411         strcasestr*: Move AC_LIBOBJ invocations to module description.
7412         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7413         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
7414         * modules/strcasestr-simple (configure.ac): ... to here.
7415         * modules/strcasestr (configure.ac): ... and here.
7416
7417 2011-05-22  Bruno Haible  <bruno@clisp.org>
7418
7419         strcase: Move AC_LIBOBJ invocations to module description.
7420         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
7421         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
7422         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
7423         gl_PREREQ_STRNCASECMP invocations from here...
7424         * modules/strcase (configure.ac): ... to here.
7425
7426 2011-05-22  Bruno Haible  <bruno@clisp.org>
7427
7428         stpncpy: Move AC_LIBOBJ invocations to module description.
7429         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
7430         here...
7431         * modules/stpncpy (configure.ac): ... to here.
7432
7433 2011-05-22  Bruno Haible  <bruno@clisp.org>
7434
7435         stpcpy: Move AC_LIBOBJ invocations to module description.
7436         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
7437         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
7438         here...
7439         * modules/stpcpy (configure.ac): ... to here.
7440
7441 2011-05-21  Bruno Haible  <bruno@clisp.org>
7442
7443         stat: Move AC_LIBOBJ invocations to module description.
7444         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
7445         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
7446         here...
7447         * modules/stat (configure.ac): ... to here.
7448
7449 2011-05-21  Bruno Haible  <bruno@clisp.org>
7450
7451         sleep: Move AC_LIBOBJ invocations to module description.
7452         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
7453         * modules/sleep (configure.ac): ... to here.
7454
7455 2011-05-21  Bruno Haible  <bruno@clisp.org>
7456
7457         signbit: Move AC_LIBOBJ invocations to module description.
7458         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
7459         * modules/signbit (configure.ac): ... to here.
7460
7461 2011-05-21  Bruno Haible  <bruno@clisp.org>
7462
7463         sigprocmask: Move AC_LIBOBJ invocations to module description.
7464         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
7465         gl_PREREQ_SIGPROMASK invocations from here...
7466         * modules/sigprocmask (configure.ac): ... to here.
7467
7468 2011-05-21  Bruno Haible  <bruno@clisp.org>
7469
7470         sigaction: Move AC_LIBOBJ invocations to module description.
7471         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
7472         gl_PREREQ_SIGACTION invocations from here...
7473         * modules/sigaction (configure.ac): ... to here.
7474
7475 2011-05-21  Bruno Haible  <bruno@clisp.org>
7476
7477         sig2str: Move AC_LIBOBJ invocations to module description.
7478         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
7479         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
7480         here...
7481         * modules/sig2str (configure.ac): ... to here.
7482
7483 2011-05-21  Bruno Haible  <bruno@clisp.org>
7484
7485         setlocale: Move AC_LIBOBJ invocations to module description.
7486         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
7487         gl_PREREQ_SETLOCALE invocations from here...
7488         * modules/setlocale (configure.ac): ... to here.
7489
7490 2011-05-21  Bruno Haible  <bruno@clisp.org>
7491
7492         unsetenv: Move AC_LIBOBJ invocations to module description.
7493         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
7494         and gl_PREREQ_UNSETENV invocations from here...
7495         * modules/unsetenv (configure.ac): ... to here.
7496         (Depends-on): Update.
7497
7498 2011-05-21  Bruno Haible  <bruno@clisp.org>
7499
7500         setenv: Move AC_LIBOBJ invocations to module description.
7501         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
7502         here...
7503         * modules/setenv (configure.ac): ... to here.
7504
7505 2011-05-21  Bruno Haible  <bruno@clisp.org>
7506
7507         selinux-h: Move AC_LIBOBJ invocations to module description.
7508         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
7509         AC_LIBOBJ invocation from here...
7510         * modules/selinux-h (configure.ac): ... to here.
7511
7512 2011-05-21  Bruno Haible  <bruno@clisp.org>
7513
7514         select: Respect rules for use of AC_LIBOBJ.
7515         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
7516         here...
7517         * modules/select (configure.ac): ... to here.
7518
7519 2011-05-21  Bruno Haible  <bruno@clisp.org>
7520
7521         scandir: Move AC_LIBOBJ invocations to module description.
7522         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
7523         invocations from here...
7524         * modules/scandir (configure.ac): ... to here.
7525
7526 2011-05-21  Bruno Haible  <bruno@clisp.org>
7527
7528         rpmatch: Move AC_LIBOBJ invocations to module description.
7529         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
7530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
7531         here...
7532         * modules/rpmatch (configure.ac): ... to here.
7533
7534 2011-05-21  Bruno Haible  <bruno@clisp.org>
7535
7536         rmdir: Respect rules for use of AC_LIBOBJ.
7537         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
7538         * modules/rmdir (configure.ac): ... to here.
7539
7540 2011-05-21  Bruno Haible  <bruno@clisp.org>
7541
7542         renameat: Move AC_LIBOBJ invocations to module description.
7543         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
7544         here...
7545         * modules/renameat (configure.ac): ... to here.
7546
7547 2011-05-21  Bruno Haible  <bruno@clisp.org>
7548
7549         rename: Respect rules for use of AC_LIBOBJ.
7550         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
7551         here...
7552         * modules/rename (configure.ac): ... to here.
7553
7554 2011-05-21  Bruno Haible  <bruno@clisp.org>
7555
7556         remove: Move AC_LIBOBJ invocations to module description.
7557         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
7558         here...
7559         * modules/remove (configure.ac): ... to here.
7560
7561 2011-05-21  Bruno Haible  <bruno@clisp.org>
7562
7563         relocatable-lib: Move AC_LIBOBJ invocations to module description.
7564         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
7565         macro.
7566         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
7567         * modules/relocatable-lib (configure.ac): ... to here.
7568         * modules/relocatable-prog-wrapper (configure.ac): Invoke
7569         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
7570
7571 2011-05-21  Bruno Haible  <bruno@clisp.org>
7572
7573         relocatable-prog: Move AC_LIBOBJ invocations to module description.
7574         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
7575         here...
7576         * modules/relocatable-prog (configure.ac): ... to here.
7577
7578 2011-05-21  Bruno Haible  <bruno@clisp.org>
7579
7580         regex: Move AC_LIBOBJ invocations to module description.
7581         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
7582         invocations from here...
7583         * modules/regex (configure.ac): ... to here.
7584
7585 2011-05-21  Bruno Haible  <bruno@clisp.org>
7586
7587         realloc-*: Move AC_LIBOBJ invocations to module description.
7588         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
7589         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
7590         AC_LIBOBJ invocations from here...
7591         * modules/realloc-gnu (configure.ac): ... to here.
7592         * modules/realloc-posix (configure.ac): ... and here.
7593
7594 2011-05-21  Bruno Haible  <bruno@clisp.org>
7595
7596         readutmp: Move AC_LIBOBJ invocations to module description.
7597         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
7598         * modules/readutmp (configure.ac): ... to here.
7599
7600 2011-05-21  Bruno Haible  <bruno@clisp.org>
7601
7602         readlinkat: Move AC_LIBOBJ invocations to module description.
7603         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
7604         here...
7605         * modules/readlinkat (configure.ac): ... to here.
7606
7607 2011-05-21  Bruno Haible  <bruno@clisp.org>
7608
7609         readlink: Move AC_LIBOBJ invocations to module description.
7610         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
7611         gl_PREREQ_READLINK invocations from here...
7612         * modules/readlink (configure.ac): ... to here.
7613
7614 2011-05-21  Bruno Haible  <bruno@clisp.org>
7615
7616         readline: Move AC_LIBOBJ invocations to module description.
7617         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
7618         gl_PREREQ_READLINE invocations from here...
7619         * modules/readline (configure.ac): ... to here.
7620
7621 2011-05-21  Bruno Haible  <bruno@clisp.org>
7622
7623         read: Move AC_LIBOBJ invocations to module description.
7624         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
7625         * modules/read (configure.ac): ... to here.
7626
7627 2011-05-21  Bruno Haible  <bruno@clisp.org>
7628
7629         rawmemchr: Move AC_LIBOBJ invocations to module description.
7630         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
7631         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
7632         from here...
7633         * modules/rawmemchr (configure.ac): ... to here.
7634
7635 2011-05-21  Bruno Haible  <bruno@clisp.org>
7636
7637         random_r: Move AC_LIBOBJ invocations to module description.
7638         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
7639         gl_PREREQ_RANDOM_R invocations from here...
7640         * modules/random_r (configure.ac): ... to here.
7641
7642 2011-05-21  Bruno Haible  <bruno@clisp.org>
7643
7644         pwrite: Move AC_LIBOBJ invocations to module description.
7645         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
7646         * modules/pwrite (configure.ac): ... to here.
7647
7648 2011-05-21  Bruno Haible  <bruno@clisp.org>
7649
7650         putenv: Move AC_LIBOBJ invocations to module description.
7651         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
7652         * modules/putenv (configure.ac): ... to here.
7653
7654 2011-05-21  Bruno Haible  <bruno@clisp.org>
7655
7656         login_tty: Move AC_LIBOBJ invocations to module description.
7657         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
7658         * modules/login_tty (configure.ac): ... to here.
7659
7660 2011-05-21  Bruno Haible  <bruno@clisp.org>
7661
7662         openpty: Move AC_LIBOBJ invocations to module description.
7663         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
7664         * modules/openpty (configure.ac): ... to here.
7665
7666 2011-05-21  Bruno Haible  <bruno@clisp.org>
7667
7668         forkpty: Move AC_LIBOBJ invocations to module description.
7669         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
7670         * modules/forkpty (configure.ac): ... to here.
7671
7672 2011-05-21  Bruno Haible  <bruno@clisp.org>
7673
7674         ptsname: Move AC_LIBOBJ invocations to module description.
7675         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
7676         invocations from here...
7677         * modules/ptsname (configure.ac): ... to here.
7678
7679 2011-05-21  Bruno Haible  <bruno@clisp.org>
7680
7681         pread: Move AC_LIBOBJ invocations to module description.
7682         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
7683         * modules/pread (configure.ac): ... to here.
7684
7685 2011-05-21  Bruno Haible  <bruno@clisp.org>
7686
7687         posix_spawn*: Move AC_LIBOBJ invocations to module description.
7688         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
7689         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
7690         * modules/posix_spawn (configure.ac): ... to here.
7691         * modules/posix_spawnp (configure.ac): ... and here.
7692
7693 2011-05-21  Bruno Haible  <bruno@clisp.org>
7694
7695         popen: Move AC_LIBOBJ invocations to module description.
7696         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
7697         invocations from here...
7698         * modules/popen (configure.ac): ... to here.
7699
7700 2011-05-21  Bruno Haible  <bruno@clisp.org>
7701
7702         poll: Move AC_LIBOBJ invocations to module description.
7703         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
7704         invocations from here...
7705         * modules/poll (configure.ac): ... to here.
7706
7707 2011-05-21  Bruno Haible  <bruno@clisp.org>
7708
7709         pipe-posix: Move AC_LIBOBJ invocations to module description.
7710         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
7711         * modules/pipe-posix (configure.ac): ... to here.
7712
7713 2011-05-21  Bruno Haible  <bruno@clisp.org>
7714
7715         openat: Respect rules for use of AC_LIBOBJ.
7716         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
7717         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7718         * modules/openat (configure.ac): ... to here.
7719
7720 2011-05-21  Bruno Haible  <bruno@clisp.org>
7721
7722         obstack-printf*: Move AC_LIBOBJ invocations to module description.
7723         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
7724         invocation from here...
7725         * modules/obstack-printf (configure.ac): ... to here.
7726         * modules/obstack-printf-posix (configure.ac): ... and here.
7727
7728 2011-05-21  Bruno Haible  <bruno@clisp.org>
7729
7730         nl_langinfo: Move AC_LIBOBJ invocations to module description.
7731         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
7732         from here...
7733         * modules/nl_langinfo (configure.ac): ... to here.
7734
7735 2011-05-21  Bruno Haible  <bruno@clisp.org>
7736
7737         nanosleep: Move AC_LIBOBJ invocations to module description.
7738         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
7739         gl_PREREQ_NANOSLEEP invocations from here...
7740         * modules/nanosleep (configure.ac): ... to here.
7741
7742 2011-05-21  Bruno Haible  <bruno@clisp.org>
7743
7744         mountlist: Move AC_LIBOBJ invocations to module description.
7745         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
7746         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
7747         * modules/mountlist (configure.ac): ... to here.
7748
7749 2011-05-21  Bruno Haible  <bruno@clisp.org>
7750
7751         mktime: Respect rules for use of AC_LIBOBJ.
7752         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
7753         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
7754         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
7755         (gl_FUNC_MKTIME_INTERNAL): ... and here...
7756         * modules/mktime (configure.ac): ... to here.
7757         * modules/mktime-internal (configure.ac): ... and here.
7758         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
7759
7760 2011-05-21  Bruno Haible  <bruno@clisp.org>
7761
7762         mkstemps: Move AC_LIBOBJ invocations to module description.
7763         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
7764         here...
7765         * modules/mkstemps (configure.ac): ... to here.
7766
7767 2011-05-21  Bruno Haible  <bruno@clisp.org>
7768
7769         mkstemp: Move AC_LIBOBJ invocations to module description.
7770         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
7771         gl_PREREQ_MKSTEMP invocations from here...
7772         * modules/mkstemp (configure.ac): ... to here.
7773
7774 2011-05-21  Bruno Haible  <bruno@clisp.org>
7775
7776         mkostemps: Move AC_LIBOBJ invocations to module description.
7777         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
7778         here...
7779         * modules/mkostemps (configure.ac): ... to here.
7780
7781 2011-05-21  Bruno Haible  <bruno@clisp.org>
7782
7783         mkostemp: Move AC_LIBOBJ invocations to module description.
7784         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
7785         gl_PREREQ_MKOSTEMP invocations from here...
7786         * modules/mkostemp (configure.ac): ... to here.
7787
7788 2011-05-21  Bruno Haible  <bruno@clisp.org>
7789
7790         mknod: Move AC_LIBOBJ invocations to module description.
7791         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
7792         * modules/mknod (configure.ac): ... to here.
7793
7794 2011-05-21  Bruno Haible  <bruno@clisp.org>
7795
7796         mkfifoat: Move AC_LIBOBJ invocations to module description.
7797         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
7798         here...
7799         * modules/mkfifoat (configure.ac): ... to here.
7800
7801 2011-05-21  Bruno Haible  <bruno@clisp.org>
7802
7803         mkfifo: Respect rules for use of AC_LIBOBJ.
7804         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
7805         here...
7806         * modules/mkfifo (configure.ac): ... to here.
7807
7808 2011-05-21  Bruno Haible  <bruno@clisp.org>
7809
7810         mkdtemp: Move AC_LIBOBJ invocations to module description.
7811         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
7812         invocations from here...
7813         * modules/mkdtemp (configure.ac): ... to here.
7814
7815 2011-05-21  Bruno Haible  <bruno@clisp.org>
7816
7817         mkdir: Move AC_LIBOBJ invocations to module description.
7818         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
7819         * modules/mkdir (configure.ac): ... to here.
7820
7821 2011-05-21  Bruno Haible  <bruno@clisp.org>
7822
7823         memset: Move AC_LIBOBJ invocations to module description.
7824         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
7825         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
7826         here...
7827         * modules/memset (configure.ac): ... to here.
7828
7829 2011-05-21  Bruno Haible  <bruno@clisp.org>
7830
7831         memrchr: Move AC_LIBOBJ invocations to module description.
7832         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
7833         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
7834         here...
7835         * modules/memrchr (configure.ac): ... to here.
7836
7837 2011-05-21  Bruno Haible  <bruno@clisp.org>
7838
7839         mempcpy: Move AC_LIBOBJ invocations to module description.
7840         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
7841         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
7842         here...
7843         * modules/mempcpy (configure.ac): ... to here.
7844
7845 2011-05-21  Bruno Haible  <bruno@clisp.org>
7846
7847         memmove: Move AC_LIBOBJ invocations to module description.
7848         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
7849         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
7850         here...
7851         * modules/memmove (configure.ac): ... to here.
7852
7853 2011-05-21  Bruno Haible  <bruno@clisp.org>
7854
7855         memmem*: Move AC_LIBOBJ invocations to module description.
7856         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
7857         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
7858         here...
7859         (gl_FUNC_MEMMEM): ... and here...
7860         * modules/memmem-simple (configure.ac): ... to here.
7861         * modules/memmem (configure.ac): ... and here.
7862
7863 2011-05-21  Bruno Haible  <bruno@clisp.org>
7864
7865         memcpy: Move AC_LIBOBJ invocations to module description.
7866         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
7867         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
7868         here...
7869         * modules/memcpy (configure.ac): ... to here.
7870
7871 2011-05-21  Bruno Haible  <bruno@clisp.org>
7872
7873         memcmp: Simplify autoconf macro.
7874         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
7875         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
7876         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
7877
7878 2011-05-21  Bruno Haible  <bruno@clisp.org>
7879
7880         memcmp: Move AC_LIBOBJ invocations to module description.
7881         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
7882         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
7883         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
7884         * modules/memcmp (configure.ac): ... to here.
7885         (Depends-on): Update conditions.
7886
7887 2011-05-21  Bruno Haible  <bruno@clisp.org>
7888
7889         memchr: Respect rules for use of AC_LIBOBJ.
7890         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
7891         invocations from here...
7892         * modules/memchr (configure.ac): ... to here.
7893
7894 2011-05-21  Bruno Haible  <bruno@clisp.org>
7895
7896         mbtowc: Move AC_LIBOBJ invocations to module description.
7897         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
7898         invocations from here...
7899         * modules/mbtowc (configure.ac): ... to here.
7900
7901 2011-05-21  Bruno Haible  <bruno@clisp.org>
7902
7903         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
7904         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
7905         gl_PREREQ_MBSRTOWCS invocations from here...
7906         * modules/mbsrtowcs (configure.ac): ... to here.
7907
7908 2011-05-21  Bruno Haible  <bruno@clisp.org>
7909
7910         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
7911         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
7912         gl_PREREQ_MBSNRTOWCS invocations from here...
7913         * modules/mbsnrtowcs (configure.ac): ... to here.
7914
7915 2011-05-21  Bruno Haible  <bruno@clisp.org>
7916
7917         mbsinit: Move AC_LIBOBJ invocations to module description.
7918         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
7919         invocations from here...
7920         * modules/mbsinit (configure.ac): ... to here.
7921
7922 2011-05-21  Bruno Haible  <bruno@clisp.org>
7923
7924         mbrlen: Move AC_LIBOBJ invocations to module description.
7925         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
7926         invocations from here...
7927         * modules/mbrlen (configure.ac): ... to here.
7928
7929 2011-05-21  Bruno Haible  <bruno@clisp.org>
7930
7931         mbrtowc: Respect rules for use of AC_LIBOBJ.
7932         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
7933         invocations from here...
7934         * modules/mbrtowc (configure.ac): ... to here.
7935
7936 2011-05-21  Bruno Haible  <bruno@clisp.org>
7937
7938         malloc-*: Move AC_LIBOBJ invocations to module description.
7939         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
7940         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
7941         AC_LIBOBJ invocations from here...
7942         * modules/malloc-gnu (configure.ac): ... to here.
7943         * modules/malloc-posix (configure.ac): ... and here.
7944
7945 2011-05-21  Bruno Haible  <bruno@clisp.org>
7946
7947         lstat, openat: Respect rules for use of AC_LIBOBJ.
7948         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
7949         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
7950         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
7951         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
7952         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
7953         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
7954         here.
7955         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
7956
7957 2011-05-21  Bruno Haible  <bruno@clisp.org>
7958
7959         lseek: Move AC_LIBOBJ invocations to module description.
7960         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
7961         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7962         * modules/lseek (configure.ac): ... to here.
7963
7964 2011-05-21  Bruno Haible  <bruno@clisp.org>
7965
7966         linkat: Move AC_LIBOBJ invocations to module description.
7967         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
7968         here...
7969         * modules/linkat (configure.ac): ... to here.
7970
7971 2011-05-21  Bruno Haible  <bruno@clisp.org>
7972
7973         link: Respect rules for use of AC_LIBOBJ.
7974         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
7975         * modules/link (configure.ac): ... to here.
7976
7977 2011-05-21  Bruno Haible  <bruno@clisp.org>
7978
7979         lchown: Move AC_LIBOBJ invocations to module description.
7980         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
7981         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
7982         * modules/lchown (configure.ac): ... to here.
7983
7984 2011-05-21  Bruno Haible  <bruno@clisp.org>
7985
7986         iswctype: Move AC_LIBOBJ invocations to module description.
7987         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
7988         here...
7989         * modules/iswctype (configure.ac): ... to here.
7990
7991 2011-05-21  Bruno Haible  <bruno@clisp.org>
7992
7993         iswblank: Move AC_LIBOBJ invocations to module description.
7994         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
7995         here...
7996         * modules/iswblank (configure.ac): ... to here.
7997
7998 2011-05-21  Bruno Haible  <bruno@clisp.org>
7999
8000         atanl: Move AC_LIBOBJ invocations to module description.
8001         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
8002         * modules/atanl (configure.ac): ... to here.
8003
8004 2011-05-21  Bruno Haible  <bruno@clisp.org>
8005
8006         acosl: Move AC_LIBOBJ invocations to module description.
8007         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
8008         * modules/acosl (configure.ac): ... to here.
8009
8010 2011-05-21  Bruno Haible  <bruno@clisp.org>
8011
8012         asinl: Respect rules for use of AC_LIBOBJ.
8013         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
8014         * modules/asinl (configure.ac): ... to here.
8015
8016 2011-05-21  Bruno Haible  <bruno@clisp.org>
8017
8018         tanl: Move AC_LIBOBJ invocations to module description.
8019         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
8020         * modules/tanl (configure.ac): ... to here.
8021
8022 2011-05-21  Bruno Haible  <bruno@clisp.org>
8023
8024         cosl: Move AC_LIBOBJ invocations to module description.
8025         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
8026         * modules/cosl (configure.ac): ... to here.
8027
8028 2011-05-21  Bruno Haible  <bruno@clisp.org>
8029
8030         sinl: Move AC_LIBOBJ invocations to module description.
8031         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
8032         * modules/sinl (configure.ac): ... to here.
8033
8034 2011-05-21  Bruno Haible  <bruno@clisp.org>
8035
8036         logl: Move AC_LIBOBJ invocations to module description.
8037         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
8038         * modules/logl (configure.ac): ... to here.
8039
8040 2011-05-21  Bruno Haible  <bruno@clisp.org>
8041
8042         expl: Move AC_LIBOBJ invocations to module description.
8043         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
8044         * modules/expl (configure.ac): ... to here.
8045
8046 2011-05-21  Bruno Haible  <bruno@clisp.org>
8047
8048         roundl: Move AC_LIBOBJ invocations to module description.
8049         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
8050         * modules/roundl (configure.ac): ... to here.
8051
8052 2011-05-21  Bruno Haible  <bruno@clisp.org>
8053
8054         round: Move AC_LIBOBJ invocations to module description.
8055         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
8056         * modules/round (configure.ac): ... to here.
8057
8058 2011-05-21  Bruno Haible  <bruno@clisp.org>
8059
8060         roundf: Move AC_LIBOBJ invocations to module description.
8061         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
8062         * modules/roundf (configure.ac): ... to here.
8063
8064 2011-05-21  Bruno Haible  <bruno@clisp.org>
8065
8066         truncl: Move AC_LIBOBJ invocations to module description.
8067         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
8068         * modules/truncl (configure.ac): ... to here.
8069
8070 2011-05-21  Bruno Haible  <bruno@clisp.org>
8071
8072         trunc: Move AC_LIBOBJ invocations to module description.
8073         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
8074         * modules/trunc (configure.ac): ... to here.
8075
8076 2011-05-21  Bruno Haible  <bruno@clisp.org>
8077
8078         truncf: Move AC_LIBOBJ invocations to module description.
8079         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
8080         * modules/truncf (configure.ac): ... to here.
8081
8082 2011-05-21  Bruno Haible  <bruno@clisp.org>
8083
8084         ceill: Move AC_LIBOBJ invocations to module description.
8085         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
8086         * modules/ceill (configure.ac): ... to here.
8087
8088 2011-05-21  Bruno Haible  <bruno@clisp.org>
8089
8090         ceil: Move AC_LIBOBJ invocations to module description.
8091         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
8092         * modules/ceil (configure.ac): ... to here.
8093
8094 2011-05-21  Bruno Haible  <bruno@clisp.org>
8095
8096         ceilf: Move AC_LIBOBJ invocations to module description.
8097         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
8098         * modules/ceilf (configure.ac): ... to here.
8099
8100 2011-05-21  Bruno Haible  <bruno@clisp.org>
8101
8102         floorl: Respect rules for use of AC_LIBOBJ.
8103         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
8104         * modules/floorl (configure.ac): ... to here.
8105
8106 2011-05-21  Bruno Haible  <bruno@clisp.org>
8107
8108         floor: Respect rules for use of AC_LIBOBJ.
8109         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
8110         * modules/floor (configure.ac): ... to here.
8111
8112 2011-05-21  Bruno Haible  <bruno@clisp.org>
8113
8114         floorf: Move AC_LIBOBJ invocations to module description.
8115         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
8116         * modules/floorf (configure.ac): ... to here.
8117
8118 2011-05-20  Bruno Haible  <bruno@clisp.org>
8119
8120         sqrtl: Respect rules for use of AC_LIBOBJ.
8121         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
8122         * modules/sqrtl (configure.ac): ... to here.
8123
8124 2011-05-20  Bruno Haible  <bruno@clisp.org>
8125
8126         ldexpl: Respect rules for use of AC_LIBOBJ.
8127         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
8128         * modules/ldexpl (configure.ac): ... to here.
8129
8130 2011-05-20  Bruno Haible  <bruno@clisp.org>
8131
8132         frexpl*: Respect rules for use of AC_LIBOBJ.
8133         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
8134         invocation from here...
8135         * modules/frexpl (configure.ac): ... to here.
8136         * modules/frexpl-nolibm (configure.ac): ... and here.
8137
8138 2011-05-20  Bruno Haible  <bruno@clisp.org>
8139
8140         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
8141         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
8142         invocation from here...
8143         * modules/frexp (configure.ac): ... to here.
8144         * modules/frexp-nolibm (configure.ac): ... and here.
8145
8146 2011-05-20  Bruno Haible  <bruno@clisp.org>
8147
8148         isnan: Respect rules for use of AC_LIBOBJ.
8149         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
8150         invocations here.
8151         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
8152         REPLACE_ISNAN.
8153         * modules/isnand (configure.ac): Likewise.
8154         * modules/isnanl (configure.ac): Likewise.
8155
8156 2011-05-20  Bruno Haible  <bruno@clisp.org>
8157
8158         isnanl*: Respect rules for use of AC_LIBOBJ.
8159         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
8160         invocation from here...
8161         * modules/isnanl (configure.ac): ... to here.
8162         * modules/isnanl-nolibm (configure.ac): ... and here.
8163
8164 2011-05-20  Bruno Haible  <bruno@clisp.org>
8165
8166         isnand*: Move AC_LIBOBJ invocations to module description.
8167         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
8168         invocation from here...
8169         * modules/isnand (configure.ac): ... to here.
8170         * modules/isnand-nolibm (configure.ac): ... and here.
8171
8172 2011-05-20  Bruno Haible  <bruno@clisp.org>
8173
8174         isnanf*: Move AC_LIBOBJ invocations to module description.
8175         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
8176         invocation from here...
8177         * modules/isnanf (configure.ac): ... to here.
8178         * modules/isnanf-nolibm (configure.ac): ... and here.
8179
8180 2011-05-20  Bruno Haible  <bruno@clisp.org>
8181
8182         isnan*: Separate the AC_LIBOBJ invocations.
8183         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
8184         AC_LIBOBJ invocation.
8185         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
8186         here.
8187         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
8188         AC_LIBOBJ invocation.
8189         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
8190         here.
8191         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
8192         AC_LIBOBJ invocation.
8193         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
8194         here.
8195         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
8196
8197 2011-05-08  Bruno Haible  <bruno@clisp.org>
8198
8199         isinf: Move AC_LIBOBJ invocations to module description.
8200         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
8201         * modules/isinf (configure.ac): ... to here.
8202
8203 2011-05-08  Bruno Haible  <bruno@clisp.org>
8204
8205         isfinite: Move AC_LIBOBJ invocations to module description.
8206         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
8207         * modules/isfinite (configure.ac): ... to here.
8208
8209 2011-05-08  Bruno Haible  <bruno@clisp.org>
8210
8211         isblank: Move AC_LIBOBJ invocations to module description.
8212         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
8213         here...
8214         * modules/isblank (configure.ac): ... to here.
8215
8216 2011-05-08  Bruno Haible  <bruno@clisp.org>
8217
8218         isapipe: Move AC_LIBOBJ invocations to module description.
8219         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
8220         gl_PREREQ_ISAPIPE invocations from here...
8221         * modules/isapipe (configure.ac): ... to here.
8222         (Depends-on): Update condition.
8223
8224 2011-05-08  Bruno Haible  <bruno@clisp.org>
8225
8226         ioctl: Move AC_LIBOBJ invocations to module description.
8227         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
8228         invocations from here...
8229         * modules/ioctl (configure.ac): ... to here.
8230         (Depends-on): Update condition.
8231
8232 2011-05-08  Bruno Haible  <bruno@clisp.org>
8233
8234         imaxdiv: Move AC_LIBOBJ invocations to module description.
8235         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
8236         invocations from here...
8237         * modules/imaxdiv (configure.ac): ... to here.
8238
8239 2011-05-08  Bruno Haible  <bruno@clisp.org>
8240
8241         imaxabs: Move AC_LIBOBJ invocations to module description.
8242         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
8243         invocations from here...
8244         * modules/imaxabs (configure.ac): ... to here.
8245
8246 2011-05-08  Bruno Haible  <bruno@clisp.org>
8247
8248         getaddrinfo: Move AC_LIBOBJ invocations to module description.
8249         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
8250         AC_LIBOBJ invocations from here...
8251         * modules/getaddrinfo (configure.ac): ... to here.
8252         (Depends-on): Add conditions.
8253
8254 2011-05-08  Bruno Haible  <bruno@clisp.org>
8255
8256         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8257         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
8258         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8259         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
8260         (gl_PREREQ_INET_PTON): ... from here.
8261         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
8262         gl_PREREQ_INET_PTON here.
8263         (Depends-on): Update condition.
8264
8265 2011-05-08  Bruno Haible  <bruno@clisp.org>
8266
8267         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
8268         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
8269         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
8270         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
8271         (gl_PREREQ_INET_NTOP): ... from here.
8272         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
8273         gl_PREREQ_INET_NTOP here.
8274         (Depends-on): Update condition.
8275
8276 2011-05-08  Bruno Haible  <bruno@clisp.org>
8277
8278         iconv_open: Move AC_LIBOBJ invocations to module description.
8279         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
8280         AC_LIBOBJ invocations from here...
8281         * modules/iconv_open (configure.ac): ... to here.
8282
8283 2011-05-08  Bruno Haible  <bruno@clisp.org>
8284
8285         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
8286         If module 'iconv_open' is among the main modules and module
8287         'iconv_open-utf' is among the tests dependencies, then
8288         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
8289         return the special iconv_t values. Therefore iconv() and iconv_close()
8290         must support these special iconv_t values, already in lib, not only in
8291         tests.
8292         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
8293         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
8294         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
8295         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
8296         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
8297         (Depends-on): Add the dependencies of iconv_open-utf.
8298         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
8299         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
8300         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
8301
8302 2011-05-08  Bruno Haible  <bruno@clisp.org>
8303
8304         group-member: Move AC_LIBOBJ invocations to module description.
8305         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
8306         gl_PREREQ_GROUP_MEMBER invocations from here...
8307         * modules/group-member (configure.ac): ... to here.
8308
8309 2011-05-08  Bruno Haible  <bruno@clisp.org>
8310
8311         grantpt: Move AC_LIBOBJ invocations to module description.
8312         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
8313         invocations from here...
8314         * modules/grantpt (configure.ac): ... to here.
8315
8316 2011-05-08  Bruno Haible  <bruno@clisp.org>
8317
8318         glob: Move AC_LIBOBJ invocations to module description.
8319         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
8320         from here...
8321         * modules/glob (configure.ac): ... to here.
8322
8323 2011-05-08  Bruno Haible  <bruno@clisp.org>
8324
8325         getusershell: Move AC_LIBOBJ invocations to module description.
8326         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
8327         Move AC_LIBOBJ invocation from here...
8328         * modules/getusershell (configure.ac): ... to here.
8329         (Depends-on): Update condition.
8330
8331 2011-05-08  Bruno Haible  <bruno@clisp.org>
8332
8333         gettimeofday: Move AC_LIBOBJ invocations to module description.
8334         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
8335         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
8336         gl_PREREQ_GETTIMEOFDAY invocations from here...
8337         * modules/gettimeofday (configure.ac): ... to here.
8338
8339 2011-05-08  Bruno Haible  <bruno@clisp.org>
8340
8341         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
8342         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
8343         just gl_FUNC_TZSET.
8344         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
8345         (gl_FUNC_TZSET_CLOBBER): Remove actions.
8346         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
8347         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
8348
8349 2011-05-08  Bruno Haible  <bruno@clisp.org>
8350
8351         getsubopt: Move AC_LIBOBJ invocations to module description.
8352         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
8353         gl_PREREQ_GETSUBOPT invocations from here...
8354         * modules/getsubopt (configure.ac): ... to here.
8355
8356 2011-05-08  Bruno Haible  <bruno@clisp.org>
8357
8358         getpass-gnu: Move AC_LIBOBJ invocations to module description.
8359         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
8360         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
8361         * modules/getpass-gnu (configure.ac): ... to here.
8362
8363 2011-05-08  Bruno Haible  <bruno@clisp.org>
8364
8365         getpass: Move AC_LIBOBJ invocations to module description.
8366         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
8367         gl_PREREQ_GETPASS invocations from here...
8368         * modules/getpass (configure.ac): ... to here.
8369
8370 2011-05-08  Bruno Haible  <bruno@clisp.org>
8371
8372         getpagesize: Move AC_LIBOBJ invocations to module description.
8373         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
8374         from here...
8375         * modules/getpagesize (configure.ac): ... to here.
8376
8377 2011-05-08  Bruno Haible  <bruno@clisp.org>
8378
8379         getopt: Move AC_LIBOBJ invocations to module description.
8380         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
8381         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
8382         invocations from here...
8383         * modules/getopt-gnu (configure.ac): ... to here.
8384         * modules/getopt-posix (configure.ac): ... and here.
8385         (Depends-on): Update condition.
8386
8387 2011-05-08  Bruno Haible  <bruno@clisp.org>
8388
8389         getopt, argp: Respect rules for use of AC_LIBOBJ.
8390         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
8391         (gl_REPLACE_GETOPT_ALWAYS): New macro.
8392         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
8393         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
8394
8395 2011-05-08  Bruno Haible  <bruno@clisp.org>
8396
8397         getlogin_r: Move AC_LIBOBJ invocations to module description.
8398         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
8399         gl_PREREQ_GETLOGIN_R invocations from here...
8400         * modules/getlogin_r (configure.ac): ... to here.
8401
8402 2011-05-08  Bruno Haible  <bruno@clisp.org>
8403
8404         getlogin: Move AC_LIBOBJ invocations to module description.
8405         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
8406         here...
8407         * modules/getlogin (configure.ac): ... to here.
8408
8409 2011-05-08  Bruno Haible  <bruno@clisp.org>
8410
8411         getloadavg: Move AC_LIBOBJ invocations to module description.
8412         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
8413         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
8414         * modules/getloadavg (configure.ac): ... to here.
8415
8416 2011-05-08  Bruno Haible  <bruno@clisp.org>
8417
8418         gethrxtime: Move AC_LIBOBJ invocations to module description.
8419         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
8420         LIB_GETHRXTIME from here...
8421         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
8422         invocations from here...
8423         * modules/gethrxtime (configure.ac): ... to here.
8424
8425 2011-05-08  Bruno Haible  <bruno@clisp.org>
8426
8427         gethostname: Move AC_LIBOBJ invocations to module description.
8428         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
8429         gl_PREREQ_GETHOSTNAME invocations from here...
8430         * modules/gethostname (configure.ac): ... to here.
8431
8432 2011-05-08  Bruno Haible  <bruno@clisp.org>
8433
8434         getgroups: Move AC_LIBOBJ invocations to module description.
8435         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
8436         here...
8437         * modules/getgroups (configure.ac): ... to here.
8438
8439 2011-05-08  Bruno Haible  <bruno@clisp.org>
8440
8441         getdtablesize: Move AC_LIBOBJ invocations to module description.
8442         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
8443         invocation from here...
8444         * modules/getdtablesize (configure.ac): ... to here.
8445
8446 2011-05-08  Bruno Haible  <bruno@clisp.org>
8447
8448         getdomainname: Move AC_LIBOBJ invocations to module description.
8449         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
8450         gl_PREREQ_GETDOMAINNAME invocations from here...
8451         * modules/getdomainname (configure.ac): ... to here.
8452
8453 2011-05-08  Bruno Haible  <bruno@clisp.org>
8454
8455         getline: Move AC_LIBOBJ invocations to module description.
8456         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
8457         invocations from here...
8458         * modules/getline (configure.ac): ... to here.
8459
8460 2011-05-08  Bruno Haible  <bruno@clisp.org>
8461
8462         getline: Simplify.
8463         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
8464         It's already handled through the module dependency.
8465
8466 2011-05-08  Bruno Haible  <bruno@clisp.org>
8467
8468         getdelim: Move AC_LIBOBJ invocations to module description.
8469         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
8470         and gl_PREREQ_GETDELIM invocations from here...
8471         * modules/getdelim (configure.ac): ... to here.
8472         (Depends-on): Fix condition.
8473
8474 2011-05-08  Bruno Haible  <bruno@clisp.org>
8475
8476         getcwd: Move AC_LIBOBJ invocations to module description.
8477         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
8478         invocations from here...
8479         * modules/getcwd (configure.ac): ... to here.
8480
8481 2011-05-08  Bruno Haible  <bruno@clisp.org>
8482
8483         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
8484         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
8485         here...
8486         * modules/getcwd-lgpl (configure.ac): ... to here.
8487
8488 2011-05-07  Bruno Haible  <bruno@clisp.org>
8489
8490         crypto/gc: Move AC_LIBOBJ invocations to module description.
8491         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
8492         * modules/crypto/gc (configure.ac): ... to here.
8493
8494 2011-05-07  Bruno Haible  <bruno@clisp.org>
8495
8496         fwriting: Move AC_LIBOBJ invocations to module description.
8497         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
8498         here...
8499         * modules/fwriting (configure.ac): ... to here.
8500
8501 2011-05-07  Bruno Haible  <bruno@clisp.org>
8502
8503         fwritable: Move AC_LIBOBJ invocations to module description.
8504         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
8505         here...
8506         * modules/fwritable (configure.ac): ... to here.
8507
8508 2011-05-07  Bruno Haible  <bruno@clisp.org>
8509
8510         futimens: Move AC_LIBOBJ invocations to module description.
8511         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
8512         here...
8513         * modules/futimens (configure.ac): ... to here.
8514
8515 2011-05-07  Bruno Haible  <bruno@clisp.org>
8516
8517         ftruncate: Move AC_LIBOBJ invocations to module description.
8518         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
8519         gl_PREREQ_FTRUNCATE invocations from here...
8520         * modules/ftruncate (configure.ac): ... to here.
8521
8522 2011-05-07  Bruno Haible  <bruno@clisp.org>
8523
8524         fsync: Move AC_LIBOBJ invocations to module description.
8525         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
8526         invocations from here...
8527         * modules/fsync (configure.ac): ... to here.
8528
8529 2011-05-07  Bruno Haible  <bruno@clisp.org>
8530
8531         fsusage: Move AC_LIBOBJ invocations to module description.
8532         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
8533         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
8534         * modules/fsusage (configure.ac): ... to here.
8535
8536 2011-05-07  Bruno Haible  <bruno@clisp.org>
8537
8538         freopen: Move AC_LIBOBJ invocations to module description.
8539         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
8540         invocations from here...
8541         * modules/freopen (configure.ac): ... to here.
8542
8543 2011-05-07  Bruno Haible  <bruno@clisp.org>
8544
8545         free: Move AC_LIBOBJ invocations to module description.
8546         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
8547         invocations from here...
8548         * modules/free (configure.ac): ... to here.
8549
8550 2011-05-07  Bruno Haible  <bruno@clisp.org>
8551
8552         freadable: Move AC_LIBOBJ invocations to module description.
8553         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
8554         here...
8555         * modules/freadable (configure.ac): ... to here.
8556
8557 2011-05-07  Bruno Haible  <bruno@clisp.org>
8558
8559         fpurge: Move AC_LIBOBJ invocations to module description.
8560         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
8561         invocations from here...
8562         * modules/fpurge (configure.ac): ... to here.
8563
8564 2011-05-07  Bruno Haible  <bruno@clisp.org>
8565
8566         fpending: Move AC_LIBOBJ invocations to module description.
8567         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
8568         gl_FUNC_FPENDING.
8569         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
8570         invocations from here...
8571         * modules/fpending (configure.ac): ... to here.
8572
8573 2011-05-07  Bruno Haible  <bruno@clisp.org>
8574
8575         fopen: Move AC_LIBOBJ invocations to module description.
8576         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
8577         invocations from here...
8578         * modules/fopen (configure.ac): ... to here.
8579
8580 2011-05-07  Bruno Haible  <bruno@clisp.org>
8581
8582         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
8583         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
8584         gl_FUNC_FNMATCH_POSIX.
8585         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
8586         invocations from here...
8587         * modules/fnmatch (configure.ac): ... to here.
8588         * modules/fnmatch-gnu (configure.ac): ... and here.
8589
8590 2011-05-07  Bruno Haible  <bruno@clisp.org>
8591
8592         flock: Move AC_LIBOBJ invocations to module description.
8593         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
8594         invocations from here...
8595         * modules/flock (configure.ac): ... to here.
8596
8597 2011-05-07  Bruno Haible  <bruno@clisp.org>
8598
8599         fileblocks: Move AC_LIBOBJ invocations to module description.
8600         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
8601         gl_PREREQ_FILEBLOCKS invocations from here...
8602         * modules/fileblocks (configure.ac): ... to here.
8603
8604 2011-05-06  Bruno Haible  <bruno@clisp.org>
8605
8606         fflush: Move AC_LIBOBJ invocations to module description.
8607         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
8608         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
8609         invocations from here...
8610         * modules/fflush (configure.ac): ... to here.
8611
8612 2011-05-06  Bruno Haible  <bruno@clisp.org>
8613
8614         fdopendir: Move AC_LIBOBJ invocations to module description.
8615         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
8616         here...
8617         * modules/fdopendir (configure.ac): ... to here.
8618         (Depends-on): Improve conditions.
8619
8620 2011-05-06  Bruno Haible  <bruno@clisp.org>
8621
8622         _Exit: Move AC_LIBOBJ invocations to module description.
8623         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
8624         invocations from here...
8625         * modules/_Exit (configure.ac): ... to here.
8626
8627 2011-05-21  Bruno Haible  <bruno@clisp.org>
8628
8629         euidaccess: Respect rules for use of AC_LIBOBJ.
8630         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
8631         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
8632         from here...
8633         * modules/euidaccess (configure.ac): ... to here.
8634
8635 2011-05-06  Bruno Haible  <bruno@clisp.org>
8636
8637         error: Move AC_LIBOBJ invocations to module description.
8638         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
8639         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
8640         invocations from here...
8641         * modules/error (configure.ac): ... to here.
8642
8643 2011-05-06  Bruno Haible  <bruno@clisp.org>
8644
8645         duplocale: Move AC_LIBOBJ invocations to module description.
8646         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
8647         gl_PREREQ_DUPLOCALE invocations from here...
8648         * modules/duplocale (configure.ac): ... to here.
8649
8650 2011-05-05  Bruno Haible  <bruno@clisp.org>
8651
8652         dirfd: Move AC_LIBOBJ invocations to module description.
8653         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
8654         gl_FUNC_DIRFD.
8655         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
8656         here...
8657         * modules/dirfd (configure.ac): ... to here.
8658         (Depends-on): Fix condition.
8659
8660 2011-05-05  Bruno Haible  <bruno@clisp.org>
8661
8662         chown: Respect rules for use of AC_LIBOBJ.
8663         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
8664         * modules/chown (configure.ac): ... to here.
8665
8666 2011-05-05  Bruno Haible  <bruno@clisp.org>
8667
8668         chdir-long: Move AC_LIBOBJ invocations to module description.
8669         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
8670         gl_PREREQ_CHDIR_LONG invocations from here...
8671         * modules/chdir-long (configure.ac): ... to here.
8672
8673 2011-05-05  Bruno Haible  <bruno@clisp.org>
8674
8675         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
8676         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
8677         from here...
8678         * modules/canonicalize-lgpl (configure.ac): ... to here.
8679
8680 2011-05-05  Bruno Haible  <bruno@clisp.org>
8681
8682         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
8683         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
8684         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
8685         REPLACE_CALLOC.
8686         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
8687         * modules/calloc-gnu (configure.ac): Likewise.
8688
8689 2011-05-05  Bruno Haible  <bruno@clisp.org>
8690
8691         btowc: Move AC_LIBOBJ invocations to module description.
8692         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
8693         invocations from here...
8694         * modules/btowc (configure.ac): ... to here.
8695
8696 2011-05-21  Bruno Haible  <bruno@clisp.org>
8697
8698         atexit: Move AC_LIBOBJ invocations to module description.
8699         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
8700         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
8701         here...
8702         * modules/atexit (configure.ac): ... to here.
8703
8704 2011-05-05  Bruno Haible  <bruno@clisp.org>
8705
8706         atoll: Move AC_LIBOBJ invocations to module description.
8707         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
8708         invocations from here...
8709         * modules/atoll (configure.ac): ... to here.
8710
8711 2011-05-05  Bruno Haible  <bruno@clisp.org>
8712
8713         argz: Move AC_LIBOBJ invocations to module description.
8714         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
8715         * modules/argz (configure.ac): ... to here.
8716
8717 2011-05-05  Bruno Haible  <bruno@clisp.org>
8718
8719         alphasort: Move AC_LIBOBJ invocations to module description.
8720         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
8721         gl_PREREQ_ALPHASORT invocations from here...
8722         * modules/alphasort (configure.ac): ... to here.
8723
8724 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
8725
8726         verify: new macro verify_expr; verify_true deprecated
8727         * NEWS: Mention this.
8728         * doc/verify.texi (Compile-time Assertions): Document this.
8729         * lib/verify.h (verify_true): Deprecate.
8730         (verify_expr): New macro.
8731         * tests/test-verify.c (function): Test verify_expr.
8732
8733 2011-06-14  Jim Meyering  <meyering@redhat.com>
8734
8735         init.sh: give more portable redirection-related advice in a comment
8736         * tests/init.sh (stderr_fileno_): Update the advice in comments.
8737         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
8738         for lots of discussion.  Stefano Lattarini suggested the solution
8739         of putting "9>&2" after the command.  Reported by Bruno Haible.
8740
8741 2011-06-13  Bruno Haible  <bruno@clisp.org>
8742
8743         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
8744         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
8745         'none'.
8746
8747 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
8748
8749         ftoastr: use strtof only if HAVE_STRTOF
8750         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
8751         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
8752         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
8753         * modules/ftoastr (configure.ac): Check for strtof.
8754
8755 2011-06-13  Bruno Haible  <bruno@clisp.org>
8756
8757         gnulib-tool: Addendum to 2011-06-08 commit.
8758         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
8759         and --witness-c-macro have been given, augment AM_CPPFLAGS.
8760
8761 2011-06-13  Bruno Haible  <bruno@clisp.org>
8762
8763         fseeko: Provide a non-inline replacement of fseek().
8764         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
8765         * modules/fseeko (Depends-on): Add fseek.
8766         * modules/fseek (License): Change to LGPLv2+.
8767
8768 2011-06-13  Bruno Haible  <bruno@clisp.org>
8769
8770         ftello: Provide a non-inline replacement of ftell().
8771         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
8772         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
8773         not have ftello() (such as on mingw).
8774         * modules/ftello (Depends-on): Add ftell.
8775         * modules/ftell (License): Change to LGPLv2+.
8776
8777 2011-05-07  Bruno Haible  <bruno@clisp.org>
8778
8779         ftell: Move AC_LIBOBJ invocations to module description.
8780         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
8781         * modules/ftell (configure.ac): ... to here.
8782
8783 2011-05-07  Bruno Haible  <bruno@clisp.org>
8784
8785         ftello: Respect rules for use of AC_LIBOBJ.
8786         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
8787         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
8788         here...
8789         * modules/ftello (configure.ac): ... to here.
8790
8791 2011-05-07  Bruno Haible  <bruno@clisp.org>
8792
8793         fseeko: Simplify.
8794         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
8795         (gl_FUNC_FSEEKO): Inline it here.
8796
8797 2011-05-07  Bruno Haible  <bruno@clisp.org>
8798
8799         fseek: Move AC_LIBOBJ invocations to module description.
8800         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
8801         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
8802         * modules/fseek (configure.ac): ... to here.
8803
8804 2011-05-07  Bruno Haible  <bruno@clisp.org>
8805
8806         fseek: Respect rules for use of AC_LIBOBJ.
8807         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
8808         here...
8809         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
8810
8811 2011-05-07  Bruno Haible  <bruno@clisp.org>
8812
8813         fseeko: Respect rules for use of AC_LIBOBJ.
8814         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
8815         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
8816         here...
8817         * modules/fseeko (configure.ac): ... to here.
8818
8819 2011-06-13  Bruno Haible  <bruno@clisp.org>
8820
8821         gnulib-tool: Allow comments in the 'Depends-on' section.
8822         * doc/gnulib.texi (Module description): Mention comment syntax in the
8823         Depends-on section.
8824         * gnulib-tool (func_get_dependencies): Filter out comment lines.
8825
8826 2011-06-13  Bruno Haible  <bruno@clisp.org>
8827
8828         file-set.h: guard __attibute__ use, now that it's not always defined
8829         * lib/file-set.h (record_file): Use __attribute__ only with compiler
8830         versions that support it.  This fixes a coreutils build failure with
8831         the vendor cc on HP-UX 11.31.
8832
8833 2011-06-12  Bruno Haible  <bruno@clisp.org>
8834
8835         acl: Add support for HP-UX >= 11.11 JFS ACLs.
8836         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
8837         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
8838         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
8839         (acl, aclsort): New declarations.
8840         (aclv_nontrivial): New declaration.
8841         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
8842         (file_has_acl): Read also the second kind of HP-UX ACLs.
8843         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
8844         kind of HP-UX ACLs if the first kind fails.
8845         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
8846         second kind of HP-UX ACLs.
8847         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
8848         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
8849         agree.
8850         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8851         hpuxjfs.
8852         Handle hpuxjfs.
8853         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
8854         hpuxjfs.
8855         Handle hpuxjfs.
8856         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8857         (func_test_same_acls): Use both lsacl and getacl.
8858         Handle hpuxjfs.
8859         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
8860         (func_test_same_acls): Use both lsacl and getacl.
8861         Handle hpuxjfs.
8862
8863 2011-06-12  Bruno Haible  <bruno@clisp.org>
8864
8865         acl: Complete the 2010-08-10 fix.
8866         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
8867         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
8868         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
8869         explicitly.
8870         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
8871         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
8872
8873 2011-06-12  Bruno Haible  <bruno@clisp.org>
8874
8875         spawn-pipe tests: Comments.
8876         * tests/test-spawn-pipe-child.c (main): Update comment.
8877         Reported by James Youngman <jay@gnu.org>.
8878
8879 2011-06-11  James Youngman  <jay@gnu.org>
8880
8881         New module 'stat-size'.
8882         * modules/stat-size: New module.  Provides macros for accessing
8883         file size information in instances of struct stat.  Depends on the
8884         fileblocks module because it calls st_blocks.
8885         * lib/stat-size.h: New file, adapted from coreutils' system.h.
8886         * doc/gnulib.texi: Include stat-size.texi.
8887         * doc/stat-size.texi: Documentation for this module.
8888         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
8889         * m4/fileblocks.m4: Mention that stat-size depends on the call to
8890         AC_STRUCT_ST_BLOCKS.
8891
8892 2011-06-09  Bruno Haible  <bruno@clisp.org>
8893
8894         thread: Support pthreads-win32.
8895         * lib/glthread/thread.h (gl_thread_self): Define differently on
8896         pthreads-win32.
8897         (gl_null_thread): New declaration.
8898         (gl_thread_self_pointer): New macro.
8899         * lib/glthread/thread.c (gl_null_thread): New constant.
8900         * tests/test-lock.c: Use gl_thread_self_pointer instead of
8901         gl_thread_self.
8902         * tests/test-tls.c: Likewise.
8903         Suggested by Paul Eggert. Reported by Eric Blake.
8904
8905 2011-06-09  Bruno Haible  <bruno@clisp.org>
8906
8907         thread: Fix confusion between NULL and 0.
8908         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
8909         Reported by Paul Eggert.
8910
8911 2011-06-09  Bruno Haible  <bruno@clisp.org>
8912
8913         spawn-pipe tests: Avoid test failure on HP-UX 11.
8914         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
8915         is closed.
8916
8917 2011-06-09  Bruno Haible  <bruno@clisp.org>
8918
8919         acl tests: Fix compilation error on HP-UX 11.
8920         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
8921
8922 2011-06-09  Bruno Haible  <bruno@clisp.org>
8923
8924         rmdir: Avoid test failure on HP-UX 10.20.
8925         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
8926         EEXIST.
8927
8928 2011-06-08  Eric Blake  <eblake@redhat.com>
8929
8930         perror: fix test on mingw
8931         * modules/perror-tests (Depends-on): Add dup2.
8932
8933         strerror_r-posix: fix on MacOS
8934         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
8935         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
8936         logic bug.
8937         * lib/strerror_r.c (strerror_r): Fix the bug.
8938         * lib/strerror.c (strerror): Likewise.
8939         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8940         problem.
8941         * doc/posix-functions/strerror.texi (strerror): Likewise.
8942         * doc/posix-functions/perror.texi (perror): Likewise.
8943         * tests/test-strerror.c (main): Enhance test.
8944         * tests/test-strerror_r.c (main): Likewise.
8945
8946 2011-06-08  Bruno Haible  <bruno@clisp.org>
8947
8948         gnulib-tool: Better isolation between different gnulib-tool invocations.
8949         * gnulib-tool: New option --witness-c-macro.
8950         (witness_c_macro): New variable.
8951         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
8952         AM_CPPFLAGS define it as a C macro.
8953         (func_emit_tests_Makefile_am): Likewise.
8954         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
8955         read it from there.
8956         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
8957         m4_define, not AC_DEFUN.
8958         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
8959         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
8960         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
8961         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
8962         s|...|...|, to substitute the values of the GNULIB_* module indicator
8963         variables.
8964         * modules/dirent (Makefile.am): Likewise.
8965         * modules/fcntl-h (Makefile.am): Likewise.
8966         * modules/iconv-h (Makefile.am): Likewise.
8967         * modules/langinfo (Makefile.am): Likewise.
8968         * modules/locale (Makefile.am): Likewise.
8969         * modules/math (Makefile.am): Likewise.
8970         * modules/netdb (Makefile.am): Likewise.
8971         * modules/poll-h (Makefile.am): Likewise.
8972         * modules/pty (Makefile.am): Likewise.
8973         * modules/search (Makefile.am): Likewise.
8974         * modules/signal (Makefile.am): Likewise.
8975         * modules/spawn (Makefile.am): Likewise.
8976         * modules/stdio (Makefile.am): Likewise.
8977         * modules/stdlib (Makefile.am): Likewise.
8978         * modules/string (Makefile.am): Likewise.
8979         * modules/sys_ioctl (Makefile.am): Likewise.
8980         * modules/sys_select (Makefile.am): Likewise.
8981         * modules/sys_socket (Makefile.am): Likewise.
8982         * modules/sys_stat (Makefile.am): Likewise.
8983         * modules/sys_times (Makefile.am): Likewise.
8984         * modules/sys_utsname (Makefile.am): Likewise.
8985         * modules/sys_wait (Makefile.am): Likewise.
8986         * modules/termios (Makefile.am): Likewise.
8987         * modules/time (Makefile.am): Likewise.
8988         * modules/unistd (Makefile.am): Likewise.
8989         * modules/wchar (Makefile.am): Likewise.
8990
8991 2011-06-08  Eric Blake  <eblake@redhat.com>
8992
8993         strerror: simplify replacement
8994         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
8995         * modules/strerror (configure.ac): No prereqs needed here...
8996         * modules/strerror-override (configure.ac): ...but this needs it.
8997         (Files): Add file for needed prereq macro.
8998
8999 2011-06-08  Bruno Haible  <bruno@clisp.org>
9000
9001         strerror_r-posix: Tweaks.
9002         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
9003         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
9004         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
9005         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
9006         (gl_FUNC_STRERROR_R): ... to here.
9007         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
9008
9009 2011-06-07  Eric Blake  <eblake@redhat.com>
9010
9011         perror: document fixed bugs
9012         * doc/posix-functions/perror.texi (perror): Document recent
9013         patches.
9014
9015 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
9016
9017         stat-time: get_stat_birthtime failure is better-defined
9018         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
9019         return a timestamp whose tv_sec and tv_nsec values are both -1.
9020         Previously, the spec said only that the tv_nsec value was negative.
9021         This upward-compatible change simplifies GNU tar a bit.
9022
9023 2011-06-07  Eric Blake  <eblake@redhat.com>
9024
9025         strerror_r-posix: work around cygwin 1.7.9
9026         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
9027         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
9028         bug without replacing strerror_r.
9029         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
9030         strerror_r is buggy, but without requiring strerror_r compilation.
9031         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
9032
9033         test-perror: relax test to ignore cygwin bug
9034         * tests/test-perror2.c (main): Relax test on requiring detection
9035         of stream errors, and use unbuffered stream.
9036         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
9037         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
9038         * doc/posix-functions/fputc.texi (fputc): Likewise.
9039         * doc/posix-functions/fputs.texi (fputs): Likewise.
9040         * doc/posix-functions/fputws.texi (fputws): Likewise.
9041         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
9042         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
9043         * doc/posix-functions/getopt.texi (getopt): Likewise.
9044         * doc/posix-functions/perror.texi (perror): Likewise.
9045         * doc/posix-functions/printf.texi (printf): Likewise.
9046         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
9047         * doc/posix-functions/psignal.texi (psignal): Likewise.
9048         * doc/posix-functions/putc.texi (putc): Likewise.
9049         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
9050         Likewise.
9051         * doc/posix-functions/putchar.texi (putchar): Likewise.
9052         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
9053         Likewise.
9054         * doc/posix-functions/puts.texi (puts): Likewise.
9055         * doc/posix-functions/putwc.texi (putwc): Likewise.
9056         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9057         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9058         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9059         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
9060         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9061         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9062         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
9063         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
9064
9065 2011-05-22  Bruno Haible  <bruno@clisp.org>
9066
9067         strerror: Move AC_LIBOBJ invocations to module description.
9068         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
9069         gl_PREREQ_STRERROR invocations from here...
9070         * modules/strerror (configure.ac): ... to here.
9071
9072 2011-05-21  Bruno Haible  <bruno@clisp.org>
9073
9074         perror: Use common idiom.
9075         * modules/perror (configure.ac): Reorder statements.
9076
9077 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9078
9079         tests: fix usage message in 'mktempd_'
9080         * tests/init.sh (mktempd_): In the usage message, use literal
9081         'mktempd_', not '$ME' (which is even undefined), as the name of
9082         the subroutine.
9083
9084 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9085
9086         tests init: new function 'fatal_', for hard errors
9087         Before this patch, the only way offered by tests/init.sh to
9088         properly signal a hard error was the `framework_failure_'
9089         function.  But the error message issued by that function,
9090         as its name would suggest, refers to a set-up failure in the
9091         testsuite, while hard errors can obviously also be due to
9092         other reasons.  The best way to fix this inconsistency is to
9093         introduce a new function with a more general error message.
9094         * tests/init.sh (fatal_): New function.
9095
9096 2011-06-06  Eric Blake  <eblake@redhat.com>
9097
9098         canonicalize-lgpl: use common idiom
9099         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
9100         over newer POSIX -Rf.
9101         Reported by Bruno Haible.
9102
9103         canonicalize-lgpl: work around AIX realpath bug
9104         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
9105         * doc/posix-functions/realpath.texi (realpath): Document it.
9106         Reported by Bruno Haible.
9107
9108         strerror: work around FreeBSD bug
9109         * lib/strerror.c (strerror): Special case 0.
9110         Reported by Bruno Haible.
9111
9112         strerror-override: avoid bloating errno module
9113         * modules/errno (Files, configure.ac): Move replacement strings...
9114         * modules/strerror-override: ...to new module.
9115         * modules/strerror (Depends-on): Add strerror-override.
9116         * modules/strerror_r-posix (Depends-on): Likewise.
9117         * MODULES.html.sh: Document new module.
9118         Reported by Bruno Haible.
9119
9120 2011-06-06  Bruno Haible  <bruno@clisp.org>
9121
9122         spawn-pipe tests: Rename program.
9123         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
9124         * tests/test-spawn-pipe-child.c: Update comment.
9125         * tests/test-spawn-pipe.sh: Update.
9126         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
9127
9128         spawn-pipe tests: Link the child program only against libc.
9129         * tests/test-spawn-pipe-child.c: New file, extracted from
9130         tests/test-spawn-pipe.c.
9131         (main): Expect only one argument.
9132         (is_open): New function, copied from tests/test-pipe.c.
9133         * tests/test-spawn-pipe.c: Don't include <errno.h>.
9134         (child_main): Remove function.
9135         (test_pipe): Pass only one argument to the child program.
9136         (main): Remove child process code. Expect the child program's name as
9137         first argument.
9138         * tests/test-spawn-pipe.sh: Pass the child program's name as first
9139         argument.
9140         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
9141         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
9142         test-spawn-pipe-child against no libraries.
9143
9144 2011-06-06  Bruno Haible  <bruno@clisp.org>
9145
9146         careadlinkat: Avoid mismatch between ssize_t and int.
9147         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
9148         * lib/careadlinkat.c (careadlinkatcwd): Define always.
9149
9150 2011-06-06  Jim Meyering  <meyering@redhat.com>
9151
9152         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
9153         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
9154         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
9155
9156 2011-06-05  Bruno Haible  <bruno@clisp.org>
9157
9158         ansi-c++-opt: Interoperability with libtool.
9159         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
9160         set the variable to "no", not to ":".
9161         * NEWS: Mention the change.
9162
9163 2011-06-05  Bruno Haible  <bruno@clisp.org>
9164
9165         acl: Fix test failure on AIX 7.
9166         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
9167         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
9168
9169 2011-06-05  Bruno Haible  <bruno@clisp.org>
9170
9171         pipe-filter-ii: Fix test failure on AIX and IRIX.
9172         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
9173         with EAGAIN, retry with a smaller buffer size.
9174
9175 2011-06-05  Bruno Haible  <bruno@clisp.org>
9176
9177         localename: Fix link dependencies.
9178         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
9179         * modules/localename-tests (Makefile.am): Link test-localename with
9180         $(LIBTHREAD).
9181
9182 2011-06-05  Bruno Haible  <bruno@clisp.org>
9183
9184         error: Avoid gcc warning.
9185         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
9186
9187 2011-06-05  Bruno Haible  <bruno@clisp.org>
9188
9189         unsetenv: Avoid gcc warning.
9190         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
9191
9192 2011-06-05  Bruno Haible  <bruno@clisp.org>
9193
9194         setenv: Avoid gcc warning.
9195         * lib/setenv.c (setenv): Provide declaration if system lacks it.
9196
9197 2011-06-05  Bruno Haible  <bruno@clisp.org>
9198
9199         sys_select: Ensure memset is declared also on AIX 7.
9200         * lib/sys_select.in.h: Include <string.h> also on AIX.
9201         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
9202         self-contained also on AIX 7.1.
9203
9204 2011-06-04  Jim Meyering  <meyering@redhat.com>
9205
9206         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
9207         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
9208         function name, "error".
9209         (_gl_translatable_diag_func_re): New configurable variable.
9210
9211 2011-06-04  Bruno Haible  <bruno@clisp.org>
9212
9213         getopt: Avoid gcc warning.
9214         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
9215
9216 2011-06-04  Bruno Haible  <bruno@clisp.org>
9217
9218         strerror_r: Fix comments.
9219         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
9220         commit.
9221
9222 2011-06-04  Bruno Haible  <bruno@clisp.org>
9223
9224         perror: Fix compilation error.
9225         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
9226         Undefine fprintf, not sprintf.
9227         * modules/perror (Depends-on): Remove intprops, verify.
9228
9229 2011-06-04  Bruno Haible  <bruno@clisp.org>
9230
9231         setlocale: Enable replacement on Cygwin 1.5.
9232         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
9233         Cygwin 1.5.x.
9234         * doc/posix-functions/setlocale.texi: Mention that the problem with the
9235         LC_CTYPE category also exists on Cygwin 1.5.x.
9236
9237 2011-06-04  Bruno Haible  <bruno@clisp.org>
9238
9239         strerror-override: Don't disable symbol renamings.
9240         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
9241         * lib/strerror-override.c: Include config.h.
9242         (strerror_override): Don't undefine.
9243
9244 2011-06-03  Bruno Haible  <bruno@clisp.org>
9245
9246         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
9247         * lib/localename.h: Update copyright header.
9248         * lib/localename.c: Likewise.
9249         * lib/relocatable.h: Likewise.
9250         * lib/relocatable.c: Likewise.
9251
9252 2011-06-02  Bruno Haible  <bruno@clisp.org>
9253
9254         doc: Fix a module name.
9255         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
9256
9257 2011-06-02  Bruno Haible  <bruno@clisp.org>
9258
9259         pipe2: Remove dependency on 'nonblocking' module.
9260         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
9261         O_NONBLOCK is defined by gnulib.
9262         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
9263         is zero.
9264         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
9265         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
9266         defined by gnulib.
9267         (get_nonblocking_flag): New function.
9268         (main): Test O_NONBLOCK flag only if it is nonzero.
9269         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
9270
9271 2011-06-03  Jim Meyering  <meyering@redhat.com>
9272
9273         maint: three new prohibit-header-without-use rules
9274         Prohibit use of cloexec.h, posixver.h, same.h without use.
9275         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
9276         (sc_prohibit_posixver_without_use): Likewise.
9277         (sc_prohibit_same_without_use): Likewise.
9278
9279 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
9280
9281         allocator: 'die' routine is now given requested size
9282         * lib/allocator.h (struct allocator.die): New size arg.
9283         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
9284         If the actual problem is an ssize_t limitation, not a size_t or
9285         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
9286
9287 2011-06-01  Eric Blake  <eblake@redhat.com>
9288
9289         strerror: drop strerror_r dependency
9290         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
9291         * lib/strerror-override.c (strerror_override): ...to new file.
9292         * lib/strerror-override.h: Add prototype.
9293         * lib/strerror-impl.h: Delete.
9294         * lib/strerror.c (strerror): New implementation.
9295         * modules/errno (Files): Add new files.
9296         (configure.ac): Compile new file as appropriate.
9297         * modules/strerror (Files): Drop unused file.
9298         (Depends-on): Drop strerror_r-posix.
9299         * MODULES.html.sh: Document strerror_r-posix.
9300         Requested by Sam Steingold.
9301
9302         perror: call strerror_r directly
9303         * modules/perror (Files): Drop strerror-impl.h.
9304         * lib/perror.c (perror): Use our own stack buffer, rather than
9305         calling a wrapper that uses static storage.
9306         * doc/posix-functions/perror.texi (perror): Document a limitation
9307         of our replacement.
9308
9309         strerror_r: fix includes for FreeBSD
9310         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
9311         since we use abort on some platforms.
9312         Reported by Matthias Bolte.
9313
9314 2011-05-31  Bruno Haible  <bruno@clisp.org>
9315
9316         Fix link errors in tests: openat-die uses gettext-h.
9317         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
9318         against $(LIBINTL).
9319         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
9320         against $(LIBINTL).
9321         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
9322         $(LIBINTL).
9323         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
9324         against $(LIBINTL).
9325         * modules/linkat-tests (Makefile.am): Link test-linkat against
9326         $(LIBINTL).
9327         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
9328         $(LIBINTL).
9329         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
9330         against $(LIBINTL).
9331         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
9332         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
9333         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
9334         $(LIBINTL).
9335         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
9336         $(LIBINTL).
9337         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
9338         $(LIBINTL).
9339         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9340
9341 2011-05-31  Bruno Haible  <bruno@clisp.org>
9342
9343         Fix link errors in tests: wait-process uses gettext-h.
9344         * modules/nonblocking-pipe-tests (Makefile.am): Set
9345         test_nonblocking_pipe_main_LDADD.
9346         * modules/nonblocking-socket-tests (Makefile.am): Link
9347         test-nonblocking-socket-main against $(LIBINTL).
9348         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9349
9350 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
9351
9352         assert-h: work around 'verify' incompatibility
9353         * lib/verify.h: Use @...@ directives, not ifdef.
9354         * modules/assert-h (assert.h): Implement the directives.
9355         (assert.h): Substitute the symbol-prefix more consistently.
9356
9357 2011-05-29  Jim Meyering  <meyering@redhat.com>
9358
9359         trim: remove three superfluous assignments
9360         * lib/trim.c (trim2): Remove three superfluous assignments
9361         and correct brace positioning.
9362
9363 2011-05-29  Bruno Haible  <bruno@clisp.org>
9364
9365         wctype-h: Avoid namespace pollution on Solaris 2.6.
9366         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
9367         identifiers.
9368         * doc/posix-headers/wctype.texi: Mention the problem.
9369         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9370
9371 2011-05-28  Jim Meyering  <meyering@redhat.com>
9372
9373         parse-datetime.y: accommodate -Wstrict-overflow
9374         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
9375         placate -Wstrict-overflow.
9376
9377         trim: avoid a warning from -O2 -Wstrict-overflow
9378         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
9379
9380 2011-05-29  Bruno Haible  <bruno@clisp.org>
9381
9382         gnulib-tool: Fix bug in yesterday's commit.
9383         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
9384         twice.
9385
9386 2011-05-29  Bruno Haible  <bruno@clisp.org>
9387
9388         Allow multiple gnulib generated include files to be combined.
9389         * gnulib-tool (func_compute_include_guard_prefix): New function.
9390         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
9391         ${gl_include_guard_prefix} references.
9392         (func_import, func_create_testdir): Invoke
9393         func_compute_include_guard_prefix.
9394         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
9395         * lib/ctype.in.h: Likewise.
9396         * lib/dirent.in.h: Likewise.
9397         * lib/errno.in.h: Likewise.
9398         * lib/fcntl.in.h: Likewise.
9399         * lib/float.in.h: Likewise.
9400         * lib/getopt.in.h: Likewise.
9401         * lib/iconv.in.h: Likewise.
9402         * lib/langinfo.in.h: Likewise.
9403         * lib/locale.in.h: Likewise.
9404         * lib/math.in.h: Likewise.
9405         * lib/netdb.in.h: Likewise.
9406         * lib/netinet_in.in.h: Likewise.
9407         * lib/poll.in.h: Likewise.
9408         * lib/pthread.in.h: Likewise.
9409         * lib/pty.in.h: Likewise.
9410         * lib/sched.in.h: Likewise.
9411         * lib/se-selinux.in.h: Likewise.
9412         * lib/search.in.h: Likewise.
9413         * lib/signal.in.h: Likewise.
9414         * lib/spawn.in.h: Likewise.
9415         * lib/stdarg.in.h: Likewise.
9416         * lib/stddef.in.h: Likewise.
9417         * lib/stdint.in.h: Likewise.
9418         * lib/stdio.in.h: Likewise.
9419         * lib/stdlib.in.h: Likewise.
9420         * lib/string.in.h: Likewise.
9421         * lib/strings.in.h: Likewise.
9422         * lib/sys_file.in.h: Likewise.
9423         * lib/sys_ioctl.in.h: Likewise.
9424         * lib/sys_select.in.h: Likewise.
9425         * lib/sys_socket.in.h: Likewise.
9426         * lib/sys_stat.in.h: Likewise.
9427         * lib/sys_time.in.h: Likewise.
9428         * lib/sys_times.in.h: Likewise.
9429         * lib/sys_uio.in.h: Likewise.
9430         * lib/sys_utsname.in.h: Likewise.
9431         * lib/sys_wait.in.h: Likewise.
9432         * lib/sysexits.in.h: Likewise.
9433         * lib/termios.in.h: Likewise.
9434         * lib/time.in.h: Likewise.
9435         * lib/unistd.in.h: Likewise.
9436         * lib/wchar.in.h: Likewise.
9437         * lib/wctype.in.h: Likewise.
9438         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
9439         * modules/ctype (Makefile.am): Likewise.
9440         * modules/dirent (Makefile.am): Likewise.
9441         * modules/errno (Makefile.am): Likewise.
9442         * modules/fcntl-h (Makefile.am): Likewise.
9443         * modules/float (Makefile.am): Likewise.
9444         * modules/getopt-posix (Makefile.am): Likewise.
9445         * modules/iconv-h (Makefile.am): Likewise.
9446         * modules/langinfo (Makefile.am): Likewise.
9447         * modules/locale (Makefile.am): Likewise.
9448         * modules/math (Makefile.am): Likewise.
9449         * modules/netdb (Makefile.am): Likewise.
9450         * modules/netinet_in (Makefile.am): Likewise.
9451         * modules/poll-h (Makefile.am): Likewise.
9452         * modules/pthread (Makefile.am): Likewise.
9453         * modules/pty (Makefile.am): Likewise.
9454         * modules/sched (Makefile.am): Likewise.
9455         * modules/search (Makefile.am): Likewise.
9456         * modules/selinux-h (Makefile.am): Likewise.
9457         * modules/signal (Makefile.am): Likewise.
9458         * modules/spawn (Makefile.am): Likewise.
9459         * modules/stdarg (Makefile.am): Likewise.
9460         * modules/stddef (Makefile.am): Likewise.
9461         * modules/stdint (Makefile.am): Likewise.
9462         * modules/stdio (Makefile.am): Likewise.
9463         * modules/stdlib (Makefile.am): Likewise.
9464         * modules/string (Makefile.am): Likewise.
9465         * modules/strings (Makefile.am): Likewise.
9466         * modules/sys_file (Makefile.am): Likewise.
9467         * modules/sys_ioctl (Makefile.am): Likewise.
9468         * modules/sys_select (Makefile.am): Likewise.
9469         * modules/sys_socket (Makefile.am): Likewise.
9470         * modules/sys_stat (Makefile.am): Likewise.
9471         * modules/sys_time (Makefile.am): Likewise.
9472         * modules/sys_times (Makefile.am): Likewise.
9473         * modules/sys_uio (Makefile.am): Likewise.
9474         * modules/sys_utsname (Makefile.am): Likewise.
9475         * modules/sys_wait (Makefile.am): Likewise.
9476         * modules/sysexits (Makefile.am): Likewise.
9477         * modules/termios (Makefile.am): Likewise.
9478         * modules/time (Makefile.am): Likewise.
9479         * modules/unistd (Makefile.am): Likewise.
9480         * modules/wchar (Makefile.am): Likewise.
9481         * modules/wctype-h (Makefile.am): Likewise.
9482         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
9483
9484 2011-05-29  Bruno Haible  <bruno@clisp.org>
9485
9486         assert-h: Allow multiple gnulib generated replacements to coexist.
9487         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
9488
9489 2011-05-29  Bruno Haible  <bruno@clisp.org>
9490
9491         argp: Allow coexistence with strerror_r-posix module.
9492         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
9493         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
9494         by gnulib's <string.h> replacement), assume it has the POSIX signature,
9495         not the glibc signature.
9496
9497 2011-05-28  Bruno Haible  <bruno@clisp.org>
9498
9499         gnulib-tool: Alternative structure of testdirs, similar to --import.
9500         * gnulib-tool: New option --single-configure.
9501         (func_usage): Document it.
9502         (single_configure): New variable.
9503         (func_modules_transitive_closure_separately,
9504         func_modules_transitive_closure_separately,
9505         func_determine_use_libtests, func_modules_add_dummy_separately,
9506         func_modules_to_filelist_separately): New functions, extracted from
9507         func_import.
9508         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
9509         (func_import): Use the new functions.
9510         (func_create_testdir): Set final_modules. Handle $single_configure =
9511         true case.
9512
9513 2011-05-28  Bruno Haible  <bruno@clisp.org>
9514
9515         getloadavg: Remove an unreliable safety check.
9516         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
9517         getloadavg.c is in place.
9518         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
9519         Reported by Sam Steingold <sds@gnu.org>.
9520
9521 2011-05-28  Bruno Haible  <bruno@clisp.org>
9522
9523         doc: Cleanup yet another file produced by texinfo.tex.
9524         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
9525
9526 2011-05-28  Bruno Haible  <bruno@clisp.org>
9527
9528         Finish the conditional dependencies mechanism.
9529         * gnulib-tool: New option --no-conditional-dependencies.
9530         (func_usage): Document it. Don't mark --conditional-dependencies as
9531         experimental.
9532         (cond_dependencies): The possible values can now be true, false, empty.
9533         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
9534         (func_import): Store setting in gnulib-cache.m4 and read it from there.
9535         * doc/gnulib-tool.texi (Conditional dependencies): New section.
9536
9537 2011-05-28  Bruno Haible  <bruno@clisp.org>
9538
9539         doc: Use a recent texinfo.tex.
9540         * doc/Makefile (tex_opts): New variable.
9541         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
9542
9543 2011-05-28  Jim Meyering  <meyering@redhat.com>
9544
9545         intprops.h: adjust comment to match code change
9546         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
9547         only once, it *may* have side effects.  Also fix an unrelated typo.
9548         (_GL_INT_SIGNED): Likewise.
9549
9550 2011-05-26  Simon Josefsson  <simon@josefsson.org>
9551
9552         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
9553
9554 2011-05-26  Bruno Haible  <bruno@clisp.org>
9555
9556         mbsrchr: Avoid collision with system function on Interix.
9557         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9558         Reported by Markus Duft <mduft@gentoo.org>.
9559
9560 2011-05-15  James Youngman  <jay@gnu.org>
9561
9562         getopt: for ambiguous options, enumerate the possibilities.
9563         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
9564         the ambiguous options when an ambiguous prefix is given. This was
9565         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
9566         glibc change was
9567         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
9568
9569 2011-05-25  Eric Blake  <eblake@redhat.com>
9570
9571         getcwd: work around mingw bug
9572         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
9573         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9574         Reported by Matthias Bolte.
9575
9576 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
9577
9578         test-intprops: disable -Wtype-limits diagnostics
9579         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
9580         diagnostics.  Otherwise, the integer overflow macros generate many
9581         diagnostics.  Reported by Jim Meyering in
9582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9583
9584         intprops: shorten, to pacify gcc -Woverlength-strings
9585         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
9586         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
9587         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
9588         likely to run afoul of C compiler limits for string constant lengths.
9589         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
9590
9591 2011-05-24  Eric Blake  <eblake@redhat.com>
9592
9593         docs: document recently fixed glibc printf bug
9594         * doc/posix-functions/fprintf.texi (fprintf): Document it.
9595         * doc/posix-functions/printf.texi (printf): Likewise.
9596         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9597         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9598
9599         closein-tests: convert to init.sh
9600         * modules/closein-tests (Files): Add init.sh
9601         * tests/test-closein.sh Use it.
9602
9603         yesno-tests: convert to init.sh
9604         * modules/yesno-tests (Files): Add init.sh.
9605         * tests/test-yesno.sh: Use it.
9606
9607         atexit-tests: ensure reliable exit status
9608         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
9609         Reported by Bruno Haible.
9610
9611 2011-05-24  Bruno Haible  <bruno@clisp.org>
9612
9613         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
9614         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
9615         gl_PREREQ_STRERROR_R invocations from here...
9616         * modules/strerror_r-posix (configure.ac): ... to here.
9617
9618 2011-05-24  Eric Blake  <eblake@redhat.com>
9619
9620         strerror_r: fix missing header
9621         * lib/strerror_r.c: Avoid compiler warning about snprintf.
9622
9623         strerror_r: fix AIX test failures
9624         * lib/strerror_r.c (strerror_r): Convert silent truncation to
9625         ERANGE failure.
9626
9627         strerror_r: fix Solaris test failures
9628         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
9629         failures.
9630         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9631
9632         strerror_r: enforce POSIX recommendations
9633         * lib/strerror_r.c (safe_copy): New helper method.
9634         (strerror_r): Guarantee a non-empty string.
9635         * tests/test-strerror_r.c (main): Enhance tests to incorporate
9636         recent POSIX rulings and to match our strerror guarantees.
9637         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
9638
9639 2011-05-24  Jim Meyering  <meyering@redhat.com>
9640
9641         test-perror2.c: avoid warning about unused variable
9642         * tests/test-perror2.c (main): Remove declaration of unused "fp".
9643
9644 2011-05-24  Eric Blake  <eblake@redhat.com>
9645
9646         perror: avoid spurious test failure on HP-UX
9647         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
9648
9649         tests: fix logic bug in init.sh
9650         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
9651         shell.
9652
9653 2011-05-24  Jim Meyering  <meyering@redhat.com>
9654
9655         utimensat: do not reference an out-of-scope buffer
9656         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
9657         declared in an inner scope, yet "times" would be dereferenced outside
9658         the scope in which "ts" was valid.
9659         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
9660         of ts[2] "out/up", so that the use of aliased "times" (via
9661         "times = ts;") does not end up referencing an out-of-scope "ts"
9662
9663         opendir-safer.c: don't clobber errno; don't close negative FD
9664         * lib/opendir-safer.c (opendir_safer):
9665         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
9666         file descriptor, and more importantly, don't clobber the
9667         offending errno value with EINVAL.  Before, upon failure
9668         of dup_safer, we would pass the negative file descriptor to
9669         fdopendir, which would clobber errno.
9670
9671 2011-05-23  Bruno Haible  <bruno@clisp.org>
9672
9673         idcache: Fix module description.
9674         * modules/idcache (Include): Set to "idcache.h".
9675
9676 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
9677
9678         gnulib-tool: fix portability problem with MacOS sed
9679         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
9680         before the "}".  Problem reported by Leo in
9681         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
9682         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
9683         sed_extract_condition1, sed_extract_condition2.
9684
9685 2011-05-23  Bruno Haible  <bruno@clisp.org>
9686
9687         hash: Simplify autoconf macro.
9688         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
9689
9690 2011-05-23  Bruno Haible  <bruno@clisp.org>
9691
9692         getugroups: Fix module description.
9693         * modules/getugroups (Include): Set to "getugroups.h".
9694
9695 2011-05-23  Bruno Haible  <bruno@clisp.org>
9696
9697         linkat: Simplify autoconf macro.
9698         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
9699
9700 2011-05-23  Bruno Haible  <bruno@clisp.org>
9701             Eric Blake  <eblake@redhat.com>
9702
9703         linkat, renameat: Update dependencies.
9704         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
9705         * modules/linkat (Depends-on): Likewise. Remove also readlink,
9706         symlinkat.
9707
9708 2011-05-23  Jim Meyering  <meyering@redhat.com>
9709
9710         maint.mk: more tight_scope improvements
9711         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
9712         (_gl_TS_headers): Define only in if-0'd block.
9713         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
9714         sometimes we must *not* use it.  Adjust uses accordingly.
9715         (sc_tight_scope): Use much simpler grep-based test to determine
9716         whether we skip this rule.
9717
9718         maint.mk: generalize/improve the tight-scope rule
9719         * top/maint.mk: Emit a warning when the test is skipped.
9720         (_gl_TS_dir): Add $(srcdir)/ prefix.
9721         (_gl_TS_function_match): Simplify, rather than trying
9722         to enumerate common types.  Otherwise, it would fail to match an
9723         "extern unsigned char const *" declaration in idutils.
9724         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
9725         a way to support use of that type of macro.
9726         (_gl_TS_var_match): Simplify regexp.
9727         (_gl_TS_obj_files): New configurable variable.
9728         (_gl_TS_headers): Likewise.
9729
9730 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
9731
9732         verify: fix bug when gnulib <assert.h> is also included
9733         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
9734         is defined, not if _GL_STATIC_ASSERT_H is not defined.
9735         Perhaps there's a better way, but this fixes the immediate problem.
9736         Problem reported by Bruno Haible in
9737         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
9738
9739 2011-05-22  Bruno Haible  <bruno@clisp.org>
9740
9741         xgetcwd: Simplify autoconf macro.
9742         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
9743
9744 2011-05-22  Bruno Haible  <bruno@clisp.org>
9745
9746         New module 'mktime-internal'.
9747         * modules/mktime-internal: New file.
9748         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
9749         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
9750         mktime_internal as a C macro if libc has __mktime_internal.
9751         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
9752         conditions.
9753         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
9754
9755 2011-05-22  Bruno Haible  <bruno@clisp.org>
9756
9757         timegm: Correct mktime replacement statements.
9758         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
9759         defining mktime as a C macro. This completes a 2009-07-28 commit.
9760
9761 2011-05-22  Bruno Haible  <bruno@clisp.org>
9762
9763         timegm: Simplify autoconf macro.
9764         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
9765
9766 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
9767
9768         clock-time: change to LGPLv2+.
9769         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
9770         BSD-like but we have no mark for that; this is good enough for now.
9771
9772 2011-05-21  Bruno Haible  <bruno@clisp.org>
9773
9774         strerror_r: Fix comments.
9775         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
9776
9777 2011-05-21  Bruno Haible  <bruno@clisp.org>
9778
9779         relocatable-prog-wrapper: Fix possible link error.
9780         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
9781         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
9782         (gl_FUNC_SETENV): ... to here.
9783         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
9784         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
9785
9786 2011-05-21  Bruno Haible  <bruno@clisp.org>
9787
9788         relocatable-prog-wrapper: Assume strerror() exists.
9789         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
9790         m4/strerror.m4.
9791         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
9792         * lib/relocwrapper.c: Remove mention of strerror module.
9793         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
9794         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
9795         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
9796         C macro.
9797
9798 2011-05-21  Bruno Haible  <bruno@clisp.org>
9799
9800         select: Simplify replacement idiom.
9801         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
9802         Win32 platforms.
9803         * lib/sys_select.in.h (select): Simplify accordingly.
9804         * modules/select (Depends-on): Likewise.
9805
9806 2011-05-21  Bruno Haible  <bruno@clisp.org>
9807
9808         mkdir-p: Simplify autoconf macro.
9809         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
9810         gl_FUNC_LCHOWN.
9811
9812 2011-05-21  Eric Blake  <eblake@redhat.com>
9813
9814         strerror_r: avoid clobbering strerror on cygwin
9815         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
9816         fall back instead to sys_errlist.
9817         * modules/strerror (configure.ac): Add witness.
9818         * tests/test-strerror_r.c (main): Enhance test.
9819         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9820         * tests/test-perror2.c (main): Free memory before exit.
9821
9822 2011-05-21  Bruno Haible  <bruno@clisp.org>
9823
9824         mkdtemp: Use gnulib naming conventions.
9825         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
9826         * modules/mkdtemp (configure.ac): Update.
9827
9828 2011-05-20  Eric Blake  <eblake@redhat.com>
9829
9830         strerror_r: avoid corrupting errno on Solaris
9831         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
9832         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9833
9834         strerror_r: avoid compiler warning
9835         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
9836
9837         strerror_r: simplify AIX code
9838         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
9839
9840         test-perror: avoid spurious failure on FreeBSD
9841         * modules/perror-tests (Depends-on): Add strerror, now that
9842         strerror_r no longer pulls it in.
9843
9844 2011-05-20  Bruno Haible  <bruno@clisp.org>
9845
9846         strerror_r-posix: Remove unused dependencies.
9847         * modules/strerror_r-posix (Depends-on): Remove strerror.
9848         Reported by Eric Blake.
9849
9850 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
9851
9852         intprops: remove assumption about A|B representation
9853         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
9854         is a valid integer if both A and B are.  Although this is true for
9855         all known practical hosts, the C standard doesn't guarantee it,
9856         and the code need not assume it.  Also, this change may work around
9857         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
9858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
9859
9860 2011-05-20  Eric Blake  <eblake@redhat.com>
9861
9862         perror: work around FreeBSD bug
9863         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
9864         is broken.  Move AC_LIBOBJ...
9865         * modules/perror (configure.ac): Here.
9866         * doc/posix-functions/perror.texi (perror): Document this.
9867         * tests/test-perror2.c (main): Enhance test.
9868
9869         test-perror: check for strerror interactions
9870         * tests/macros.h (STREQ): Add macro.
9871         * modules/perror-tests (Files): Add second test.
9872         * tests/test-perror2.c (main): New file.
9873         * doc/posix-functions/perror.texi (perror): Document glibc bug.
9874
9875         test-perror: rewrite to use init script
9876         * modules/perror-tests (Files): Add init.sh.
9877         * tests/test-perror.sh: Use temporary directory.
9878
9879 2011-05-20  Jim Meyering  <meyering@redhat.com>
9880
9881         maint: replace misused "a" with "an"
9882         * doc/intprops.texi: "a integer"
9883         * doc/regex.texi: "a explanation"
9884         * lib/alignof.h: "a object"
9885         * lib/argmatch.h: "a explanation"
9886         * lib/argp-help.c: "a option" and "a OPTION_DOC"
9887         * lib/stdint.in.h: "a integer"
9888         * lib/userspec.c: "a owner"
9889         * doc/gnulib.texi: Fix "a idea", and reword.
9890
9891 2011-05-19  Jim Meyering  <meyering@redhat.com>
9892
9893         maint: correct misuse of "a" and "an"
9894         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
9895         * lib/argp-help.c: "an docum...": s/an/a/
9896         * lib/argp-parse.c: "An vector": s/An/A/
9897         * lib/execute.c: "an native": s/an/a/
9898         * lib/spawn-pipe.c: Likewise.
9899         * lib/gc.h: "an Gc_rc": s/an/a/
9900         * lib/unigbrk.in.h: "an grapheme": s/an/a/
9901         * lib/fts.c: "an stat.st_dev": s/an/a/
9902
9903 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9904
9905         intprops-tests: work around HP-UX 11.23 cc bug with constants
9906         * tests/test-intprops.c (VERIFY): New macro.
9907         (main): Use it, instead of verify, to work around the compiler bug; see
9908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
9909
9910         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
9911         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
9912         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
9913         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
9914         (_GL_REMAINDER_OVERFLOW): Use it.
9915
9916         intprops-tests: revert unsigned part of previous change
9917         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
9918         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
9919         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
9920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
9921
9922 2011-05-19  Bruno Haible  <bruno@clisp.org>
9923
9924         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
9925         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
9926         strerror_r() returned without filling the buffer.
9927         Reported by Eric Blake.
9928
9929 2011-05-19  Eric Blake  <eblake@redhat.com>
9930
9931         strerror_r: guarantee unchanged errno
9932         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
9933         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
9934         failure.
9935         * tests/test-strerror_r.c (main): Enhance test.
9936
9937 2011-05-19  Bruno Haible  <bruno@clisp.org>
9938
9939         strerror_r: Reorder #if blocks.
9940         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
9941         for consistency with the previous commit.
9942
9943 2011-05-19  Bruno Haible  <bruno@clisp.org>
9944
9945         perror: Avoid clobbering the strerror buffer when possible.
9946         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
9947         * lib/strerror.c: Include it.
9948         * modules/strerror (Files): Add lib/strerror-impl.h.
9949         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
9950         (my_strerror): New function, defined through lib/strerror-impl.h.
9951         (perror): Use it instead of strerror.
9952         * modules/perror (Files): Add lib/strerror-impl.h.
9953         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
9954
9955 2011-05-19  Eric Blake  <eblake@redhat.com>
9956
9957         strerror_r: fix on newer cygwin
9958         * lib/strerror_r.c (strerror_r): Cygwin now has
9959         __xpg_strerror_r, use it.
9960
9961 2011-05-19  Bruno Haible  <bruno@clisp.org>
9962
9963         strerror_r: Avoid clobbering the strerror buffer when possible.
9964         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
9965         (sys_nerr, sys_errlist): New declarations.
9966         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
9967         HP-UX, native Win32, IRIX, and 32-bit Solaris.
9968         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
9969
9970 2011-05-19  Bruno Haible  <bruno@clisp.org>
9971
9972         strerror_r: Fix test failure on mingw.
9973         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
9974         EXTEND_STRERROR_R.
9975         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
9976         macros from errno.in.h instead.
9977
9978 2011-05-19  Eric Blake  <eblake@redhat.com>
9979
9980         strerror: relax test for Solaris
9981         * tests/test-strerror.c (main): Permit Solaris behavior.
9982         * tests/test-strerror_r.c (main): Likewise.
9983
9984         strerror: enforce POSIX ruling on strerror(0)
9985         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
9986         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
9987         * lib/strerror_r.c (rpl_strerror_r): Work around it.
9988         * doc/posix-functions/strerror.texi (strerror): Document it.
9989         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
9990         * tests/test-strerror.c (main): Strengthen test.
9991         * tests/test-strerror_r.c (main): Likewise.
9992
9993 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9994
9995         intprop-tests: port to older and more-pedantic compilers
9996         * modules/intprops-tests (Files): Add tests/macros.h.
9997         * tests/test-intprops.c: Include macros.h.
9998         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
9999         it's no longer documented to expand to an integer constant expression.
10000         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
10001         argument is floating point, as it's no longer documented to expand
10002         to an integer constant expression in that case.
10003         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
10004         compiler bugs reported by Bruno Haible.  See
10005         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10006         (U0, U1): New constants, to work around the same bugs.  Also,
10007         in tests, use e.g., "(unsigned int) 39" rather than "39u".
10008
10009         intprops: work around C compiler bugs
10010         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
10011         bug in Sun C 5.11 2010/08/13 and other compilers; see
10012         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
10013
10014         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
10015         * doc/intprops.texi (Integer Type Determination): Fix
10016         documentation for TYPE_IS_INTEGER: it returns an constant
10017         expression, not an integer constant expression.  Fix doc for
10018         TYPE_SIGNED: it returns an integer constant expression only if its
10019         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
10020         hardly worth documented that way....)
10021
10022 2011-05-18  Bruno Haible  <bruno@clisp.org>
10023
10024         strerror_r: Avoid clobbering the strerror buffer when possible.
10025         * lib/strerror_r.c (strerror_r): Merge the three implementations.
10026         Handle gnulib defined errno values here. When strerror() returns NULL
10027         or an empty string, return EINVAL.
10028         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
10029         gnulib defined errno values here.
10030         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
10031
10032 2011-05-18  Eric Blake  <eblake@redhat.com>
10033
10034         fnmatch: avoid compiler warning
10035         * lib/fnmatch_loop.c (FCT): Use correct type.
10036         Reported by Matthias Bolte.
10037
10038 2011-05-13  Jim Meyering  <meyering@redhat.com>
10039
10040         maint.mk: three new prohibit_<HDR>_without_use rules
10041         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
10042         (sc_prohibit_stdio-safer_without_use): Likewise.
10043         (sc_prohibit_xfreopen_without_use): Likewise.
10044
10045 2011-05-17  Jim Meyering  <meyering@redhat.com>
10046
10047         announce-gen: fail if the NEWS delta is empty
10048         If there's nothing noteworthy in NEWS, then either you forgot
10049         or you shouldn't be releasing.
10050         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
10051
10052 2011-05-17  Pádraig Brady <P@draigBrady.com>
10053
10054         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
10055         reserved symbols starting with double underscore from the check.
10056
10057 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
10058
10059         intprops: add doc
10060         * doc/intprops.texi: New file, documenting intprops.
10061         * doc/gnulib.texi (Particular Modules): Include it.
10062
10063         verify: add doc to gnulib manual and fix example
10064         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
10065         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
10066         (Compile-time Assertions): Fix example so it can't overflow.
10067
10068 2011-05-17  Jim Meyering  <meyering@redhat.com>
10069
10070         warnings.m4: don't usurp save_CPPFLAGS variable name
10071         * m4/warnings.m4: Prefix local temporary variable name with gl_.
10072
10073         doc: fix typo
10074         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
10075
10076 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10077             Bruno Haible  <bruno@clisp.org>
10078
10079         doc: Tweak recent change.
10080         * README (Portability guidelines): Tweak new text.
10081         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
10082         Interix 6.1.
10083
10084 2011-05-16  Eric Blake  <eblake@redhat.com>
10085
10086         inttypes: avoid autoconf warning
10087         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
10088         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10089
10090 2011-05-16  Sam Steingold <sds@gnu.org>
10091         and Eric Blake  <eblake@redhat.com>
10092
10093         vc-list-files: accept multiple directory operands
10094         * build-aux/vc-list-files: Iterate over all remaining operands.
10095
10096 2011-05-16  Bruno Haible  <bruno@clisp.org>
10097
10098         Fix confusion regarding deprecated modules.
10099         * modules/calloc (Status, Notice): Mark module as deprecated, not
10100         obsolete.
10101         * modules/fnmatch-posix (Status, Notice): Likewise.
10102         * modules/getdate (Status, Notice): Likewise.
10103         * modules/getopt (Status, Notice): Likewise.
10104         * modules/malloc (Status, Notice): Likewise.
10105         * modules/pipe (Status, Notice): Likewise.
10106         * modules/realloc (Status, Notice): Likewise.
10107         * modules/rename-dest-slash (Status, Notice): Likewise.
10108         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
10109         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
10110         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
10111         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
10112         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
10113
10114 2011-05-16  Bruno Haible  <bruno@clisp.org>
10115
10116         doc: List the target platforms.
10117         * doc/gnulib-intro.texi (Target Platforms): New section.
10118         * doc/gnulib.texi (Introduction): Update menu.
10119         * README (Portability guidelines): Refer to the new section. Update
10120         statement about oldest supported environment. Remove rationale why
10121         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
10122         unportable C89 function.
10123         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
10124         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
10125
10126 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
10127
10128         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
10129
10130 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10131
10132         intprops-tests: new module
10133         * modules/intprops-tests, tests/test-intprops.c: New files.
10134
10135         intprops: add safe, portable integer overflow checking
10136         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
10137         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
10138         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
10139         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
10140         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
10141         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
10142         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
10143         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
10144         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
10145         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
10146         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
10147
10148 2011-05-12  James Youngman  <jay@gnu.org>
10149
10150         Add a test for glibc's Bugzilla bug #12378.
10151         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
10152         doesn't allow the literal matching of a lone "[" (which is
10153         required by POSIX).
10154         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
10155
10156 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
10157
10158         Sync glibc change fixing Bugzilla bug #12378.
10159         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
10160         beginning and fall back to matching as normal character if the
10161         string ends before the matching ']' is found.  This is what POSIX
10162         requires.
10163
10164 2011-05-13  Eric Blake  <eblake@redhat.com>
10165
10166         getcwd-lgpl: relax test for FreeBSD
10167         * doc/posix-functions/getcwd.texi (getcwd): Document portability
10168         issue.
10169         * tests/test-getcwd-lgpl.c (main): Relax test.
10170         Reported by Matthias Bolte.
10171
10172 2011-05-11  Eric Blake  <eblake@redhat.com>
10173
10174         test-fflush: silence compiler warning
10175         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
10176
10177 2011-05-11  Bruno Haible  <bruno@clisp.org>
10178
10179         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
10180         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
10181         * modules/canonicalize (Depends-on): Add 'nocrash'.
10182         * modules/canonicalize-lgpl (Depends-on): Likewise.
10183         * doc/posix-functions/realpath.texi: Update platforms list.
10184         Reported by Ryan Schmidt <ryandesign@macports.org>.
10185
10186 2011-05-11  Bruno Haible  <bruno@clisp.org>
10187
10188         group-member: Declare function in <unistd.h>.
10189         * lib/unistd.in.h (group_member): New declaration.
10190         * lib/group-member.h: Remove file.
10191         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
10192         * tests/test-unistd-c++.cc: Check signature of group_member.
10193         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
10194         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
10195         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
10196         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
10197         HAVE_GROUP_MEMBER.
10198         * modules/group-member (Files): Remove lib/group-member.h.
10199         (Depends-on): Add unistd. Specify conditions.
10200         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10201         (Include): Change to <unistd.h>.
10202         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
10203         HAVE_GROUP_MEMBER.
10204         * NEWS: Mention the change.
10205         * lib/euidaccess.c: Don't include group-member.h.
10206
10207 2011-05-11  Bruno Haible  <bruno@clisp.org>
10208
10209         group-member: Document module.
10210         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
10211         module.
10212
10213 2011-05-11  Bruno Haible  <bruno@clisp.org>
10214
10215         fclose: Fix mistake earlier today.
10216         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
10217
10218 2011-05-11  Eric Blake  <eblake@redhat.com>
10219
10220         fclose: preserve fflush errors
10221         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
10222         Reported by Jim Meyering.
10223
10224         bootstrap: support a prereq of 'rpcgen -' on RHEL5
10225         * build-aux/bootstrap (check_versions): When no specific version
10226         is required, merely check that the app produces an exit status
10227         that indicates its existence.
10228
10229         maint.mk: drop redundant check
10230         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
10231         the same but better.
10232
10233 2011-05-11  Bruno Haible  <bruno@clisp.org>
10234
10235         fclose: Fix possible link error.
10236         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
10237         unregister_shadow_fd. Improve comments.
10238         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
10239         Eric Blake.
10240
10241 2011-05-11  Jim Meyering  <meyering@redhat.com>
10242
10243         maint.mk: improve "can not" detection and generalize rule name
10244         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
10245         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
10246         Use the same technique as in sc_prohibit_doubled_word, so that
10247         we recognize "can not" also when the words are separated by a newline.
10248         Suggested by Eric Blake.
10249         (perl_filename_lineno_text_): Define.  Factored out of...
10250         (prohibit_doubled_word_): ...here.  Use the new definition.
10251         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
10252         (prohibit_undesirable_word_seq_RE_): New overridable variable.
10253         (ignore_undesirable_word_sequence_RE_): New overridable variable.
10254
10255 2011-05-10  Eric Blake  <eblake@redhat.com>
10256
10257         fclose: avoid double close race when possible
10258         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
10259         all but WINDOWS_SOCKETS.
10260
10261 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
10262
10263         openat: correct new comment
10264         * lib/openat-proc.c (openat_proc_name): Correct the comment.
10265
10266 2011-05-10  Jim Meyering  <meyering@redhat.com>
10267
10268         openat: add comments
10269         * lib/openat-proc.c (openat_proc_name): Add comments,
10270         mostly from Eric Blake.
10271
10272 2011-05-09  Eric Blake  <eblake@redhat.com>
10273
10274         openat: reduce syscalls in first probe of /proc
10275         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
10276         be a directory.  Simplify the probe for .. bugs.
10277         * modules/openat (Depends-on): Drop same-inode.
10278         Reported by Bastien ROUCARIES.
10279
10280 2011-05-09  Jim Meyering  <meyering@redhat.com>
10281
10282         maint.mk: change semantics/name of tight_scope variables
10283         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
10284         Rename variables to align with semantics that make them more useful.
10285
10286         maint.mk: tweak new rule's name not to impinge
10287         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
10288         (sc_tight_scope): Use new rule name rather than $@-0.
10289
10290         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
10291         * top/maint.mk (sc_tight_scope): New rule.
10292         (sc_tight_scope-0): New rule, ifdef'd out.
10293         (_gl_TS_dir): Default.
10294         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
10295         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
10296
10297 2011-05-09  Simon Josefsson  <simon@josefsson.org>
10298
10299         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
10300         Haible <bruno@clisp.org>.
10301
10302 2011-05-08  Bruno Haible  <bruno@clisp.org>
10303
10304         Comments.
10305         * m4/isnanf.m4: Add comment.
10306         * m4/isnanl.m4: Likewise.
10307
10308 2011-05-08  Bruno Haible  <bruno@clisp.org>
10309
10310         glob: Remove obsolete macro.
10311         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
10312
10313 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
10314
10315         intprops: Sun C 5.11 supports __typeof__
10316         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
10317         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
10318         which is new.
10319         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
10320
10321         intprops: switch to usual gnulib indenting and naming
10322         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
10323         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
10324
10325         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
10326
10327 2011-05-08  Jim Meyering  <meyering@redhat.com>
10328
10329         maint.mk: suppress "Entering/Leaving directory" diag in announcement
10330         * top/maint.mk (release-prep): Use make's --no-print-directory
10331         option when generating the announcement.  This eliminates the
10332         pesky "make[2]: Entering/Leaving directory" diagnostics in the
10333         generated announcement template.
10334
10335 2011-05-08  Bruno Haible  <bruno@clisp.org>
10336
10337         tzset: Fix gettimeofday wrapper on Solaris 2.6.
10338         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
10339         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
10340
10341 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
10342
10343         ignore-value, verify: Omit include files from lib_SOURCES.
10344         * modules/ignore-value, modules/verify (Makefile.am):
10345         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
10346         that leads Automake to duplicate use of am__objects_... variables
10347         in Makefile.in.  See
10348         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
10349
10350 2011-05-07  Bruno Haible  <bruno@clisp.org>
10351
10352         fclose: Simplify autoconf macro.
10353         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
10354         defined.
10355
10356 2011-05-07  Bruno Haible  <bruno@clisp.org>
10357
10358         canonicalize-lgpl: Fix autoconf macro ordering bug.
10359         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
10360         gl_STDLIB_H_DEFAULTS.
10361
10362 2011-05-06  Eric Blake  <eblake@redhat.com>
10363
10364         maintainer-makefile: make sc_po_check easier to tune
10365         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
10366         to probe for strings, such as an alternate location for gnulib.
10367
10368         fclose: guarantee behavior on seekable stdin
10369         * modules/fclose (Depends-on): Add fflush.
10370         * doc/posix-functions/fclose.texi (fclose): Document this.
10371         * tests/test-fclose.c (main): Make test for this unconditional.
10372
10373 2011-05-06  Bruno Haible  <bruno@clisp.org>
10374
10375         fflush, fpurge: Relicense under LGPLv2+.
10376         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
10377         * modules/fpurge (License): Likewise.
10378         With permission from Eric Blake and Jim Meyering.
10379         Suggested by Eric Blake.
10380
10381 2011-05-06  Karl Berry  <karl@gnu.org>
10382
10383         * MODULES.html.sh (func_all_modules): remove exit.
10384
10385 2011-05-06  Jim Meyering  <meyering@redhat.com>
10386
10387         maint.mk: use info-gnu@ as the default only for a stable release
10388         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
10389         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
10390         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
10391         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
10392
10393 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
10394
10395         assert-h: new module, which supports C1X-style static_assert
10396         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
10397         * lib/verify.h: Revamp so that this can be copied into assert.h,
10398         while retaining the ability to use it standalone as before.
10399         Rename private identifiers so as not to encroach on the
10400         standard C namespace, since this is now used by assert.h.
10401         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
10402         the old verify_true.
10403         (_GL_VERIFY_TRUE): New macro, with much of the contents of
10404         the old verify_true.  Use _GL_VERIFY_TYPE.
10405         (_GL_VERIFY): New macro, with much of the contents of the old verify.
10406         (static_assert): New macro, if _GL_STATIC_ASSERT_H
10407         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
10408         defined when this file is copied into the replacement assert.h.
10409         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
10410         and _Static_assert is not built in.
10411         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
10412         defined, and use the new macros mentioned above.
10413         * doc/posix-headers/assert.texi: Document this.
10414
10415 2011-05-05  Bruno Haible  <bruno@clisp.org>
10416
10417         fclose, fflush: Respect rules for use of AC_LIBOBJ.
10418         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
10419         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
10420         gl_REPLACE_FCLOSE here.
10421         * modules/fflush (Depends-on): Remove fclose.
10422         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
10423         combination with module 'fclose'.
10424
10425 2011-05-05  Bruno Haible  <bruno@clisp.org>
10426
10427         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
10428         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
10429         gl_FUNC_FFLUSH.
10430         (gl_FUNC_FFLUSH): Use it.
10431         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
10432         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
10433         gl_REPLACE_FSEEKO here.
10434
10435 2011-05-05  Bruno Haible  <bruno@clisp.org>
10436
10437         tzset: Relicense under LGPL.
10438         * modules/tzset (License): Change to LGPL.
10439         No agreement needed; it's a no-op.
10440
10441         strtoimax, strtoumax: Relicense under LGPL.
10442         * modules/strtoimax (License): Change to LGPL.
10443         * modules/strtoumax (License): Likewise.
10444         With permission from Jim Meyering, Paul Eggert:
10445         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
10446         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
10447
10448         getgroups: Relicense under LGPL.
10449         * modules/getgroups (License): Change to LGPL.
10450         With permission from Jim Meyering, Paul Eggert, Eric Blake:
10451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10452         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10454
10455         nanosleep: Relicense under LGPL.
10456         * modules/nanosleep (License): Change to LGPL.
10457         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
10458         Haible:
10459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
10460         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
10461         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10462         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10463
10464         futimens: Relicense under LGPL.
10465         * modules/futimens (License): Change to LGPL.
10466         With permission from Eric Blake:
10467         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10468
10469         fflush: Relicense under LGPL.
10470         * modules/fflush (License): Change to LGPL.
10471         With permission from Eric Blake, Bruno Haible, Jim Meyering:
10472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
10473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
10474         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
10475
10476         tmpfile: Relicense under LGPL.
10477         * modules/tmpfile (License): Change to LGPL.
10478         With permission from Ben Pfaff:
10479         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10480
10481         isfinite: Relicense under LGPL.
10482         * modules/isfinite (License): Change to LGPL.
10483         With permission from Ben Pfaff, Bruno Haible:
10484         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
10485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
10486
10487         acosl..tanl: Relicense under LGPL.
10488         * modules/acosl (License): Change to LGPL.
10489         * modules/asinl (License): Likewise.
10490         * modules/atanl (License): Likewise.
10491         * modules/cosl (License): Likewise.
10492         * modules/expl (License): Likewise.
10493         * modules/logl (License): Likewise.
10494         * modules/sinl (License): Likewise.
10495         * modules/sqrtl (License): Likewise.
10496         * modules/tanl (License): Likewise.
10497         Source code originally from glibc and Paolo Bonzini. Agreements:
10498         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
10499         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
10500
10501 2011-05-05  Bruno Haible  <bruno@clisp.org>
10502
10503         signal: Define sighandler_t.
10504         * lib/signal.in.h (sighandler_t): New type.
10505         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
10506         whether sighandler_t is defined.
10507         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
10508         * modules/signal (Depends-on): Add extensions.
10509         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
10510         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
10511         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
10512
10513 2011-05-05  Eric Blake  <eblake@redhat.com>
10514
10515         maint: remove useless REPLACE_*_H macros
10516         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
10517         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10518         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10519         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
10520         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10521         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10522         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
10523         * m4/btowc.m4: Update callers.
10524         * m4/dirfd.m4: Likewise.
10525         * m4/duplocale.m4: Likewise.
10526         * m4/fchdir.m4: Likewise.
10527         * m4/fdopendir.m4: Likewise.
10528         * m4/inet_ntop.m4: Likewise.
10529         * m4/inet_pton.m4: Likewise.
10530         * m4/ioctl.m4: Likewise.
10531         * m4/mbrlen.m4: Likewise.
10532         * m4/mbrtowc.m4: Likewise.
10533         * m4/mbsinit.m4: Likewise.
10534         * m4/mbsnrtowcs.m4: Likewise.
10535         * m4/mbsrtowcs.m4: Likewise.
10536         * m4/poll.m4: Likewise.
10537         * m4/setlocale.m4: Likewise.
10538         * m4/wcrtomb.m4: Likewise.
10539         * m4/wcsnrtombs.m4: Likewise.
10540         * m4/wcsrtombs.m4: Likewise.
10541         * m4/wctob.m4: Likewise.
10542         * m4/wcwidth.m4: Likewise.
10543         * modules/posix_spawn: Likewise.
10544         * modules/posix_spawn_file_actions_addclose: Likewise.
10545         * modules/posix_spawn_file_actions_adddup2: Likewise.
10546         * modules/posix_spawn_file_actions_addopen: Likewise.
10547         * modules/posix_spawn_file_actions_destroy: Likewise.
10548         * modules/posix_spawn_file_actions_init: Likewise.
10549         * modules/posix_spawnattr_destroy: Likewise.
10550         * modules/posix_spawnattr_getflags: Likewise.
10551         * modules/posix_spawnattr_getpgroup: Likewise.
10552         * modules/posix_spawnattr_getschedparam: Likewise.
10553         * modules/posix_spawnattr_getschedpolicy: Likewise.
10554         * modules/posix_spawnattr_getsigdefault: Likewise.
10555         * modules/posix_spawnattr_getsigmask: Likewise.
10556         * modules/posix_spawnattr_init: Likewise.
10557         * modules/posix_spawnattr_setflags: Likewise.
10558         * modules/posix_spawnattr_setpgroup: Likewise.
10559         * modules/posix_spawnattr_setschedparam: Likewise.
10560         * modules/posix_spawnattr_setschedpolicy: Likewise.
10561         * modules/posix_spawnattr_setsigdefault: Likewise.
10562         * modules/posix_spawnattr_setsigmask: Likewise.
10563         * modules/posix_spawnp: Likewise.
10564
10565 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
10566
10567         Add option to do-release-commit-and-tag to specify branch.
10568         * build-aux/do-release-commit-and-tag: Add --branch.
10569
10570 2011-05-03  Bruno Haible  <bruno@clisp.org>
10571
10572         Avoid unnecessary compilation units, through conditional dependencies.
10573         * modules/accept (Depends-on): Add conditions to the dependencies.
10574         * modules/acosl (Depends-on): Likewise.
10575         * modules/argz (Depends-on): Likewise.
10576         * modules/asinl (Depends-on): Likewise.
10577         * modules/atanl (Depends-on): Likewise.
10578         * modules/atoll (Depends-on): Likewise.
10579         * modules/bind (Depends-on): Likewise.
10580         * modules/btowc (Depends-on): Likewise.
10581         * modules/canonicalize-lgpl (Depends-on): Likewise.
10582         * modules/ceil (Depends-on): Likewise.
10583         * modules/ceilf (Depends-on): Likewise.
10584         * modules/ceill (Depends-on): Likewise.
10585         * modules/chdir-long (Depends-on): Likewise.
10586         * modules/chown (Depends-on): Likewise.
10587         * modules/close (Depends-on): Likewise.
10588         * modules/connect (Depends-on): Likewise.
10589         * modules/cosl (Depends-on): Likewise.
10590         * modules/dirfd (Depends-on): Likewise.
10591         * modules/dprintf (Depends-on): Likewise.
10592         * modules/dprintf-posix (Depends-on): Likewise.
10593         * modules/error (Depends-on): Likewise.
10594         * modules/euidaccess (Depends-on): Likewise.
10595         * modules/expl (Depends-on): Likewise.
10596         * modules/faccessat (Depends-on): Likewise.
10597         * modules/fchdir (Depends-on): Likewise.
10598         * modules/fclose (Depends-on): Likewise.
10599         * modules/fcntl (Depends-on): Likewise.
10600         * modules/fdopendir (Depends-on): Likewise.
10601         * modules/fflush (Depends-on): Likewise.
10602         * modules/floor (Depends-on): Likewise.
10603         * modules/floorf (Depends-on): Likewise.
10604         * modules/floorl (Depends-on): Likewise.
10605         * modules/fnmatch (Depends-on): Likewise.
10606         * modules/fopen (Depends-on): Likewise.
10607         * modules/fprintf-posix (Depends-on): Likewise.
10608         * modules/frexp (Depends-on): Likewise.
10609         * modules/frexp-nolibm (Depends-on): Likewise.
10610         * modules/frexpl (Depends-on): Likewise.
10611         * modules/frexpl-nolibm (Depends-on): Likewise.
10612         * modules/fseek (Depends-on): Likewise.
10613         * modules/fsusage (Depends-on): Likewise.
10614         * modules/ftell (Depends-on): Likewise.
10615         * modules/ftello (Depends-on): Likewise.
10616         * modules/futimens (Depends-on): Likewise.
10617         * modules/getcwd (Depends-on): Likewise.
10618         * modules/getcwd-lgpl (Depends-on): Likewise.
10619         * modules/getdelim (Depends-on): Likewise.
10620         * modules/getdomainname (Depends-on): Likewise.
10621         * modules/getgroups (Depends-on): Likewise.
10622         * modules/gethostname (Depends-on): Likewise.
10623         * modules/getline (Depends-on): Likewise.
10624         * modules/getlogin_r (Depends-on): Likewise.
10625         * modules/getopt-posix (Depends-on): Likewise.
10626         * modules/getpeername (Depends-on): Likewise.
10627         * modules/getsockname (Depends-on): Likewise.
10628         * modules/getsockopt (Depends-on): Likewise.
10629         * modules/getsubopt (Depends-on): Likewise.
10630         * modules/getusershell (Depends-on): Likewise.
10631         * modules/glob (Depends-on): Likewise.
10632         * modules/grantpt (Depends-on): Likewise.
10633         * modules/iconv_open (Depends-on): Likewise.
10634         * modules/iconv_open-utf (Depends-on): Likewise.
10635         * modules/inet_ntop (Depends-on): Likewise.
10636         * modules/inet_pton (Depends-on): Likewise.
10637         * modules/ioctl (Depends-on): Likewise.
10638         * modules/isapipe (Depends-on): Likewise.
10639         * modules/isfinite (Depends-on): Likewise.
10640         * modules/isinf (Depends-on): Likewise.
10641         * modules/lchown (Depends-on): Likewise.
10642         * modules/ldexpl (Depends-on): Likewise.
10643         * modules/link (Depends-on): Likewise.
10644         * modules/linkat (Depends-on): Likewise.
10645         * modules/listen (Depends-on): Likewise.
10646         * modules/logl (Depends-on): Likewise.
10647         * modules/lstat (Depends-on): Likewise.
10648         * modules/mbrlen (Depends-on): Likewise.
10649         * modules/mbrtowc (Depends-on): Likewise.
10650         * modules/mbsinit (Depends-on): Likewise.
10651         * modules/mbsnrtowcs (Depends-on): Likewise.
10652         * modules/mbsrtowcs (Depends-on): Likewise.
10653         * modules/mbtowc (Depends-on): Likewise.
10654         * modules/memcmp (Depends-on): Likewise.
10655         * modules/mkdir (Depends-on): Likewise.
10656         * modules/mkdtemp (Depends-on): Likewise.
10657         * modules/mkfifo (Depends-on): Likewise.
10658         * modules/mkfifoat (Depends-on): Likewise.
10659         * modules/mknod (Depends-on): Likewise.
10660         * modules/mkostemp (Depends-on): Likewise.
10661         * modules/mkostemps (Depends-on): Likewise.
10662         * modules/mkstemp (Depends-on): Likewise.
10663         * modules/mkstemps (Depends-on): Likewise.
10664         * modules/mktime (Depends-on): Likewise.
10665         * modules/nanosleep (Depends-on): Likewise.
10666         * modules/open (Depends-on): Likewise.
10667         * modules/openat (Depends-on): Likewise.
10668         * modules/perror (Depends-on): Likewise.
10669         * modules/poll (Depends-on): Likewise.
10670         * modules/popen (Depends-on): Likewise.
10671         * modules/posix_spawn (Depends-on): Likewise.
10672         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
10673         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
10674         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
10675         * modules/posix_spawnp (Depends-on): Likewise.
10676         * modules/pread (Depends-on): Likewise.
10677         * modules/printf-posix (Depends-on): Likewise.
10678         * modules/ptsname (Depends-on): Likewise.
10679         * modules/putenv (Depends-on): Likewise.
10680         * modules/pwrite (Depends-on): Likewise.
10681         * modules/readline (Depends-on): Likewise.
10682         * modules/readlink (Depends-on): Likewise.
10683         * modules/readlinkat (Depends-on): Likewise.
10684         * modules/recv (Depends-on): Likewise.
10685         * modules/recvfrom (Depends-on): Likewise.
10686         * modules/regex (Depends-on): Likewise.
10687         * modules/remove (Depends-on): Likewise.
10688         * modules/rename (Depends-on): Likewise.
10689         * modules/renameat (Depends-on): Likewise.
10690         * modules/rmdir (Depends-on): Likewise.
10691         * modules/round (Depends-on): Likewise.
10692         * modules/roundf (Depends-on): Likewise.
10693         * modules/roundl (Depends-on): Likewise.
10694         * modules/rpmatch (Depends-on): Likewise.
10695         * modules/select (Depends-on): Likewise.
10696         * modules/send (Depends-on): Likewise.
10697         * modules/sendto (Depends-on): Likewise.
10698         * modules/setenv (Depends-on): Likewise.
10699         * modules/setlocale (Depends-on): Likewise.
10700         * modules/setsockopt (Depends-on): Likewise.
10701         * modules/shutdown (Depends-on): Likewise.
10702         * modules/sigaction (Depends-on): Likewise.
10703         * modules/signbit (Depends-on): Likewise.
10704         * modules/sigprocmask (Depends-on): Likewise.
10705         * modules/sinl (Depends-on): Likewise.
10706         * modules/sleep (Depends-on): Likewise.
10707         * modules/snprintf (Depends-on): Likewise.
10708         * modules/snprintf-posix (Depends-on): Likewise.
10709         * modules/socket (Depends-on): Likewise.
10710         * modules/sprintf-posix (Depends-on): Likewise.
10711         * modules/sqrtl (Depends-on): Likewise.
10712         * modules/stat (Depends-on): Likewise.
10713         * modules/strchrnul (Depends-on): Likewise.
10714         * modules/strdup-posix (Depends-on): Likewise.
10715         * modules/strerror (Depends-on): Likewise.
10716         * modules/strerror_r-posix (Depends-on): Likewise.
10717         * modules/strndup (Depends-on): Likewise.
10718         * modules/strnlen (Depends-on): Likewise.
10719         * modules/strptime (Depends-on): Likewise.
10720         * modules/strsep (Depends-on): Likewise.
10721         * modules/strsignal (Depends-on): Likewise.
10722         * modules/strstr-simple (Depends-on): Likewise.
10723         * modules/strtod (Depends-on): Likewise.
10724         * modules/strtoimax (Depends-on): Likewise.
10725         * modules/strtok_r (Depends-on): Likewise.
10726         * modules/strtoumax (Depends-on): Likewise.
10727         * modules/symlink (Depends-on): Likewise.
10728         * modules/symlinkat (Depends-on): Likewise.
10729         * modules/tanl (Depends-on): Likewise.
10730         * modules/tcgetsid (Depends-on): Likewise.
10731         * modules/tmpfile (Depends-on): Likewise.
10732         * modules/trunc (Depends-on): Likewise.
10733         * modules/truncf (Depends-on): Likewise.
10734         * modules/truncl (Depends-on): Likewise.
10735         * modules/uname (Depends-on): Likewise.
10736         * modules/unlink (Depends-on): Likewise.
10737         * modules/unlockpt (Depends-on): Likewise.
10738         * modules/unsetenv (Depends-on): Likewise.
10739         * modules/usleep (Depends-on): Likewise.
10740         * modules/utimensat (Depends-on): Likewise.
10741         * modules/vasprintf (Depends-on): Likewise.
10742         * modules/vdprintf (Depends-on): Likewise.
10743         * modules/vdprintf-posix (Depends-on): Likewise.
10744         * modules/vfprintf-posix (Depends-on): Likewise.
10745         * modules/vprintf-posix (Depends-on): Likewise.
10746         * modules/vsnprintf (Depends-on): Likewise.
10747         * modules/vsnprintf-posix (Depends-on): Likewise.
10748         * modules/vsprintf-posix (Depends-on): Likewise.
10749         * modules/wcrtomb (Depends-on): Likewise.
10750         * modules/wcscasecmp (Depends-on): Likewise.
10751         * modules/wcscspn (Depends-on): Likewise.
10752         * modules/wcsdup (Depends-on): Likewise.
10753         * modules/wcsncasecmp (Depends-on): Likewise.
10754         * modules/wcsnrtombs (Depends-on): Likewise.
10755         * modules/wcspbrk (Depends-on): Likewise.
10756         * modules/wcsrtombs (Depends-on): Likewise.
10757         * modules/wcsspn (Depends-on): Likewise.
10758         * modules/wcsstr (Depends-on): Likewise.
10759         * modules/wcstok (Depends-on): Likewise.
10760         * modules/wcswidth (Depends-on): Likewise.
10761         * modules/wctob (Depends-on): Likewise.
10762         * modules/wctomb (Depends-on): Likewise.
10763         * modules/wctype (Depends-on): Likewise.
10764         * modules/wcwidth (Depends-on): Likewise.
10765         * modules/write (Depends-on): Likewise.
10766
10767 2011-05-03  Bruno Haible  <bruno@clisp.org>
10768
10769         Support for conditional dependencies.
10770         * doc/gnulib.texi (Module description): Document the syntax of
10771         conditional dependencies.
10772         * gnulib-tool: New option --conditional-dependencies.
10773         (func_usage): Document it.
10774         (cond_dependencies): New variable.
10775         (func_get_automake_snippet_conditional,
10776         func_get_automake_snippet_unconditional): New functions, extracted from
10777         func_get_automake_snippet.
10778         (func_get_automake_snippet): Use them.
10779         (sed_first_32_chars): New variable.
10780         (func_module_shellfunc_name): New function.
10781         (func_module_shellvar_name): New function.
10782         (func_module_conditional_name): New function.
10783         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
10784         func_cond_module_condition): New functions.
10785         (func_modules_transitive_closure): Add support for conditional
10786         dependencies.
10787         (func_emit_lib_Makefile_am): For a conditional module, enclose the
10788         conditional automake snippet in an automake conditional.
10789         (func_emit_autoconf_snippets): Emit shell functions that contain the
10790         code for conditional modules.
10791         (func_import, func_create_testdir): Update specification.
10792
10793 2011-05-03  Eric Blake  <eblake@redhat.com>
10794
10795         test-getaddrinfo: report error information
10796         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
10797
10798 2011-05-03  Jim Meyering  <meyering@redhat.com>
10799
10800         bootstrap: avoid build failure when $GZIP is set
10801         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
10802         program name.  If defined at all, it is supposed to list gzip options.
10803         Reported by Alan Curry in http://debbugs.gnu.org/8609
10804
10805 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
10806
10807         readme-release: new module with release instructions
10808         * modules/readme-release: New module.
10809         * top/README-release: New file, from coreutils, grep, diffutils.
10810         * MODULES.html.sh (Support for maintaining and releasing): Add it.
10811
10812 2011-05-02  Eric Blake  <eblake@redhat.com>
10813
10814         fflush: also replace fclose when fixing fflush
10815         * modules/fflush (Depends-on): Add fclose.
10816         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
10817         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
10818         memstreams with no backing fd.
10819         * doc/posix-functions/fclose.texi (fclose): Document the use of
10820         fflush module to fix the bug.
10821         * tests/test-fclose.c (main): Relax test when fclose is used in
10822         isolation.
10823
10824         fclose: add some tests
10825         * modules/fclose-tests: New test module.
10826         * tests/test-fclose.c: New file.
10827         * doc/posix-functions/fclose.texi (fclose): Document the bug.
10828
10829         fclose: reduced dependencies
10830         * modules/fclose (Depends-on): Switch from fflush/fseeko to
10831         simpler lseek.
10832         * lib/fclose.c (rpl_fclose): Likewise.
10833         Reported by Simon Josefsson.
10834
10835         exit: drop remaining clients
10836         * modules/argmatch (Depends-on): Replace exit with stdlib.
10837         * modules/copy-file (Depends-on): Likewise.
10838         * modules/execute (Depends-on): Likewise.
10839         * modules/exitfail (Depends-on): Likewise.
10840         * modules/obstack (Depends-on): Likewise.
10841         * modules/pagealign_alloc (Depends-on): Likewise.
10842         * modules/pipe-filter-gi (Depends-on): Likewise.
10843         * modules/pipe-filter-ii (Depends-on): Likewise.
10844         * modules/savewd (Depends-on): Likewise.
10845         * modules/spawn-pipe (Depends-on): Likewise.
10846         * modules/wait-process (Depends-on): Likewise.
10847         * modules/xsetenv (Depends-on): Likewise.
10848         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
10849         * modules/git-merge-changelog (Depends-on): Likewise.
10850         * modules/long-options (Depends-on): Likewise.
10851         * modules/pt_chown (Depends-on): Likewise.
10852         * modules/sysexits (Depends-on): Likewise.
10853
10854         freading: relax license from LGPLv3+ to LGPLv2+
10855         * modules/freading (License): Relax LGPL version.
10856
10857 2011-05-02  Bruno Haible  <bruno@clisp.org>
10858
10859         fchdir: Remove unused dependencies.
10860         * modules/fchdir (Depends-on): Remove include_next.
10861
10862 2011-05-02  Bruno Haible  <bruno@clisp.org>
10863
10864         gnulib-tool: Refactor.
10865         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
10866         from func_emit_autoconf_snippets.
10867         (func_emit_autoconf_snippets): Use it.
10868
10869 2011-05-02  Simon Josefsson  <simon@josefsson.org>
10870
10871         * NEWS: Document removal of 'exit'.
10872         * modules/exit: Remove file.
10873
10874 2011-05-01  Bruno Haible  <bruno@clisp.org>
10875
10876         Update DEPENDENCIES.
10877         * DEPENDENCIES (gettext): Recommend the newest release.
10878         Reported by Simon Josefsson.
10879
10880 2011-05-01  Bruno Haible  <bruno@clisp.org>
10881
10882         gnulib-tool: Reduce code duplication.
10883         * gnulib-tool (func_emit_autoconf_snippets): New function.
10884         (func_import, func_create_testdir): Use it.
10885
10886 2011-04-30  Eric Blake  <eblake@redhat.com>
10887
10888         fclose: don't fail on non-seekable input stream
10889         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
10890         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
10891         since fflush is allowed to fail in that case.
10892
10893 2011-04-30  Bruno Haible  <bruno@clisp.org>
10894
10895         dup3: cleanup
10896         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
10897
10898 2011-04-30  Bruno Haible  <bruno@clisp.org>
10899
10900         netdb: Make it work in C++ mode.
10901         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
10902         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
10903         module.
10904         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
10905         gl_MODULE_INDICATOR_FOR_TESTS.
10906         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
10907         * modules/netdb-c++-tests: New file.
10908         * tests/test-netdb-c++.cc: New file.
10909
10910 2011-04-30  Bruno Haible  <bruno@clisp.org>
10911
10912         New modules 'vfscanf', 'vscanf'.
10913         * modules/vfscanf: New file.
10914         * modules/vscanf: New file.
10915         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
10916         here.
10917         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
10918         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
10919
10920 2011-04-30  Bruno Haible  <bruno@clisp.org>
10921
10922         passfd: Add comments.
10923         * lib/passfd.c: Add comments about platforms.
10924
10925 2011-04-30  Bruno Haible  <bruno@clisp.org>
10926
10927         sys_uio: Make <sys/uio.h> self-contained.
10928         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
10929         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
10930
10931 2011-04-30  Bruno Haible  <bruno@clisp.org>
10932
10933         sys_socket: Ensure 'struct iovec' definition.
10934         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
10935         <sys/socket.h>.
10936         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
10937
10938 2011-04-30  Bruno Haible  <bruno@clisp.org>
10939
10940         sys_uio: Protect definition of 'struct iovec'.
10941         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
10942         it as a C struct.
10943
10944 2011-04-30  Bruno Haible  <bruno@clisp.org>
10945
10946         manywarnings: fix indentation
10947         * m4/manywarnings.m4: Indent by 2 spaces consistently.
10948
10949 2011-04-30  Pádraig Brady <P@draigBrady.com>
10950
10951         manywarnings: add -Wno-missing-field-initializers if needed.
10952         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
10953         option if it's needed to allow initialization with { 0, }
10954
10955 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
10956
10957         announce-gen: cosmetic improvement
10958         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
10959
10960 2011-04-29  Jim Meyering  <meyering@redhat.com>
10961
10962         vc-list-files: indent with spaces, not TABs
10963         * build-aux/vc-list-files: Convert leading TABs to spaces,
10964         to match the style of most other files in gnulib.
10965
10966         announce-gen: indent with spaces, not TABs
10967         * build-aux/announce-gen: Convert all TABs to spaces, to match
10968         the style of most other files in gnulib.
10969
10970 2011-04-29  Eric Blake  <eblake@redhat.com>
10971
10972         quotearg: avoid uninitialized variable use
10973         * lib/quotearg.c (quoting_options_from_style): Initialize
10974         remaining fields, and ensure that custom styles are only used via
10975         quoting_options rather than quoting_style.
10976
10977 2011-04-29  Jim Meyering  <meyering@redhat.com>
10978
10979         maint.mk: remove unused VC-tag variable
10980         * top/maint.mk (VC-tag): Remove unused variable.
10981
10982 2011-04-29  Bruno Haible  <bruno@clisp.org>
10983
10984         netdb: fix gai_strerror replacements
10985         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
10986         * modules/netdb: Substitute it.
10987
10988 2011-04-29  Jim Meyering  <meyering@redhat.com>
10989
10990         test-getcwd.c: avoid new set-but-not-used warning
10991         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
10992         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
10993         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
10994         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
10995
10996         test-hash.c: avoid a new shadowing warning
10997         * tests/test-hash.c (main): Don't shadow "dup".
10998
10999 2011-04-28  Eric Blake  <eblake@redhat.com>
11000
11001         getaddrinfo: fix gai_strerror signature
11002         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
11003         and work around mingw with UNICODE defined.
11004         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
11005         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
11006         * modules/netdb (Makefile.am): Substitute it.
11007         * lib/netdb.in.h (gai_strerror): Declare replacement.
11008         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11009         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
11010         the fix.
11011
11012         getsockopt: avoid compiler warning
11013         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
11014         Reported by Matthias Bolte.
11015
11016         tests: drop unused link dependency
11017         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
11018         * modules/dirent-safer-tests (Makefile.am): Likewise.
11019         * modules/fdopendir-tests (Makefile.am): Likewise.
11020         * modules/mkfifoat-tests (Makefile.am): Likewise.
11021         * modules/openat-safer-tests (Makefile.am): Likewise.
11022         * modules/openat-tests (Makefile.am): Likewise.
11023         * modules/readlinkat-tests (Makefile.am): Likewise.
11024         * modules/symlinkat-tests (Makefile.am): Likewise.
11025         * modules/linkat-tests (Makefile.am): Likewise.
11026         (Depends-on): Switch to filenamecat-lgpl.
11027         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
11028         LIBINTL.
11029         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
11030         * tests/test-linkat.c (main): Don't require xalloc.
11031
11032         hash, mgetgroups: drop xalloc dependency
11033         * lib/hash.c (includes): Adjust includes.
11034         * lib/mgetgroups.c (includes): Likewise.
11035         (xgetgroups): Move...
11036         * lib/xgetgroups.c: ...to new file.
11037         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
11038         * modules/xgetgroups: New file, split from...
11039         * modules/mgetgroups: ...here.
11040         (Depends-on): Add xalloc-oversized.
11041         * modules/hash (Depends-on): Likewise.
11042         * modules/hash-tests (Depends-on): Drop xalloc.
11043         (test_hash_LDADD): Drop unused library.
11044         * tests/test-hash.c (main): Break xalloc dependency.
11045         (includes): Drop unused include.
11046
11047         xalloc-oversized: new module
11048         * modules/xalloc-oversized: New module.
11049         * modules/xalloc (Depends-on): Add it.
11050         * lib/xalloc.h (xalloc_oversized): Move...
11051         * lib/xalloc-oversized.h: ...into new file.
11052
11053         utimecmp: drop dependency on xmalloc
11054         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
11055         due to memory pressure.
11056         * modules/utimecmp (Depends-on): Drop xalloc.
11057
11058 2011-04-27  Eric Blake  <eblake@redhat.com>
11059
11060         getcwd: fix mingw bugs
11061         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
11062         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
11063         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
11064
11065 2011-04-27  Bruno Haible  <bruno@clisp.org>
11066
11067         mkstemps: Ensure declaration on MacOS X 10.5.
11068         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
11069         * doc/glibc-functions/mkstemps.texi: Document header file problem on
11070         MacOS X.
11071
11072 2011-04-27  Bruno Haible  <bruno@clisp.org>
11073
11074         mkstemp: More documentation.
11075         * doc/posix-functions/mkstemp.texi: Document header file problem on
11076         MacOS X.
11077
11078 2011-04-27  Bruno Haible  <bruno@clisp.org>
11079
11080         mkstemp: Tweak configure message when cross-compiling.
11081         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
11082         result as a guess.
11083
11084 2011-04-27  Bruno Haible  <bruno@clisp.org>
11085
11086         clean-temp: Clarify what it does.
11087         * lib/clean-temp.h: Add more comments.
11088         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
11089         module.
11090         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
11091         * doc/glibc-functions/mkstemps.texi: Likewise.
11092         * doc/glibc-functions/mkostemps.texi: Likewise.
11093
11094 2011-04-27  Eric Blake  <eblake@redhat.com>
11095
11096         fchdir: avoid extra chdir and fix test
11097         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
11098         getcwd-lgpl.
11099         * lib/fchdir.c (get_name): Any absolute name will do; it does not
11100         have to be canonical.
11101         (canonicalize_file_name): Drop unused macro.
11102         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
11103
11104         filenamecat-lgpl: fix licence
11105         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
11106         when it was first created.
11107
11108         linkat, renameat: add missing dependency
11109         * modules/linkat (Depends-on): Require getcwd-lgpl.
11110         * modules/renameat (Depends-on): Likewise.
11111
11112         tests: reduce dependencies
11113         * tests/test-linkat.c (main): Use lighter-weight getcwd.
11114         * tests/test-renameat.c (main): Likewise.
11115         * modules/linkat-tests (Depends-on): Relax dependency.
11116         * modules/renameat-tests (Depends-on): Likewise.
11117         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
11118         dependency explicit.
11119
11120         save-cwd: reduce default dependency
11121         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
11122         * lib/save-cwd.c: Update comments.
11123         * NEWS: Document the semantic change.
11124
11125         getcwd: enhance tests
11126         * tests/test-getcwd-lgpl.c: New file, taken from...
11127         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
11128         repeat long path stress tests from m4 probe.
11129         * modules/getcwd-lgpl-tests: New module.
11130         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
11131         * m4/getcwd-abort-bug.m4: Update comment.
11132         * m4/getcwd-path-max.m4: Likewise.
11133
11134         getcwd-lgpl: new module
11135         * modules/getcwd-lgpl: New module.
11136         * lib/getcwd-lgpl.c: New file.
11137         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11138         * MODULES.html.sh (lacking POSIX:2008): Likewise.
11139         * modules/getcwd (configure.ac): Set C witness.
11140         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
11141
11142         getcwd: tweak comments
11143         * m4/getcwd-abort-bug.m4: Fix comments.
11144         * m4/getcwd-path-max.m4: Likewise.
11145         * m4/getcwd.m4: Likewise.
11146
11147 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11148         and Eric Blake  <eblake@redhat.com>
11149
11150         mkstemp: replace if system version uses wrong permissions
11151         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
11152         read/write mode bits set in file created by mkstemp.
11153         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
11154
11155 2011-04-27  Eric Blake  <eblake@redhat.com>
11156
11157         passfd: avoid compiler warning
11158         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
11159         Reported by Laine Stump.
11160
11161 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
11162
11163         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
11164         required by the NetBSD (and perhaps other 4.4BSD derived) join.
11165
11166 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
11167         and Eric Blake  <eblake@redhat.com>
11168
11169         mkstemp: mention clean-temp module
11170         * lib/mkstemp.c: Add comment.
11171         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
11172
11173 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
11174
11175         inttypes: also provide default values for 32-bit tests
11176         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
11177         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
11178
11179 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
11180
11181         strtoumax: remove dependency on strtoimax
11182         This is like the strtoull change of yesterday.
11183         * modules/strtoumax (Files): Add lib/strtoimax.c.
11184         (Depends-on): Remove strtoimax and add verify.
11185
11186         inttypes-incomplete: new module
11187         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
11188         all but the PRI* and SCN* parts of gl_INTTYPES_H.
11189         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
11190         of gl_INTTYPES_H.
11191         (gl_INTTYPES_H): Rewrite in terms of these new macros.
11192         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
11193         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
11194         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
11195         * modules/strtoumax, modules/xstrtol (Depends-on):
11196         Depend on inttypes-incomplete, not inttypes.
11197         * modules/inttypes-incomplete: New module, containing the contents
11198         of the old modules/inttypes module, except that the Files: section
11199         omits m4/inttypes-pri.m4, and the configure.ac section invokes
11200         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
11201         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
11202         (Depends-on): Depend only on inttypes-incomplete.
11203         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
11204
11205         inttypes: omit now-redundant strtoimax and strtoumax work
11206         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
11207         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
11208
11209         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
11210         This supports apps that need pointers to strtoimax and strtoumax,
11211         and ports to HP-UX 11.00 64.bit, which has macros that expand to
11212         nonexistent functions.  See
11213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
11214         et seq.
11215         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
11216         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
11217         a macro.
11218         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
11219
11220 2011-04-25  Simon Josefsson  <simon@josefsson.org>
11221
11222         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
11223
11224 2011-04-25  Bruno Haible  <bruno@clisp.org>
11225
11226         strtol, strtoul: Mark modules as obsolete.
11227         * modules/strtol (Status, Notice): New sections.
11228         * modules/strtoul (Status, Notice): New sections.
11229
11230 2011-04-25  Bruno Haible  <bruno@clisp.org>
11231
11232         strtod: Remove check for strtod, unless supporting old platforms.
11233         * modules/strtod-obsolete: New file.
11234         * m4/strtod-obsolete.m4: New file.
11235         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
11236         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
11237         * modules/strtod (Depends-on): Add strtod-obsolete.
11238         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
11239
11240 2011-04-25  Bruno Haible  <bruno@clisp.org>
11241
11242         strcase: Make module obsolete.
11243         * modules/strcase (Status, Notice): New sections.
11244
11245 2011-04-25  Bruno Haible  <bruno@clisp.org>
11246
11247         dup2: Remove check for dup2, unless supporting old obsolete platforms.
11248         * modules/dup2-obsolete: New file.
11249         * m4/dup2-obsolete.m4: New file.
11250         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
11251         gl_FUNC_DUP2_OBSOLETE is not also defined.
11252         * modules/dup2 (Depends-on): Add dup2-obsolete.
11253         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
11254
11255 2011-04-25  Bruno Haible  <bruno@clisp.org>
11256
11257         strnlen: Avoid memchr related link error on old obsolete platforms.
11258         * modules/memchr-obsolete: New file.
11259         * m4/memchr-obsolete.m4: New file.
11260         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
11261         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
11262         * modules/memchr (Depends-on): Add memchr-obsolete.
11263         * modules/strnlen (Depends-on): Likewise.
11264         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
11265
11266 2011-04-25  Jim Meyering  <meyering@redhat.com>
11267
11268         maint.mk: makefile_at_at_check extend and clean up
11269         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
11270         in addition to */Makefile.am.
11271         Exempt legitimate uses of @VAR@ notation, e.g.,
11272         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
11273         Remove obsolete coreutils-specific comment.
11274         Prompted by discussion here:
11275         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
11276
11277 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         strtoul: remove dependency on strtol
11280         This is so that 'configure' need not check for strtol merely because
11281         the application needs strtoul.
11282         * modules/strtoul (Files): Add lib/strtol.c.
11283         (Depends-on): Remove strtol.
11284
11285         strtoull: remove dependency on strtoul
11286         This is like the strtoll change.
11287         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
11288         (Depends-on): Remove strtoul.
11289
11290         strtoll: remove dependency on strtol
11291         This is so that 'configure' need not check for strtol merely because
11292         the application needs strtoll.
11293         * modules/strtoll (Files): Add lib/strtol.c.
11294         (Depends-on): Remove strtol.
11295
11296 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11297
11298         inttypes: Move some configure check to module 'imaxdiv'.
11299         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
11300         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
11301         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
11302
11303 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11304
11305         inttypes: Move some configure check to module 'imaxabs'.
11306         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
11307         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
11308         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
11309
11310 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11311
11312         inttypes: Remove configure tests that are not needed since 2009-12-31.
11313         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
11314         gl_cv_header_working_inttypes_h.
11315
11316 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
11317
11318         * modules/strnlen (Depends-on): Remove memchr.
11319         The strnlen implementation doesn't need the memchr module's fixes; see
11320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
11321
11322         strtol: remove dependency on wchar
11323         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
11324         * modules/strtol (Depends-on): Remove wchar.
11325
11326 2011-04-21  Eric Blake  <eblake@redhat.com>
11327
11328         passfd: fix test regression on Linux
11329         * modules/passfd-tests (configure.ac): Correct socketpair check.
11330
11331         passfd: speed up configure and drop unused code
11332         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
11333         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
11334         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
11335         Instead of probing at configure for unix_scm_rights_bsd44_way,
11336         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
11337         check to a struct member probe.
11338         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
11339         (sendfd, recvfd): Update preprocessor checks.
11340         * modules/passfd (Files): Reflect rename, and drop unused file.
11341         (Depends-on): Drop unused dependency.
11342
11343         passfd: allow compilation on mingw
11344         * modules/sys_socket (Depends-on): Add sys_uio.
11345         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
11346         iovec and a minimal struct msghdr.
11347         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
11348         * tests/test-sys_socket.c (main): Enhance test.
11349         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
11350         guaranteed to provide what we need.
11351         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
11352         * modules/passfd-tests (Depends-on): Add sys_wait.
11353         * tests/test-passfd.c (main): Skip test on mingw, for now.
11354         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
11355         partial 'struct msghdr' implementation.
11356
11357         sys_uio: new module
11358         * modules/sys_uio: New module.
11359         * modules/sys_uio-tests: Likewise.
11360         * lib/sys_uio.in.h: New file.
11361         * m4/sys_uio_h.m4: Likewise.
11362         * tests/test-sys_uio.c: Likewise.
11363         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
11364         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
11365
11366 2011-04-20  Jim Meyering  <meyering@redhat.com>
11367
11368         useless-if-before-free: avoid false-positive
11369         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
11370         disjunct so that it too requires a terminating ";".  Without that,
11371         this script would identify as useless one statement from gcc that
11372         was not:
11373           if (aligned_ptr)
11374             free (((void **) aligned_ptr) [-1]);
11375
11376 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
11377
11378         doc: update users.txt.
11379         * users.txt: Add barcode.
11380
11381 2011-04-19  Bruno Haible  <bruno@clisp.org>
11382
11383         ioctl: Remove link dependency on native Windows.
11384         * lib/fd-hook.h: Renamed from lib/close-hook.h.
11385         (gl_close_fn, gl_ioctl_fn): New types.
11386         (struct fd_hook): Renamed from struct close_hook. Change type of
11387         private_close_fn field. Add private_ioctl_fn field.
11388         (close_hook_fn): Add parameter for primary close method.
11389         (execute_close_hooks, execute_all_close_hooks): Likewise.
11390         (ioctl_hook_fn): New type.
11391         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
11392         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11393         argument.
11394         (unregister_fd_hook): Renamed from unregister_close_hook.
11395         * lib/fd-hook.c: Renamed from lib/close-hook.c.
11396         Don't include <unistd.h>.
11397         (close): Remove undef.
11398         (anchor): Update.
11399         (execute_close_hooks): Add argument for primary close method.
11400         (execute_all_close_hooks): Likewise.
11401         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
11402         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
11403         argument. Allow each argument to be NULL.
11404         (unregister_fd_hook): Renamed from unregister_close_hook.
11405         * lib/close.c (rpl_close): Pass 'close' function pointer to
11406         execute_all_close_hooks.
11407         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
11408         (primary_ioctl): New function.
11409         (ioctl): Don't call ioctlsocket here. Instead, call
11410         execute_all_ioctl_hooks.
11411         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
11412         close method.
11413         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
11414         (fd_sockets_hook): Renamed from close_sockets_hook.
11415         (gl_sockets_startup, gl_sockets_cleanup): Update.
11416         * modules/fd-hook: Renamed from modules/close-hook. Update.
11417         * modules/close (Depends-on): Add fd-hook, remove close-hook.
11418         * modules/sockets (Depends-on): Likewise.
11419         * modules/ioctl (Depends-on): Add fd-hook.
11420         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
11421         GNULIB_SOCKET.
11422
11423 2011-04-19  Bruno Haible  <bruno@clisp.org>
11424
11425         Move the support of O_NONBLOCK in open() to the 'open' module.
11426         * modules/nonblocking (Depends-on): Remove 'open'.
11427         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
11428         gl_cv_have_open_O_NONBLOCK.
11429         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
11430         O_NONBLOCK support.
11431         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
11432
11433 2011-04-17  Bruno Haible  <bruno@clisp.org>
11434
11435         pipe2: Simplify code.
11436         * lib/pipe2.c (pipe2): Reduce code duplication.
11437
11438 2011-04-17  Bruno Haible  <bruno@clisp.org>
11439
11440         nonblocking: Add comment.
11441         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
11442
11443 2011-04-17  Bruno Haible  <bruno@clisp.org>
11444
11445         nonblocking: Add tests for sockets.
11446         * tests/test-nonblocking-socket.sh: New file.
11447         * tests/test-nonblocking-socket-main.c: New file.
11448         * tests/test-nonblocking-socket-child.c: New file.
11449         * tests/test-nonblocking-socket.h: New file.
11450         * tests/socket-server.h: New file.
11451         * tests/socket-client.h: New file.
11452         * modules/nonblocking-socket-tests: New file.
11453         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
11454
11455 2011-04-17  Bruno Haible  <bruno@clisp.org>
11456
11457         nonblocking: Add tests for pipes.
11458         * tests/test-nonblocking-pipe.sh: New file.
11459         * tests/test-nonblocking-pipe-main.c: New file.
11460         * tests/test-nonblocking-pipe-child.c: New file.
11461         * tests/test-nonblocking-pipe.h: New file.
11462         * tests/test-nonblocking-writer.h: New file.
11463         * tests/test-nonblocking-reader.h: New file.
11464         * tests/test-nonblocking-misc.h: New file.
11465         * modules/nonblocking-pipe-tests: New file.
11466         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
11467
11468 2011-04-16  Bruno Haible  <bruno@clisp.org>
11469
11470         gettext: Clarify the needed programmer actions.
11471         * modules/gettext (Notice): New field.
11472         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
11473
11474 2011-04-16  Bruno Haible  <bruno@clisp.org>
11475
11476         strchrnul: Tweak last commit.
11477         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
11478         bug.
11479         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
11480         as in _GL_FUNCDECL_SYS.
11481         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
11482         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
11483
11484 2011-04-15  Eric Blake  <eblake@redhat.com>
11485
11486         strchrnul: work around cygwin bug
11487         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
11488         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
11489         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
11490         * modules/string (Makefile.am): Substitute it.
11491         * lib/string.in.h (strchrnul): Use it.
11492
11493 2011-04-15  Bruno Haible  <bruno@clisp.org>
11494
11495         Don't require lib/stdio-write.c when only module 'stdio' is used.
11496         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
11497         invocation.
11498         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
11499
11500 2011-04-14  Bruno Haible  <bruno@clisp.org>
11501
11502         Support non-blocking pipe I/O in read() on native Windows.
11503         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
11504         (read): New declaration.
11505         * lib/read.c: New file.
11506         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
11507         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
11508         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
11509         vscanf): New declarations.
11510         * lib/stdio-read.c: New file.
11511         * m4/read.m4: New file.
11512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
11513         REPLACE_READ.
11514         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
11515         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11516         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
11517         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
11518         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
11519         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11520         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11521         * modules/read: New file.
11522         * modules/nonblocking (Files): Add lib/stdio-read.c.
11523         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
11524         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
11525         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
11526         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
11527         * modules/pread (Depends-on): Add read.
11528         * modules/safe-read (Depends-on): Likewise.
11529         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
11530         gets, scanf, vfscanf, vscanf): Verify signatures.
11531         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
11532         problem with non-blocking pipes.
11533         * doc/posix-functions/fgetc.texi: Likewise.
11534         * doc/posix-functions/fgets.texi: Likewise.
11535         * doc/posix-functions/fread.texi: Likewise.
11536         * doc/posix-functions/fscanf.texi: Likewise.
11537         * doc/posix-functions/getc.texi: Likewise.
11538         * doc/posix-functions/getchar.texi: Likewise.
11539         * doc/posix-functions/gets.texi: Likewise.
11540         * doc/posix-functions/scanf.texi: Likewise.
11541         * doc/posix-functions/vfscanf.texi: Likewise.
11542         * doc/posix-functions/vscanf.texi: Likewise.
11543
11544 2011-04-14  Bruno Haible  <bruno@clisp.org>
11545
11546         Support non-blocking pipe I/O in write() on native Windows.
11547         * lib/write.c (rpl_write): Split a write request that failed merely
11548         because the byte count was larger than the pipe buffer's size.
11549         * doc/posix-functions/write.texi: Mention the problem with large byte
11550         counts.
11551
11552 2011-04-14  Bruno Haible  <bruno@clisp.org>
11553
11554         wchar: Ensure that wchar_t gets defined on uClibc.
11555         * lib/wchar.in.h: On uClibc, include <stddef.h>.
11556         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
11557
11558 2011-04-13  Bruno Haible  <bruno@clisp.org>
11559
11560         safe-write, full-read: Avoid unnecessary compilation units.
11561         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
11562         (Depends-on): Remove safe-read. Add ssize_t.
11563         * modules/full-read (Files): Add lib/full-write.c.
11564         (Depends-on): Add full-write.
11565
11566 2011-04-13  Bruno Haible  <bruno@clisp.org>
11567
11568         Support non-blocking pipe I/O and SIGPIPE in pwrite().
11569         * modules/pwrite (Depends-on): Add 'write'.
11570
11571 2011-04-13  Bruno Haible  <bruno@clisp.org>
11572
11573         Support non-blocking pipe I/O in write() on native Windows.
11574         * lib/unistd.in.h (write): Enable replacement also if
11575         GNULIB_UNISTD_H_NONBLOCKING is 1.
11576         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
11577         (rpl_write): When failing to write on a non-blocking pipe, change
11578         errno from ENOSPC to EAGAIN.
11579         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
11580         putchar, puts, vfprintf, vprintf): Enable replacement also if
11581         GNULIB_STDIO_H_NONBLOCKING is 1.
11582         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
11583         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
11584         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
11585         CALL_WITH_SIGPIPE_EMULATION.
11586         (CALL_WITH_SIGPIPE_EMULATION): Use them.
11587         * m4/nonblocking.m4: New file.
11588         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
11589         for non-blocking I/O support.
11590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11591         GNULIB_UNISTD_H_NONBLOCKING.
11592         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
11593         required for non-blocking I/O support.
11594         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
11595         * modules/nonblocking (Files): Add m4/nonblocking.m4,
11596         lib/stdio-write.c, m4/asm-underscore.m4.
11597         (Depends-on): Add stdio, unistd.
11598         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
11599         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
11600         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
11601         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
11602         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
11603         problem with non-blocking pipes.
11604         * doc/posix-functions/fputc.texi: Likewise.
11605         * doc/posix-functions/fputs.texi: Likewise.
11606         * doc/posix-functions/fwrite.texi: Likewise.
11607         * doc/posix-functions/printf.texi: Likewise.
11608         * doc/posix-functions/putc.texi: Likewise.
11609         * doc/posix-functions/putchar.texi: Likewise.
11610         * doc/posix-functions/puts.texi: Likewise.
11611         * doc/posix-functions/vfprintf.texi: Likewise.
11612         * doc/posix-functions/vprintf.texi: Likewise.
11613         * doc/posix-functions/write.texi: Likewise.
11614
11615 2011-04-10  Jim Meyering  <meyering@redhat.com>
11616
11617         maint.mk: prohibit doubled words
11618         Detect them also when they're separated by a newline.
11619         There are 3 ways to customize it:
11620           - disable the test on a per file basis, as usual with rules using
11621             $(VC_LIST_EXCEPT)
11622           - replace the default doubled-word-selecting regexp (affects all files)
11623           - ignore a particular file-vs-doubled-word match
11624         I nearly used that last one to ignore the "is is" match in
11625         coreutils' NEWS file, since the text was "ls -is is ..."
11626         To do that, I would have added this line to cfg.mk:
11627           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
11628         but it would have ignored any "is is" match in NEWS.
11629         Low probability, but still...
11630         Instead, I changed the text, slightly:
11631           -  ls -is is now consistent with ls -lis in ignoring values returned
11632           +  "ls -is" is now consistent with ls -lis in ignoring values returned
11633         * top/maint.mk (prohibit_double_word_RE_): Provide default.
11634         (prohibit_doubled_word_): Define.
11635         (sc_prohibit_doubled_word): New rule.
11636         (sc_prohibit_the_the): Remove.  Subsumed by the above.
11637
11638 2011-04-10  Jim Meyering  <meyering@redhat.com>
11639
11640         maint: fix doubled-word typo in comment
11641         * m4/gethostname.m4: s/is is/it is/
11642         * m4/getdomainname.m4: Likewise.
11643
11644 2011-04-10  Jim Meyering  <meyering@redhat.com>
11645
11646         maint: remove doubled word: s/it it/it/
11647         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
11648
11649 2011-04-10  Jim Meyering  <meyering@redhat.com>
11650
11651         maint.mk: remove useless semicolon and backslash
11652         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
11653         semicolon and backslash.
11654
11655 2011-04-10  Bruno Haible  <bruno@clisp.org>
11656
11657         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
11658         * modules/stdint-tests (Depends-on): Add wchar.
11659
11660 2011-04-10  Jim Meyering  <meyering@redhat.com>
11661
11662         maint: remove doubled words in comments, e.g., s/a a/a/
11663         * lib/strptime.c (day_of_the_week): s/the the/the/
11664         * tests/test-chown.h (test_chown): s/a a/a/
11665
11666         test-chown.h: correct a cast
11667         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
11668         when the destination is a stat.st_gid.
11669
11670 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
11671
11672         getaddrinfo: Fix test for sa_len member.
11673         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
11674         include <sys/types.h> before <sys/socket.h>.
11675
11676 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
11677
11678         maint: change "can not" to "cannot"
11679         * doc/posix-functions/iconv.texi (iconv): This one crossed line
11680         boundaries.
11681
11682 2011-04-09  Jim Meyering  <meyering@redhat.com>
11683
11684         maint: change "a a" to "a"
11685         * tests/test-lchown.h (test_lchown): s/a a/a/
11686
11687         maint.mk: prohibit \<the the\>
11688         * top/maint.mk (sc_prohibit_the_the): New rule.
11689
11690         maint: fix "the the" in comment
11691         * lib/count-one-bits.h: s/the the/the/
11692
11693         maint: change "can not" to "cannot"
11694         But do not change the occurrences in maintain.texi or in
11695         build-aux/po/Makefile.in.in, which I presume comes from gettext.
11696         * doc/gnulib-tool.texi: s/can not/cannot/
11697         * doc/posix-functions/accept.texi (accept): Likewise.
11698         * doc/posix-functions/socket.texi (socket): Likewise.
11699         * lib/mbrtowc.c: Likewise.
11700
11701         maint.mk: prohibit use of "can not"
11702         * top/maint.mk (sc_prohibit_can_not): New rule.
11703         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
11704
11705 2011-04-09  Bruno Haible  <bruno@clisp.org>
11706
11707         careadlinkat: Guard against misuse of careadlinkatcwd.
11708         * lib/careadlinkat.c: Include <stdlib.h>.
11709         (careadlinkatcwd): Check that the fd argument is as expected.
11710
11711 2011-04-09  Bruno Haible  <bruno@clisp.org>
11712
11713         careadlinkat: Use common coding style.
11714         * lib/careadlinkat.c: Move gnulib includes after system includes.
11715
11716 2011-04-09  Bruno Haible  <bruno@clisp.org>
11717
11718         careadlinkat: Clarify specification.
11719         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
11720         (careadlinkatcwd): Add comment.
11721         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
11722
11723 2011-04-09  Bruno Haible  <bruno@clisp.org>
11724
11725         areadlinkat: Avoid link error on many platforms.
11726         * modules/areadlinkat (Depends-on): Add areadlink.
11727
11728 2011-04-09  Bruno Haible  <bruno@clisp.org>
11729
11730         allocator, careadlinkat: Fix double-inclusion guard.
11731         * lib/allocator.h: Fix double-inclusion guard.
11732         * lib/careadlinkat.h: Likewise.
11733
11734 2011-04-09  Bruno Haible  <bruno@clisp.org>
11735
11736         relocatable-prog-wrapper: Update after module 'areadlink' changed.
11737         * lib/relocwrapper.c: Update dependencies hierarchy.
11738         * build-aux/install-reloc: Update list of files to be compiled.
11739         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
11740         lib/allocator.[hc].
11741
11742 2011-04-08  Eric Blake  <eblake@redhat.com>
11743
11744         strftime: silence gnulib-tool warning
11745         * modules/strftime-tests (Depends-on): Drop automatic dependency.
11746
11747 2011-04-08  Bruno Haible  <bruno@clisp.org>
11748
11749         verify: Fix syntax error with GCC 4.6 in C++ mode.
11750         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
11751         (HAVE_STATIC_ASSERT): New macro.
11752         (verify_true, verify): Use 'static_assert' if it is supported and
11753         '_Static_assert' is not supported.
11754
11755 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
11756
11757         allocator: New module.
11758         * modules/allocator, lib/allocator.c: New files.
11759         * lib/allocator.h (stdlib_allocator): New decl.
11760         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
11761         Remove.  Do not include <stdlib.h>.
11762         (careadlinkat): Use stdlib_allocator instead of rolling our own.
11763         * modules/careadlinkat (Files): Remove lib/allocator.h.
11764         (Depends-on): Add allocator.
11765
11766         stdlib: let modules use system malloc, realloc
11767         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
11768         if !_GL_USE_STDLIB_ALLOC.
11769         (malloc, realloc): Limit this change to a smaller scope.
11770
11771         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
11772         (malloc, realloc): Don't #undef; no longer needed.
11773         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11774         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11775         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11776         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11777         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11778         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11779         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
11780         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
11781
11782         careadlinkat: rename members to avoid problem
11783         * lib/allocator.h (struct allocator): Rename members from
11784         malloc/realloc to allocate/reallocate, to avoid problems if malloc
11785         and realloc are #define'd.  Reported by Eric Blake in
11786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
11787         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
11788
11789 2011-04-08  Eric Blake  <eblake@redhat.com>
11790
11791         nonblocking: reduce dependency
11792         * tests/test-nonblocking.c: Only test sockets when in use.
11793         * modules/nonblocking-tests (Depends-on): Drop socket.
11794         (Makefile.am): Link even if sockets are not present.
11795         * modules/pipe2-tests (Makefile.am): Likewise.
11796         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
11797
11798         pipe2: fix O_NONBLOCK support on mingw
11799         * modules/pipe2 (Depends-on): Add nonblocking.
11800         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
11801         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
11802         * tests/test-nonblocking.c (main): Likewise.
11803         * modules/pipe2-tests (Makefile.am): Avoid link failure.
11804
11805         fcntl-h: fix O_ACCMODE on cygwin
11806         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
11807         * lib/fcntl.in.h (O_ACCMODE): Fix it.
11808
11809         pipe-filter: drop O_NONBLOCK workarounds
11810         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
11811         * modules/pipe-filter-ii (Depends-on): Likewise.
11812         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
11813
11814         nonblocking: provide O_NONBLOCK for mingw
11815         * modules/nonblocking (Depends-on): Add open.
11816         (configure.ac): Set new witness macro.
11817         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
11818         * modules/fcntl-h (Makefile.am): Substitute it.
11819         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
11820         nonblocking module is in use.
11821         * lib/nonblocking.c: Adjust portability test.
11822         * lib/open.c (open): Don't let native open see gnulib flag.
11823         * tests/test-fcntl-h.c (main): Enhance test.
11824         * tests/test-open.h (test_open): Likewise.
11825         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
11826
11827         careadlinkat: fix compilation error on mingw
11828         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
11829         within struct allocator.
11830
11831 2011-04-06  Eric Blake  <eblake@redhat.com>
11832
11833         binary-io: relicense under LGPLv2+
11834         * modules/binary-io (License): Relax to LGPLv2+.
11835         Requested for libvirt, and required by pipe2.
11836
11837 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
11838
11839         verify: use _Static_assert if available
11840         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
11841         (verify_true, verify): Use it if available.  This generates better
11842         diagnostics with GCC 4.6.0 and later.
11843
11844 2011-04-05  Bruno Haible  <bruno@clisp.org>
11845
11846         Remove leftover generated .h files after config.status changed.
11847
11848         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
11849         GL_GENERATE_ALLOCA_H.
11850         * modules/alloca-opt (Makefile.am): Remove alloca.h if
11851         GL_GENERATE_ALLOCA_H evaluates to false.
11852
11853         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
11854         GL_GENERATE_ARGZ_H.
11855         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
11856         evaluates to false.
11857
11858         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
11859         GL_GENERATE_BYTESWAP_H.
11860         * modules/byteswap (Makefile.am): Remove byteswap.h if
11861         GL_GENERATE_BYTESWAP_H evaluates to false.
11862
11863         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
11864         GL_GENERATE_ERRNO_H.
11865         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
11866         evaluates to false.
11867
11868         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
11869         GL_GENERATE_FLOAT_H.
11870         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
11871         evaluates to false.
11872
11873         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
11874         GL_GENERATE_FNMATCH_H.
11875         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
11876         GL_GENERATE_FNMATCH_H evaluates to false.
11877
11878         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
11879         GL_GENERATE_GLOB_H.
11880         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
11881         evaluates to false.
11882
11883         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
11884         automake conditional GL_GENERATE_ICONV_H.
11885         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
11886         evaluates to false.
11887
11888         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
11889         GL_GENERATE_NETINET_IN_H.
11890         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
11891         GL_GENERATE_NETINET_IN_H evaluates to false.
11892
11893         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
11894         conditional GL_GENERATE_PTHREAD_H.
11895         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
11896         * modules/pthread (Makefile.am): Remove pthread.h if
11897         GL_GENERATE_PTHREAD_H evaluates to false.
11898
11899         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
11900         GL_GENERATE_SCHED_H.
11901         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
11902         evaluates to false.
11903
11904         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
11905         conditional GL_GENERATE_SELINUX_CONTEXT_H.
11906         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
11907         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
11908
11909         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
11910         GL_GENERATE_STDARG_H.
11911         * modules/stdarg (Makefile.am): Remove stdarg.h if
11912         GL_GENERATE_STDARG_H evaluates to false.
11913
11914         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
11915         GL_GENERATE_STDBOOL_H.
11916         * modules/stdbool (Makefile.am): Remove stdbool.h if
11917         GL_GENERATE_STDBOOL_H evaluates to false.
11918
11919         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
11920         conditional GL_GENERATE_STDDEF_H.
11921         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
11922         * modules/stddef (Makefile.am): Remove stddef.h if
11923         GL_GENERATE_STDDEF_H evaluates to false.
11924
11925         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
11926         GL_GENERATE_STDINT_H.
11927         * modules/stdint (Makefile.am): Remove stdint.h if
11928         GL_GENERATE_STDINT_H evaluates to false.
11929
11930         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
11931         GL_GENERATE_SYSEXITS_H.
11932         * modules/sysexits (Makefile.am): Remove sysexits.h if
11933         GL_GENERATE_SYSEXITS_H evaluates to false.
11934
11935         Reported by Karl Berry and Ralf Wildenhues.
11936
11937 2011-04-05  Bruno Haible  <bruno@clisp.org>
11938
11939         Ensure to rebuild generated .h files when config.status has changed.
11940         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
11941         config.status.
11942         * modules/ctype (Makefile.am): Likewise.
11943         * modules/dirent (Makefile.am): Likewise.
11944         * modules/errno (Makefile.am): Likewise.
11945         * modules/fcntl-h (Makefile.am): Likewise.
11946         * modules/float (Makefile.am): Likewise.
11947         * modules/getopt-posix (Makefile.am): Likewise.
11948         * modules/glob (Makefile.am): Likewise.
11949         * modules/iconv-h (Makefile.am): Likewise.
11950         * modules/inttypes (Makefile.am): Likewise.
11951         * modules/langinfo (Makefile.am): Likewise.
11952         * modules/locale (Makefile.am): Likewise.
11953         * modules/math (Makefile.am): Likewise.
11954         * modules/netdb (Makefile.am): Likewise.
11955         * modules/netinet_in (Makefile.am): Likewise.
11956         * modules/poll-h (Makefile.am): Likewise.
11957         * modules/pthread (Makefile.am): Likewise.
11958         * modules/pty (Makefile.am): Likewise.
11959         * modules/sched (Makefile.am): Likewise.
11960         * modules/search (Makefile.am): Likewise.
11961         * modules/selinux-h (Makefile.am): Likewise.
11962         * modules/signal (Makefile.am): Likewise.
11963         * modules/spawn (Makefile.am): Likewise.
11964         * modules/stdarg (Makefile.am): Likewise.
11965         * modules/stdbool (Makefile.am): Likewise.
11966         * modules/stddef (Makefile.am): Likewise.
11967         * modules/stdint (Makefile.am): Likewise.
11968         * modules/stdio (Makefile.am): Likewise.
11969         * modules/stdlib (Makefile.am): Likewise.
11970         * modules/string (Makefile.am): Likewise.
11971         * modules/strings (Makefile.am): Likewise.
11972         * modules/sys_file (Makefile.am): Likewise.
11973         * modules/sys_ioctl (Makefile.am): Likewise.
11974         * modules/sys_select (Makefile.am): Likewise.
11975         * modules/sys_socket (Makefile.am): Likewise.
11976         * modules/sys_stat (Makefile.am): Likewise.
11977         * modules/sys_time (Makefile.am): Likewise.
11978         * modules/sys_times (Makefile.am): Likewise.
11979         * modules/sys_utsname (Makefile.am): Likewise.
11980         * modules/sys_wait (Makefile.am): Likewise.
11981         * modules/sysexits (Makefile.am): Likewise.
11982         * modules/termios (Makefile.am): Likewise.
11983         * modules/time (Makefile.am): Likewise.
11984         * modules/unistd (Makefile.am): Likewise.
11985         * modules/wchar (Makefile.am): Likewise.
11986         * modules/wctype-h (Makefile.am): Likewise.
11987         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
11988
11989 2011-04-05  Bruno Haible  <bruno@clisp.org>
11990
11991         pipe2: Relicense under LGPLv2+.
11992         * modules/pipe2 (License): Change to LGPLv2+.
11993         Requested by Eric Blake, for libvirt.
11994
11995 2011-04-05  Bruce Korb  <bkorb@gnu.org>
11996
11997         bootstrap: compute gnulib_extra_files after updating build_aux
11998         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
11999         change build_aux or also supply gnulib_extra_files.  Handle correctly.
12000
12001 2011-04-05  Eric Blake  <eblake@redhat.com>
12002
12003         bootstrap: preserve git whitelist item sorting
12004         * build-aux/bootstrap (sort_patterns): New function.
12005         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
12006
12007 2011-04-05  Simon Josefsson  <simon@josefsson.org>
12008
12009         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
12010         sc_space_tab check.
12011
12012 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
12013
12014         areadlink, areadlinkat: rewrite in terms of careadlinkat
12015         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
12016         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
12017         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
12018         (malloc, realloc): Remove #undefs.
12019         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
12020         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
12021         readlink, ssize_t, stdint, unistd.
12022         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
12023         areadlink, stdint.
12024
12025         careadlinkat: new module
12026         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
12027         * modules/careadlinkat: New files, written by me with
12028         a review and feedback from Ben Pfaff in
12029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
12030
12031 2011-04-01  Bruno Haible  <bruno@clisp.org>
12032
12033         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
12034         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
12035         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
12036         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
12037         Reported by Bruce Korb <bruce.korb@gmail.com>.
12038
12039 2011-04-01  Bruno Haible  <bruno@clisp.org>
12040
12041         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
12042         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
12043         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
12044         * modules/wcpcpy (Depends-on): Add extensions.
12045         * modules/wcpncpy (Depends-on): Likewise.
12046         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
12047         systems.
12048         * doc/posix-functions/wcpncpy.texi: Likewise.
12049         * doc/posix-functions/wcwidth.texi: Likewise.
12050
12051 2011-03-31  Eric Blake  <eblake@redhat.com>
12052
12053         nonblocking: fix mingw test failures
12054         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
12055         non-blocking flag on regular file.
12056         (get_nonblocking_flag): Set errno on invalid fd.
12057         * tests/test-nonblocking.c (main): Avoid test failure on
12058         directories if fchdir is not active.
12059         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
12060
12061 2011-03-31  Bruno Haible  <bruno@clisp.org>
12062
12063         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
12064         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
12065         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
12066         Reported by Simon Josefsson <simon@josefsson.org>.
12067
12068 2011-03-31  Bruno Haible  <bruno@clisp.org>
12069         and Eric Blake  <eblake@redhat.com>
12070
12071         nonblocking: new module
12072         * modules/nonblocking: New module.
12073         * modules/nonblocking-tests: Likewise.
12074         * lib/nonblocking.h: New file.
12075         * lib/nonblocking.c: Likewise.
12076         * tests/test-nonblocking.c: New test.
12077         * lib/ioctl.c (ioctl) [mingw]: Update comment.
12078
12079 2011-03-30  Bruno Haible  <bruno@clisp.org>
12080
12081         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
12082         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
12083         instead of 'printf' format for GCC >= 4.4.
12084         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
12085         (fprintf, printf, vfprintf, vprintf): Declare with
12086         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
12087         the system's vfprintf() function.
12088         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
12089
12090 2011-03-30  Eric Blake  <eblake@redhat.com>
12091
12092         passfd: fix scoping bug
12093         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
12094         before sendmsg/recvmsg.
12095
12096         passfd: standardize coding conventions
12097         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
12098         can be learned at compile time.
12099         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
12100         ifdefs.
12101         (sendfd, recvfd): Follow gnulib code conventions.
12102
12103         passfd: fix incorrect sendmsg arguments
12104         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
12105         incorrect msg_controllen value.
12106         * modules/passfd-tests (Depends-on): Check for alarm.
12107         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
12108         Reported by Bastien ROUCARIES.
12109
12110 2011-03-30  Bruno Haible  <bruno@clisp.org>
12111
12112         c-strcasestr: Relicense under LGPLv2+.
12113         * modules/c-strcasestr (License): Change to LGPLv2+.
12114         Requested by Eric Blake, for libvirt.
12115
12116 2011-03-30  Simon Josefsson  <simon@josefsson.org>
12117
12118         * users.txt: Add libidn2.  Fix libtasn1 link.
12119
12120 2011-03-30  Jim Meyering  <meyering@redhat.com>
12121
12122         tests: readlink* ("",... fails with EINVAL on newer kernels
12123         readlink and readlinkat have typically failed with ENOENT for
12124         the invalid, empty file name,  "".  However, with the advent
12125         of linux-2.6.39, they fail with EINVAL.
12126         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
12127         when operating on the empty file name.
12128         * tests/test-readlink.h (test_readlink): Likewise.
12129
12130 2011-03-29  Bruno Haible  <bruno@clisp.org>
12131
12132         Relicense some modules under LGPLv2+, for libidn2.
12133         * modules/array-mergesort (License): Change to LGPLv2+.
12134         * modules/c-strcaseeq (License): Likewise.
12135         * modules/striconveh (License): Likewise.
12136         * modules/striconveha (License): Likewise.
12137         * modules/uniconv/base (License): Likewise.
12138         * modules/uniconv/u8-conv-from-enc (License): Likewise.
12139         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
12140         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
12141         * modules/unictype/base (License): Likewise.
12142         * modules/unictype/bidiclass-of (License): Likewise.
12143         * modules/unictype/category-M (License): Likewise.
12144         * modules/unictype/category-none (License): Likewise.
12145         * modules/unictype/category-of (License): Likewise.
12146         * modules/unictype/category-test (License): Likewise.
12147         * modules/unictype/category-test-withtable (License): Likewise.
12148         * modules/unictype/combining-class (License): Likewise.
12149         * modules/unictype/joiningtype-of (License): Likewise.
12150         * modules/unictype/scripts (License): Likewise.
12151         * modules/uninorm/base (License): Likewise.
12152         * modules/uninorm/canonical-decomposition (License): Likewise.
12153         * modules/uninorm/composition (License): Likewise.
12154         * modules/uninorm/decompose-internal (License): Likewise.
12155         * modules/uninorm/decomposition-table (License): Likewise.
12156         * modules/uninorm/nfc (License): Likewise.
12157         * modules/uninorm/nfd (License): Likewise.
12158         * modules/uninorm/u32-normalize (License): Likewise.
12159         * modules/unistr/base (License): Likewise.
12160         * modules/unistr/u32-cpy (License): Likewise.
12161         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
12162         * modules/unistr/u32-to-u8 (License): Likewise.
12163         * modules/unistr/u32-uctomb (License): Likewise.
12164         * modules/unistr/u8-check (License): Likewise.
12165         * modules/unistr/u8-mblen (License): Likewise.
12166         * modules/unistr/u8-mbtouc (License): Likewise.
12167         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
12168         * modules/unistr/u8-mbtoucr (License): Likewise.
12169         * modules/unistr/u8-prev (License): Likewise.
12170         * modules/unistr/u8-strlen (License): Likewise.
12171         * modules/unistr/u8-to-u32 (License): Likewise.
12172         * modules/unistr/u8-uctomb (License): Likewise.
12173         * modules/unitypes (License): Likewise.
12174         Requested by Simon Josefsson.
12175
12176 2011-03-29  Simon Josefsson  <simon@josefsson.org>
12177
12178         lib-symbol-visibility: Add a notice.
12179         * modules/lib-symbol-visibility (Notice): New field.
12180
12181 2011-03-29  Bruno Haible  <bruno@clisp.org>
12182
12183         getaddrinfo: Doc fix.
12184         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
12185         section "fixed in Gnulib".
12186
12187 2011-03-28  Simon Josefsson  <simon@josefsson.org>
12188
12189         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
12190         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
12191
12192 2011-03-26  Bruno Haible  <bruno@clisp.org>
12193
12194         unictype/property-byname: Reduce the number of load-time relocations.
12195         * lib/unictype/pr_byname.c: Include <stdlib.h>.
12196         (UC_PROPERTY_INDEX_*): New enumeration values.
12197         (uc_property_byname): Convert an index from the lookup table to an
12198         uc_property_t.
12199         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
12200         values.
12201
12202 2011-03-26  Bruno Haible  <bruno@clisp.org>
12203
12204         unictype/property-byname: Allow omitted word separators and aliases.
12205         * lib/unictype/pr_byname.gperf: Add property names without word
12206         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
12207         for 'space'.
12208
12209 2011-03-26  Bruno Haible  <bruno@clisp.org>
12210
12211         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
12212         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
12213         also hyphens to space.
12214         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
12215         without spaces.
12216         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
12217
12218 2011-03-26  Bruno Haible  <bruno@clisp.org>
12219
12220         unictype/joiningtype-byname: Recognize long names as well.
12221         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
12222         a long name.
12223         * lib/unictype/joiningtype_byname.c: Include <string.h>,
12224         unictype/joiningtype_byname.h.
12225         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
12226         * lib/unictype/joiningtype_byname.gperf: New file.
12227         * modules/unictype/joiningtype-byname (Files): Add
12228         lib/unictype/joiningtype_byname.gperf.
12229         (Depends-on): Add gperf.
12230         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
12231         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
12232         long names.
12233
12234         Tests for module 'unictype/joiningtype-longname'.
12235         * modules/unictype/joiningtype-longname-tests: New file.
12236         * tests/unictype/test-joiningtype_longname.c: New file.
12237
12238         New module 'unictype/joiningtype-longname'.
12239         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
12240         * lib/unictype/joiningtype_longname.c: New file.
12241         * modules/unictype/joiningtype-longname: New file.
12242         * modules/unictype/joiningtype-all (Depends-on): Add
12243         unictype/joiningtype-longname.
12244
12245 2011-03-26  Bruno Haible  <bruno@clisp.org>
12246
12247         unictype/bidiclass-byname: Recognize long names as well.
12248         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
12249         name.
12250         * lib/unictype/bidi_byname.c: Include <string.h>,
12251         unictype/bidi_byname.h.
12252         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
12253         * lib/unictype/bidi_byname.gperf: New file.
12254         * modules/unictype/bidiclass-byname (Files): Add
12255         lib/unictype/bidi_byname.gperf.
12256         (Depends-on): Add gperf.
12257         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
12258         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
12259         long names.
12260
12261         Tests for module 'unictype/bidiclass-longname'.
12262         * modules/unictype/bidiclass-longname-tests: New file.
12263         * tests/unictype/test-bidi_longname.c: New file.
12264
12265         New module 'unictype/bidiclass-longname'.
12266         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
12267         * lib/unictype/bidi_longname.c: New file.
12268         * modules/unictype/bidiclass-longname: New file.
12269         * modules/unictype/bidiclass-all (Depends-on): Add
12270         unictype/bidiclass-longname.
12271
12272 2011-03-26  Bruno Haible  <bruno@clisp.org>
12273
12274         unictype/bidi*: Rename modules.
12275         * modules/unictype/bidiclass-all: Renamed from
12276         modules/unictype/bidicategory-all.
12277         * modules/unictype/bidiclass-name: Renamed from
12278         modules/unictype/bidiclass-name.
12279         (Description): Update.
12280         * modules/unictype/bidiclass-name-tests: Renamed from
12281         modules/unictype/bidicategory-name-tests.
12282         * modules/unictype/bidiclass-byname: Renamed from
12283         modules/unictype/bidicategory-byname.
12284         (Description): Update.
12285         * modules/unictype/bidiclass-byname-tests: Renamed from
12286         modules/unictype/bidicategory-byname-tests.
12287         * modules/unictype/bidiclass-of: Renamed from
12288         modules/unictype/bidicategory-of.
12289         (Description): Update.
12290         * modules/unictype/bidiclass-of-tests: Renamed from
12291         modules/unictype/bidicategory-of-tests.
12292         * modules/unictype/bidiclass-test: Renamed from
12293         modules/unictype/bidicategory-test.
12294         (Description): Update.
12295         * modules/unictype/bidiclass-test-tests: Renamed from
12296         modules/unictype/bidicategory-test-tests.
12297         * modules/unictype/bidicategory-all: New file, a simple redirection.
12298         * modules/unictype/bidicategory-name: Likewise.
12299         * modules/unictype/bidicategory-byname: Likewise.
12300         * modules/unictype/bidicategory-of: Likewise.
12301         * modules/unictype/bidicategory-test: Likewise.
12302         * modules/unictype/property-bidi-* (Dependencies): Update.
12303         * lib/unictype/bidi_*.c: Update comment.
12304
12305 2011-03-26  Bruno Haible  <bruno@clisp.org>
12306
12307         unictype/bidi*: Rename functions, part 2.
12308         * modules/unictype/bidicategory-name (configure.ac): Update required
12309         libunistring version.
12310         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
12311
12312 2011-03-25  Bruno Haible  <bruno@clisp.org>
12313
12314         New module 'unictype/combining-class-all'.
12315         * modules/unictype/combining-class-all: New file.
12316
12317         Tests for module 'unictype/combining-class-byname'.
12318         * modules/unictype/combining-class-byname-tests: New file.
12319         * tests/unictype/test-combiningclass_byname.c: New file.
12320
12321         New module 'unictype/combining-class-byname'.
12322         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
12323         * lib/unictype/combiningclass_byname.c: New file.
12324         * lib/unictype/combiningclass_byname.gperf: New file.
12325         * modules/unictype/combining-class-byname: New file.
12326
12327         Tests for module 'unictype/combining-class-longname'.
12328         * modules/unictype/combining-class-longname-tests: New file.
12329         * tests/unictype/test-combiningclass_longname.c: New file.
12330
12331         New module 'unictype/combining-class-longname'.
12332         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
12333         * lib/unictype/combiningclass_longname.c: New file.
12334         * modules/unictype/combining-class-longname: New file.
12335
12336         Tests for module 'unictype/combining-class-name'.
12337         * modules/unictype/combining-class-name-tests: New file.
12338         * tests/unictype/test-combiningclass_name.c: New file.
12339
12340         New module 'unictype/combining-class-name'.
12341         * lib/unictype.in.h (uc_combining_class_name): New declaration.
12342         * lib/unictype/combiningclass_name.c: New file.
12343         * modules/unictype/combining-class-name: New file.
12344
12345 2011-03-25  Bruno Haible  <bruno@clisp.org>
12346
12347         unictype/combining-class: Rename source files.
12348         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
12349         of unictype/combining.h.
12350         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
12351         Update.
12352         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
12353         * modules/unictype/combining-class (Description): Fix.
12354         (Files, Makefile.am): Update.
12355         * tests/unictype/test-combiningclass.c: Renamed from
12356         tests/unictype/test-combining.c.
12357         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
12358
12359 2011-03-25  Bruno Haible  <bruno@clisp.org>
12360
12361         unictype: Update list of canonical combining classes.
12362         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
12363
12364 2011-03-25  Bruno Haible  <bruno@clisp.org>
12365
12366         unictype/category-byname: Recognize long names as well.
12367         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
12368         a long name.
12369         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
12370         unictype/categ_byname.h.
12371         (UC_CATEGORY_INDEX_*): New enumeration values.
12372         (uc_general_category_byname): Use uc_general_category_lookup and
12373         convert from index to value.
12374         * lib/unictype/categ_byname.gperf: New file.
12375         * modules/unictype/category-byname (Files): Add
12376         lib/unictype/categ_byname.gperf.
12377         (Depends-on): Add gperf.
12378         (Makefile.am): Add rule for generating unictype/categ_byname.h.
12379         * tests/unictype/test-categ_byname.c (main): Test the recognition of
12380         long names.
12381
12382         Tests for module 'unictype/category-longname'.
12383         * modules/unictype/category-longname-tests: New file.
12384         * tests/unictype/test-categ_longname.c: New file.
12385
12386         New module 'unictype/category-longname'.
12387         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
12388         * lib/unictype/categ_longname.c: New file.
12389         * modules/unictype/category-longname: New file.
12390         * modules/unictype/category-all (Depends-on): Add it.
12391
12392 2011-03-25  Bruno Haible  <bruno@clisp.org>
12393
12394         Tests for module 'unictype/category-LC'.
12395         * modules/unictype/category-LC-tests: New file.
12396         * tests/unictype/test-categ_LC.c: New file, automatically generated.
12397
12398         New module 'unictype/category-LC'.
12399         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
12400         (UC_CATEGORY_LC): New declaration.
12401         (UC_CASED_LETTER): New macro.
12402         * lib/gen-uni-tables.c (is_category_LC): New function.
12403         (output_categories): Also handle category LC.
12404         (UC_CATEGORY_MASK_LC): New enumeration value.
12405         (general_category_byname): Also handle category LC.
12406         * lib/unictype/categ_LC.c: New file.
12407         * lib/unictype/categ_LC.h: New file, automatically generated.
12408         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
12409         category LC.
12410         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
12411         * modules/unictype/category-LC: New file.
12412         * modules/unictype/category-byname (Depends-on): Add
12413         unictype/category-LC.
12414         * modules/unictype/category-all (Depends-on): Likewise.
12415
12416 2011-03-25  Eric Blake  <eblake@redhat.com>
12417
12418         xmalloc: revert yesterday's regression
12419         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
12420         realloc's underlying behavior (allowing allocation of zero-size
12421         objects, especially if malloc-gnu is also in use).
12422
12423 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
12424
12425         maint.mk: add missing version to VC-tag
12426         * top/maint.mk: git tag was missing actual tag name; add it.
12427
12428         valgrind: do leak checking, and exit with code 1 on error (not 0)
12429         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
12430         to VALGRIND.
12431
12432 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
12433
12434         posix-modules: say what it does.
12435         * posix-modules: Add a line to the --help output saying what it does.
12436
12437 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12438
12439         xmalloc: Do not leak if underlying realloc is C99 compatible.
12440         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
12441         This avoids a leak on C99-based systems.  See
12442         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
12443
12444 2011-03-24  Eric Blake  <eblake@redhat.com>
12445
12446         realloc: document portability problem
12447         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
12448         passing 0 size to realloc.
12449
12450 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
12451
12452         doc: update users.txt
12453         * users.txt: Add cvsps, tmpwatch
12454
12455 2011-03-23  Matt Rice  <ratmice@gmail.com>
12456
12457         doc: update users.txt
12458         * users.txt: Add gdb.
12459
12460 2011-03-23  Jim Meyering  <meyering@redhat.com>
12461
12462         doc: update users.txt
12463         Looking through matches up to the following URL (there are still
12464         several more pages), I found several projects that use gnulib:
12465         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
12466         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
12467         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
12468
12469 2011-03-22  Bruno Haible  <bruno@clisp.org>
12470
12471         unictype/bidi*: Rename functions.
12472         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
12473         uc_bidi_class, uc_is_bidi_class): New declarations.
12474         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
12475         uc_bidi_category_byname.
12476         (uc_bidi_category_byname): New function.
12477         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
12478         u_bidi_category_name.
12479         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
12480         (uc_bidi_category_name): New function.
12481         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
12482         uc_bidi_category.
12483         (uc_bidi_category): New function.
12484         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
12485         uc_is_bidi_category. Invoke uc_bidi_class.
12486         (uc_is_bidi_category): New function.
12487         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
12488         instead of uc_bidi_category_byname.
12489         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
12490         instead of uc_bidi_category_name.
12491         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
12492         uc_bidi_category.
12493         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
12494         instead of uc_is_bidi_category.
12495
12496 2011-03-21  Bruno Haible  <bruno@clisp.org>
12497
12498         New module 'unictype/joininggroup-all'.
12499         * modules/unictype/joininggroup-all: New file.
12500
12501         Tests for module 'unictype/joininggroup-of'.
12502         * modules/unictype/joininggroup-of-tests: New file.
12503         * tests/unictype/test-joininggroup_of.c: New file.
12504         * tests/unictype/test-joininggroup_of.h: New file, automatically
12505         generated by gen-uni-tables.
12506
12507         New module 'unictype/joininggroup-of'.
12508         * modules/unictype/joininggroup-of: New file.
12509         * lib/unictype/joininggroup_of.c: New file.
12510         * lib/unictype/joininggroup_of.h: New file, automatically generated by
12511         gen-uni-tables.
12512
12513         Tests for module 'unictype/joininggroup-byname'.
12514         * modules/unictype/joininggroup-byname-tests: New file.
12515         * tests/unictype/test-joininggroup_byname.c: New file.
12516
12517         New module 'unictype/joininggroup-byname'.
12518         * modules/unictype/joininggroup-byname: New file.
12519         * lib/unictype/joininggroup_byname.c: New file.
12520         * lib/unictype/joininggroup_byname.gperf: New file.
12521
12522         Tests for module 'unictype/joininggroup-name'.
12523         * modules/unictype/joininggroup-name-tests: New file.
12524         * tests/unictype/test-joininggroup_name.c: New file.
12525
12526         New module 'unictype/joininggroup-name'.
12527         * modules/unictype/joininggroup-name: New file.
12528         * lib/unictype/joininggroup_name.c: New file.
12529         * lib/unictype/joininggroup_name.h: New file.
12530
12531         New module 'unictype/joiningtype-all'.
12532         * modules/unictype/joiningtype-all: New file.
12533
12534         Tests for module 'unictype/joiningtype-of'.
12535         * modules/unictype/joiningtype-of-tests: New file.
12536         * tests/unictype/test-joiningtype_of.c: New file.
12537         * tests/unictype/test-joiningtype_of.h: New file, automatically
12538         generated by gen-uni-tables.
12539
12540         New module 'unictype/joiningtype-of'.
12541         * modules/unictype/joiningtype-of: New file.
12542         * lib/unictype/joiningtype_of.c: New file.
12543         * lib/unictype/joiningtype_of.h: New file, automatically generated by
12544         gen-uni-tables.
12545
12546         Tests for module 'unictype/joiningtype-byname'.
12547         * modules/unictype/joiningtype-byname-tests: New file.
12548         * tests/unictype/test-joiningtype_byname.c: New file.
12549
12550         New module 'unictype/joiningtype-byname'.
12551         * modules/unictype/joiningtype-byname: New file.
12552         * lib/unictype/joiningtype_byname.c: New file.
12553
12554         Tests for module 'unictype/joiningtype-name'.
12555         * modules/unictype/joiningtype-name-tests: New file.
12556         * tests/unictype/test-joiningtype_name.c: New file.
12557
12558         New module 'unictype/joiningtype-name'.
12559         * modules/unictype/joiningtype-name: New file.
12560         * lib/unictype/joiningtype_name.c: New file.
12561
12562         unictype: Add support for Arabic shaping properties.
12563         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
12564         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
12565         declarations.
12566         (UC_JOINING_GROUP_*): New enumeration values.
12567         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
12568         declarations.
12569         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
12570         (unicode_joining_type): New variable.
12571         (UC_JOINING_GROUP_*): New enumeration values.
12572         (unicode_joining_group): New variable.
12573         (fill_arabicshaping, joining_type_as_c_identifier,
12574         output_joining_type_test, output_joining_type,
12575         joining_group_as_c_identifier, output_joining_group_test,
12576         output_joining_group): New functions.
12577         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
12578         fill_arabicshaping and output_joining_type_test, output_joining_type,
12579         output_joining_group_test, output_joining_group.
12580         Reported by Simon Josefsson.
12581
12582 2011-03-21  Jim Meyering  <meyering@redhat.com>
12583
12584         strftime: fix a bug in yesterday's change
12585         * lib/strftime.c (add): Accommodate width's initial value of -1.
12586         Otherwise, nstrftime would copy uninitialized data into
12587         the result buffer.
12588
12589 2011-03-21  Jim Meyering  <meyering@redhat.com>
12590
12591         tests: add strftime-tests module
12592         * tests/test-strftime.c: New file.
12593         * modules/strftime-tests: New module.
12594
12595 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12596
12597         strftime: don't assume a byte count fits in 'int'
12598         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
12599         found this problem by static analysis, using gcc -Wstrict-overflow
12600         (GCC 4.5.2, x86-64).  This reported an optimization that depended
12601         on an integer overflow having undefined behavior, but it turns out
12602         that the argument is a size, which might not fit in 'int' anyway,
12603
12604 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12605
12606         stdio: don't require ignore_value around fwrite
12607
12608         This patch works around libc bug 11959
12609         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
12610         Without this patch, applications must often write
12611         ignore_value (fwrite (...)) even though the ignore_value is
12612         not helpful here.  It's common to write many objects, using
12613         fwrite/printf/etc., and then use ferror to detect output error.
12614
12615         I considered making this patch optional, but decided against it,
12616         because libc is obviously being inconsistent here: there is no
12617         reason libc should insist that user code must inspect fwrite
12618         return's value without also insisting that it inspect printf's,
12619         putchar's, etc.  If user code wants to have a strict style where
12620         all these functions' values are checked (so that ferror need not
12621         be checked), we could add support for that style in a new gnulib
12622         module, but in the meantime it's better to be consistent and to
12623         support common usage.
12624
12625         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
12626         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
12627         that we are compiling in checking mode, and if not C++, and
12628         if not already wrapping fwrite for some other reason.
12629         (fwrite): #define to rpl_fwrite if the latter is defined.
12630
12631 2011-03-20  Bruno Haible  <bruno@clisp.org>
12632
12633         verror: Fix compilation error introduced on 2011-02-13.
12634         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
12635         instead of __attribute__.
12636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12637
12638 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12639             Bruno Haible  <bruno@clisp.org>
12640
12641         socklen: do not depend on sys_socket
12642         While trying to modify Emacs to use gnulib's socklen module,
12643         I discovered a circular dependency: socklen depends on sys_socket
12644         and vice versa.  Emacs can use socklen, but it does not need
12645         sys_socket because it has its own substitute for sys/socket.h.
12646         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
12647         gl_TYPE_SOCKLEN_T.
12648         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
12649         gl_PREREQ_SYS_H_SOCKET.
12650         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
12651         gl_PREREQ_SYS_H_SOCKET.
12652         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
12653         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
12654         * modules/socklen (Depends-on): Do not depend on sys_socket.
12655         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
12656
12657 2011-03-20  Jim Meyering  <meyering@redhat.com>
12658
12659         maint.mk: sort file names *after* new transformation
12660         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
12661         prefix would have led to an unwarranted failure in GNU parted.
12662         Sort after that transformation.
12663
12664 2011-03-19  Jim Meyering  <meyering@redhat.com>
12665
12666         maint.mk: fix po-file syntax-check rule
12667         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
12668         Patch by Bruno Haible.
12669
12670 2011-03-19  Bruno Haible  <bruno@clisp.org>
12671
12672         socklen: Update comment.
12673         * m4/socklen.m4: Update comment about platforms.
12674
12675 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12676             Bruno Haible  <bruno@clisp.org>
12677
12678         inet_ntop, inet_pton: Simplify.
12679         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
12680         documented to provide socklen_t and we already depend on sys_socket.
12681         * modules/inet_pton (Depends-on): Likewise.
12682         * lib/arpa_inet.in.h: Adjust comment.
12683
12684 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12685             Bruno Haible  <bruno@clisp.org>
12686
12687         netdb: Simplify.
12688         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
12689         documented to provide socklen_t and we already depend on sys_socket.
12690         * lib/netdb.in.h: Adjust comment.
12691
12692 2011-03-19  Bruno Haible  <bruno@clisp.org>
12693
12694         sys_socket, netdb: Document problem with socklen_t.
12695         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
12696         platforms.
12697         * doc/posix-headers/netdb.texi: Likewise.
12698
12699 2011-03-18  Eric Blake  <eblake@redhat.com>
12700
12701         maint.mk: let po check work in VPATH build
12702         * top/maint.mk (po_file): Allow cfg.mk override.
12703         (sc_po_check): Allow VPATH use.
12704         Reported by Jiri Denemark.
12705
12706 2011-03-16  Jim Meyering  <meyering@redhat.com>
12707
12708         maint.mk: allow fine-grained syntax-check exclusion via Make variables
12709         Before, you would have had to create one .x-sc_ file per rule in order
12710         to exempt offending files.  Now, you may instead use a Make variable --
12711         usually defined in cfg.mk -- whose name identifies the affected rule.
12712         * top/maint.mk (_sc_excl): Define.
12713         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
12714         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
12715
12716 2011-03-13  Bruno Haible  <bruno@clisp.org>
12717
12718         ignore-value tests: Avoid warnings.
12719         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
12720         empty for gcc < 3.4.
12721
12722 2011-03-13  Bruno Haible  <bruno@clisp.org>
12723
12724         passfd: Fix link error on Solaris.
12725         * modules/passfd (Description): Correct.
12726         (Depends-on): Add socketlib.
12727         (Link): New section.
12728         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
12729
12730 2011-03-13  Bruno Haible  <bruno@clisp.org>
12731
12732         passfd: Fix link error on AIX 5.2.
12733         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
12734
12735 2011-03-13  Bruno Haible  <bruno@clisp.org>
12736
12737         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
12738         * lib/sys_socket.in.h: Include <stddef.h>.
12739         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
12740         CMSG_FIRSTHDR. Remove unused variable.
12741
12742 2011-03-13  Bruno Haible  <bruno@clisp.org>
12743
12744         passfd: Fix compilation error on OpenBSD.
12745         * lib/passfd.c: Include <sys/uio.h>.
12746
12747 2011-03-13  Bruno Haible  <bruno@clisp.org>
12748
12749         passfd test: Fix warnings.
12750         * tests/test-passfd.c: Include <sys/wait.h>.
12751         (main): Fix typo.
12752
12753 2011-03-13  Bruno Haible  <bruno@clisp.org>
12754
12755         passfd module, part 4, tweaks.
12756         * tests/test-passfd.c: Reorder includes.
12757         (main): Fix perror and printf calls.
12758
12759 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12760
12761         passfd module, part 4.
12762         * modules/passfd-tests: New file.
12763         * tests/test-passfd.c: New file.
12764
12765 2011-03-13  Jim Meyering  <meyering@redhat.com>
12766
12767         Makefile: rely on GNU make; derive syntax-check rule names
12768         Rather than requiring that each sc_ rule be listed as a dependent
12769         of "check", use features of GNU make to derive the list.
12770         * Makefile (syntax-check-rules): Define.
12771         (check): Depend on the new variable, not the hard-coded list.
12772
12773 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
12774             Bruno Haible  <bruno@clisp.org>
12775
12776         passfd module, part 3.
12777         * lib/passfd.h (recvfd): Add a flags argument.
12778         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
12779         (recvfd): Add a flags argument.
12780         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
12781         exists.
12782         * modules/passfd (Depends-on): Add cloexec.
12783         Suggested by Eric Blake.
12784
12785 2011-03-13  Bruno Haible  <bruno@clisp.org>
12786
12787         passfd module, part 2, tweaks.
12788         * modules/passfd (Files): Reorder.
12789         (Depends-on): Remove errno.
12790         (Include): Remove <sys/socket.h>, <sys/un.h>.
12791         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
12792         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
12793         specification header. Include <sys/socket.h> always. Don't include
12794         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
12795         (sendfd): Clarify that it sets errno when it fails.
12796         (recvfd): Fix specification.
12797
12798 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12799
12800         passfd module, part 2.
12801         * modules/passfd: New file.
12802         * lib/passfd.h: New file.
12803         * lib/passfd.c: New file.
12804
12805 2011-03-12  Bruno Haible  <bruno@clisp.org>
12806
12807         wcswidth, mbswidth: Avoid integer overflow.
12808         * lib/wcswidth.c: Include <limits.h>.
12809         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
12810         * lib/mbswidth.c: Include <limits.h>.
12811         (mbsnwidth): Avoid 'int' overflow.
12812         Reported by Jim Meyering.
12813
12814 2011-03-12  Bruno Haible  <bruno@clisp.org>
12815
12816         futimens, utimensat: Avoid endless recursion on Solaris 10.
12817         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
12818         Solaris.
12819         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
12820         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
12821
12822 2011-03-11  Jim Meyering  <meyering@redhat.com>
12823
12824         maint.mk: relax a regexp to accommodate other formatting styles
12825         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
12826         between "ngettext" and the following "(".
12827
12828 2011-03-11  Pádraig Brady <P@draigBrady.com>
12829
12830         maint.mk: suppress a false positive warning
12831         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
12832         diagnostics are marked with ngettext.
12833
12834 2011-03-10  Eric Blake  <eblake@redhat.com>
12835
12836         wchar: add explicit dependencies, for Tru64
12837         * modules/mbmemcasecoll (Depends-on): Add wchar.
12838         * modules/mbtowc (Depends-on): Likewise.
12839         * modules/vasnprintf (Depends-on): Likewise.
12840         * modules/unistdio/u-printf-args (Depends-on): Likewise.
12841         * modules/wctomb (Depends-on): Likewise.
12842         Reported by Peter O'Gorman.
12843
12844 2011-03-08  Bruno Haible  <bruno@clisp.org>
12845
12846         passfd module, part 1, tweaks.
12847         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
12848         Improve indentation. Improve AC_MSG_CHECKING messages.
12849         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
12850         gl_SOCKET_FAMILIES.
12851
12852 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
12853
12854         passfd module, part 1.
12855         * m4/afunix.m4: New file.
12856         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
12857         sockets.
12858
12859 2011-03-08  Bruno Haible  <bruno@clisp.org>
12860
12861         regex-quote: New API.
12862         * lib/regex-quote.h: Include <stdbool.h>.
12863         (struct regex_quote_spec): New type.
12864         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12865         New declarations.
12866         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12867         'const struct regex_quote_spec *' argument.
12868         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
12869         (pcre_special): New constant.
12870         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
12871         New functions.
12872         (regex_quote_length, regex_quote_copy, regex_quote): Take a
12873         'const struct regex_quote_spec *' argument.
12874         * modules/regex-quote (Depends-on): Add stdbool.
12875         * tests/test-regex-quote.c (check): Update for new API. Add test for
12876         anchored results.
12877         * NEWS: Mention the API change.
12878         Reported by Reuben Thomas and Eric Blake.
12879
12880 2011-03-06  Bruno Haible  <bruno@clisp.org>
12881
12882         regex-quote: Fix creation of POSIX extended regular expressions.
12883         * lib/regex-quote.c (ere_special): Add grouping and alternation
12884         operators.
12885
12886 2011-03-05  Bruno Haible  <bruno@clisp.org>
12887
12888         doc: Improve doc regarding autopoint vs. gnulib.
12889         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
12890         disable autopoint while running autoreconf.
12891         Suggested by Ralf Wildenhues.
12892
12893 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12894
12895         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
12896         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
12897
12898 2011-03-03  Bruce Korb  <bkorb@gnu.org>
12899
12900         parse-duration: remove xalloc.h dependency
12901         * lib/parse-duration.c (parse_period): handle NULL return from
12902         strdup instead of calling xstrdup().
12903         * modules/parse-duration: remove "xalloc" dependency
12904
12905 2011-03-03  Matthew Booth  <mbooth@redhat.com>
12906
12907         bootstrap: honor m4_base when running aclocal
12908         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
12909
12910 2011-03-02  Jim Meyering  <meyering@redhat.com>
12911
12912         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
12913         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
12914         on request from Matt Booth.
12915
12916 2011-03-01  Eric Blake  <eblake@redhat.com>
12917
12918         test-link: work on Hurd
12919         * tests/test-link.h (test_link): Hurd rejects linking directories
12920         with EISDIR instead of the POSIX-mandated EPERM.
12921
12922 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
12923
12924         stdio: simplify by moving files to printf-posix, sigpipe
12925         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
12926         since this symbol is needed only if printf is replaced.
12927         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
12928         Require gl_ASM_SYMBOL_PREFIX.
12929         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
12930         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
12931         (Depends-on): Add 'raise'.
12932         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
12933         * modules/stdio (Files): Remove lib/stdio-write.c,
12934         m4/asm-underscore.m4.
12935         (Depends-on): Remove 'raise'.
12936
12937         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
12938         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
12939         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
12940         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
12941
12942 2011-02-28  Bruno Haible  <bruno@clisp.org>
12943
12944         localcharset: Assume ANSI C behaviour of free().
12945         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
12946         calling free().
12947         Suggested by Simon Josefsson <simon@josefsson.org>.
12948
12949 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
12950             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
12951             Bruno Haible  <bruno@clisp.org>  (tiny change)
12952
12953         On Cygwin, use /proc file system instead of win32 API.
12954         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
12955         Win32 file names.
12956         (DllMain): Simplify by removing Cygwin specific code.
12957         (find_shared_library_fullname): Use Linux specific implementation also
12958         for Cygwin.
12959         (get_shared_library_fullname): Update accordingly.
12960         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
12961         Win32 file names.
12962         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
12963         Cygwin specific code.
12964
12965 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
12966             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
12967
12968         Fix OpenMP flag detection for various Fortran compilers.
12969         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
12970         OpenMP-conditional compilation construct, to force compile
12971         failure with missing OpenMP flag.
12972         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
12973
12974 2011-02-25  Eric Blake  <eblake@redhat.com>
12975
12976         strstr: expand test coverage
12977         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
12978         compilation.
12979         * tests/test-memmem.c (main): Duplicate tests.
12980         * tests/test-strcasestr.c (main): Likewise.
12981         * tests/test-c-strcasestr.c (main): Likewise.
12982
12983 2011-02-25  Jim Meyering  <meyering@redhat.com>
12984
12985         maint.mk: detect missing-NL-at-EOF, too
12986         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
12987         it also detects when a file lacks a newline at EOF.
12988         (require_exactly_one_NL_at_EOF_): Renamed from
12989         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
12990         since people may well have .x-sc_... file names tied to the
12991         existing name.  Suggested by Eric Blake.
12992
12993 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
12994
12995         dirname: move m4/dos.m4 functionality into lib/dosname.h
12996
12997         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
12998         extracts symbols from it, puts them into config.h; but it's much
12999         easier to use the symbols directly.  filename.h already does this,
13000         but it disagrees with dos.m4 in some respects.  This patch
13001         introduces a different include file dosname.h that packages up
13002         dos.m4, and then later we can work on merging filename.h and
13003         dosname.h.  Applications that need only the easy-to-configure
13004         symbols should consider including dosname.h rather than dirname.h.
13005         * NEWS: Mention incompatible changes.
13006         * m4/dos.m4: Remove.
13007         * lib/dosname.h, modules/dosname: New files.
13008         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
13009         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
13010         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
13011         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
13012         Include dosname.h, not dirname.h.
13013         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
13014         Include dosname.h, for definitions of symbols like ISSLASH
13015         that used to be in config.h.
13016         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
13017         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13018         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13019         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13020         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
13021         * modules/rmdir (Files): Likewise.
13022         * modules/stat (Files): Likewise.
13023         * modules/unlink (Files): Likewise.
13024         * modules/dirname-lgpl (Depends-on): Add dosname.
13025         * modules/lstat (Depends-on): Likewise.
13026         * modules/openat (Depends-on): Likewise.
13027         * modules/rmdir (Depends-on): Likewise.
13028         * modules/savewd (Depends-on): Likewise.
13029         * modules/stat (Depends-on): Likewise.
13030         * modules/unlink (Depends-on): Likewise.
13031         * modules/openat (Depends-on): Remove dirname-lgpl.
13032         * modules/savewd (Depends-on): Likewise.
13033         * tests/test-dirname.c: Do not use removed symbols like
13034         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
13035         the remaining symbols, e.g., ISSLASH ('\\').
13036
13037 2011-02-25  Eric Blake  <eblake@redhat.com>
13038
13039         strstr: revert patches that introduced bug and pessimization
13040         * lib/str-two-way.h: Add another reference.
13041         (two_way_short_needle, two_way_long_needle): Revert changes from
13042         2011-02-24; they pessimize search speed.
13043         (critical_factorization): Partially revert changes from
13044         2010-06-22; they violate the requirement that the left half of the
13045         needle be smaller than the period of the needle.
13046
13047 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13048
13049         filenamecat: remove unnecessary dependency on dirname-lgpl
13050         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
13051         is no direct dependency, just an indirect one via filenamecat-lgpl.
13052
13053         remove: remove unnecessary use of m4/dos.m4
13054         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
13055         * modules/remove (FILES): Remove m4/dos.m4.
13056
13057         * lib/openat-proc.c: Don't include dirname.h; not needed.
13058
13059         backupfile: remove unnecessary use of m4/dos.m4
13060         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
13061         of its symbols are used by the backupfile code.  backupfile.c does
13062         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
13063         for the rare case of programs that want all their backup file
13064         names to live within 8+3 limits, and dos.m4 doesn't address that.
13065         * modules/backupfile (Files): Remove m4/dos.m4.
13066
13067 2011-02-24  Jim Meyering  <meyering@redhat.com>
13068
13069         strstr: fix a bug whereby strstr would mistakenly return NULL
13070         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
13071         in period calculation.
13072         (two_way_long_needle): Likewise.
13073         The original problem was reported by Mike Stump in
13074         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
13075         Ralf Wildenhues provided the short needle and haystack.
13076         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
13077         Add a more involved test to trigger the bug in two_way_long_needle.
13078
13079 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
13080
13081         gnulib-tool: remove use of bold display in help screen
13082         * gnulib-tool (func_usage): Do not use bold display anymore in the
13083         help screen.  That was just meant to be a temporary emphasis for a
13084         backward-incompatible change.
13085
13086 2011-02-23  Bruno Haible  <bruno@clisp.org>
13087
13088         Fix misindentation of preprocessor directives.
13089         * lib/argp-namefrob.h: Reindent preprocessor directives.
13090         * lib/getopt_int.h (struct _getopt_data): Likewise.
13091         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
13092         * lib/vasnprintf.c (decode_long_double): Likewise.
13093         * tests/test-argmatch.c: Insert blank lines, for clarity.
13094         * tests/test-exclude.c: Likewise.
13095
13096 2011-02-22  Bruno Haible  <bruno@clisp.org>
13097
13098         ioctl: Fix for MacOS X in 64-bit mode.
13099         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
13100         value.
13101         Suggested by Eric Blake.
13102         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
13103
13104 2011-02-22  Jim Meyering  <meyering@redhat.com>
13105
13106         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
13107         * Makefile (sc_cpp_indent_check): Don't limit the check to files
13108         in lib/.
13109
13110 2011-02-22  Eric Blake  <eblake@redhat.com>
13111
13112         maint: avoid any CDPATH issue
13113         * Makefile (sc_cpp_indent_check): Anchor cd argument.
13114
13115         maint: adjust cpp indentation for my modules, as well
13116         * Makefile (sc_cpp_indent_check): Add my name.
13117         * lib/fbufmode.c: Filter through cppi.
13118         * lib/fpurge.c: Likewise.
13119         * lib/freadable.c: Likewise.
13120         * lib/freading.c: Likewise.
13121         * lib/fwritable.c: Likewise.
13122         * lib/fwriting.c: Likewise.
13123         * lib/sigaction.c: Likewise.
13124
13125 2011-02-22  Jim Meyering  <meyering@redhat.com>
13126
13127         maint: adjust cpp indentation to reflect nesting depth
13128         I.e., in a block of code that begins with an unnested "#if",
13129         put one space between the "#" in column 1 and following token.
13130         For example,
13131         -#include <sys/vfs.h>
13132         +# include <sys/vfs.h>
13133         Do this only in .c files that are part of a module I maintain.
13134         * lib/linkat.c: Filter through cppi.
13135         * lib/nanosleep.c: Likewise.
13136         * lib/openat.c: Likewise.
13137         * lib/openat-die.c: Likewise.
13138         * lib/dup3.c: Likewise.
13139         * lib/fchownat.c: Likewise.
13140         * lib/flock.c: Likewise.
13141         * lib/fsync.c: Likewise.
13142         * lib/fts.c: Likewise.
13143         * lib/getpass.c: Likewise.
13144         * lib/gettimeofday.c: Likewise.
13145         * lib/userspec.c: Likewise.
13146         * Makefile (sc_cpp_indent_check): New rule, to check this.
13147
13148 2011-02-22  Bruno Haible  <bruno@clisp.org>
13149
13150         New module 'wctomb'.
13151         * lib/stdlib.in.h (wctomb): New declaration.
13152         * lib/wctomb.c: New file.
13153         * lib/wctomb-impl.h: New file.
13154         * m4/wctomb.m4: New file.
13155         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
13156         REPLACE_WCTOMB.
13157         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
13158         REPLACE_WCTOMB.
13159         * modules/wctomb: New file.
13160         * tests/test-stdlib-c++.cc: Test signature of wctomb.
13161         * doc/posix-functions/wctomb.texi: Mention the new module.
13162         * modules/wctob (Depends-on): Add wctomb.
13163
13164 2011-02-22  Bruno Haible  <bruno@clisp.org>
13165
13166         New module 'mbtowc'.
13167         * lib/stdlib.in.h (mbtowc): New declaration.
13168         * lib/mbtowc.c: New file.
13169         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
13170         * m4/mbtowc.m4: New file.
13171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
13172         REPLACE_MBTOWC.
13173         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
13174         REPLACE_MBTOWC.
13175         * modules/mbtowc: New file.
13176         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
13177         * doc/posix-functions/mbtowc.texi: Mention the new module.
13178         * modules/btowc (Depends-on): Add mbtowc.
13179
13180 2011-02-22  Bruno Haible  <bruno@clisp.org>
13181
13182         wcrtomb: Add more tests for native Windows platforms.
13183         * tests/test-wcrtomb-w32-1.sh: New file.
13184         * tests/test-wcrtomb-w32-2.sh: New file.
13185         * tests/test-wcrtomb-w32-3.sh: New file.
13186         * tests/test-wcrtomb-w32-4.sh: New file.
13187         * tests/test-wcrtomb-w32-5.sh: New file.
13188         * tests/test-wcrtomb-w32.c: New file.
13189         * modules/wcrtomb-tests (Files): Add them.
13190         (Makefile.am): Arrange to run these tests.
13191         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
13192         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
13193
13194 2011-02-20  Bruno Haible  <bruno@clisp.org>
13195
13196         wcrtomb: Enhance test.
13197         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
13198
13199 2011-02-20  Bruno Haible  <bruno@clisp.org>
13200
13201         mbrtowc: Tiny optimization.
13202         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
13203
13204 2011-02-20  Jim Meyering  <meyering@redhat.com>
13205
13206         test-exclude.c: remove unmatched #endif
13207         * tests/test-exclude.c: Remove stray #endif, left over from
13208         the change of a week ago.
13209
13210 2011-02-19  Jim Meyering  <meyering@redhat.com>
13211
13212         git-version-gen: skip "-dirty" check when appropriate
13213         * build-aux/git-version-gen: Don't run any git commands when the
13214         version string comes from .tarball-version.  Prior to this, we
13215         would run git update-index --refresh even from a just-unpacked
13216         tarball directory, and that could affect a .git/ directory in a
13217         parent of the build directory.  Reported by Mike Frysinger.
13218
13219 2011-02-19  Bruno Haible  <bruno@clisp.org>
13220
13221         unictype/property-byname: Reduce the size of the 'data' segment.
13222         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
13223
13224 2011-02-19  Bruno Haible  <bruno@clisp.org>
13225
13226         unictype/scripts: Reduce the size of the 'data' segment.
13227         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
13228         '%pic'.
13229         * lib/unictype/scripts_byname.gperf: Regenerated.
13230
13231 2011-02-19  Bruno Haible  <bruno@clisp.org>
13232
13233         stdint: Update documentation.
13234         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
13235
13236 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13237
13238         stdint: omit redundant check for wchar.h
13239         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
13240         always tests whether wchar.h exists, so remove the now-redundant test.
13241
13242 2011-02-18  Bruno Haible  <bruno@clisp.org>
13243
13244         stdint: Cut dependency to module 'wchar'.
13245         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
13246         include the necessary prerequisites.
13247         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
13248         * modules/stdint (Depends-on): Remove wchar.
13249         (Makefile.am): Substitute HAVE_WCHAR_H.
13250         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
13251
13252 2011-02-18  Eric Blake  <eblake@redhat.com>
13253
13254         longlong: skip, rather than fail, on cross-compilation
13255         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
13256         when cross-compiling; regression from 2011-02-16.
13257
13258 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13259
13260         * NEWS: Mention 2011-02-08 change to stdlib.
13261
13262 2011-02-17  Bruno Haible  <bruno@clisp.org>
13263
13264         getloadavg: Add comments about platforms.
13265         * m4/getloadavg.m4: Add comment.
13266         * lib/getloadavg.c: Likewise.
13267
13268 2011-02-17  Bruno Haible  <bruno@clisp.org>
13269
13270         getloadavg: Fix link error on Solaris 2.6.
13271         * modules/getloadavg (Link): New section.
13272         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
13273         linking test-getloadavg.
13274         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
13275         getloadavg.
13276
13277 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13278
13279         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
13280         It was 'int', but this doesn't match the IRIX 6.5 manual.
13281         Suggested by Bruno Haible in
13282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
13283
13284 2011-02-17  Bruno Haible  <bruno@clisp.org>
13285
13286         havelib: Fix comments.
13287         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
13288         change.
13289
13290 2011-02-17  Bruno Haible  <bruno@clisp.org>
13291
13292         havelib: Update config.rpath.
13293         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
13294
13295 2011-02-17  Bruno Haible  <bruno@clisp.org>
13296
13297         getloadavg test: Add some plausibility checks.
13298         * tests/test-getloadavg.c (check_avg): Print a warning when the value
13299         is improbable.
13300
13301 2011-02-16  Eric Blake  <eblake@redhat.com>
13302
13303         maintainer-makefile: make syntax-check a no-op from tarballs
13304         * top/maint.mk (no-vc-detected): New rule.
13305         (local-checks-available): Use it to avoid hanging if someone tries
13306         'make syntax-check' from a tarball.  Also append to any non-syntax
13307         checks already defined in cfg.mk.
13308
13309 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13310
13311         longlong: tune, particularly for common case of c99
13312
13313         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
13314         or running anything if c99, or if unsigned long long int does not
13315         work.  In either case, we know the answer without further tests.
13316         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
13317         it at most once, and use its results for both long long int and
13318         unsigned long long int.  This is more likely to be efficient in
13319         the common case where the program wants to check for both long
13320         long int and unsigned long long int.
13321         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
13322         since the answer is already known.
13323
13324 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
13325
13326         getloadavg: set errno
13327         * lib/getloadavg.c: Set errno when returning -1.  If no other
13328         error number looks appropriate, set it to ENOSYS if the getloadavg
13329         looks like it can't possibly ever work, ENOTSUP otherwise.
13330         Suggested by Bruno Haible in
13331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
13332
13333         getloadavg: trim unused parts and speed up 'configure'
13334         * NEWS: Document this.
13335         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
13336         always compiled if getloadavg is absent.
13337         Move test code to ...
13338         * tests/test-getloadavg.c: New file, containing previous
13339         contents of test from lib/getloadavg.c.  It also contains
13340         suggestions by Bruno Haible in
13341         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
13342         * modules/getloadavg-tests: New file.
13343         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
13344         Do tests in the same order as they're needed for getloadavg.c.
13345         Omit setgid-related tests that generate symbols KMEM_GROUP,
13346         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
13347         Do only the tests that are needed to see whether the system has
13348         getloadavg, moving the other tests into ...
13349         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
13350         NLIST_NAME_UNION; nobody should be using it.  Do not define
13351         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
13352         relevant, as the user of this module shouldn't care how getloadavg
13353         is implemented.
13354
13355         getloadavg: omit unused var
13356         * lib/getloadavg.c (getloadavg): Omit unused local variable.
13357
13358 2011-02-15  Jim Meyering  <meyering@redhat.com>
13359
13360         doc: update users.txt
13361         * users.txt: Update iwhd's URL.
13362
13363 2011-02-13  Bruno Haible  <bruno@clisp.org>
13364
13365         Consistent macro naming for macros that use GCC __attribute__.
13366         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
13367         _ATTRIBUTE_NONNULL_.
13368         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
13369         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
13370         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
13371         ATTRIBUTE_DEPRECATED.
13372         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
13373         ATTRIBUTE_NORETURN.
13374         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13375         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13376         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13377         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
13378         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
13379         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
13380         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
13381         ATTRIBUTE_SENTINEL.
13382         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
13383         ATTRIBUTE_RETURN_CHECK.
13384         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
13385         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
13386         ATTRIBUTE_NORETURN.
13387         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
13388         Reported by Paul Eggert.
13389
13390 2011-02-13  Bruno Haible  <bruno@clisp.org>
13391
13392         Don't interfere with a program's definition of __attribute__.
13393         * lib/argp.h (__attribute__): Remove definition.
13394         (_GL_ATTRIBUTE_FORMAT): New macro.
13395         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
13396         * lib/argp-fmtstream.h (__attribute__): Remove definition.
13397         (_GL_ATTRIBUTE_FORMAT): New macro.
13398         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
13399         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
13400         GCC 3 or newer.
13401         * lib/error.h (__attribute__): Remove definition.
13402         (_GL_ATTRIBUTE_FORMAT): New macro.
13403         (error, error_at_line): Use it.
13404         * lib/hash.h (__attribute__): Remove definition.
13405         (ATTRIBUTE_WUR): Update definition. Define always.
13406         * lib/openat.h (__attribute__): Remove definition.
13407         (ATTRIBUTE_NORETURN): Update definition. Define always.
13408         * lib/sigpipe-die.h (__attribute__): Remove definition.
13409         (ATTRIBUTE_NORETURN): Update definition. Define always.
13410         * lib/vasnprintf.h (__attribute__): Remove definition.
13411         (_GL_ATTRIBUTE_FORMAT): New macro.
13412         (asnprintf, vasnprintf): Use it.
13413         * lib/xalloc.h (__attribute__): Remove definition.
13414         (ATTRIBUTE_NORETURN): Update definition. Define always.
13415         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
13416         * lib/xmemdup0.h (__attribute__): Remove definition.
13417         (ATTRIBUTE_NORETURN): Update definition. Define always.
13418         * lib/xprintf.h (__attribute__): Remove definition.
13419         (_GL_ATTRIBUTE_FORMAT): New macro.
13420         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
13421         * lib/xstrtol.h (__attribute__): Remove definition.
13422         (ATTRIBUTE_NORETURN): Update definition. Define always.
13423         * lib/xvasprintf.h (__attribute__): Remove definition.
13424         (_GL_ATTRIBUTE_FORMAT): New macro.
13425         (xasprintf, xvasprintf): Use it.
13426         * tests/test-argmatch.c (__attribute__): Remove definition.
13427         (ATTRIBUTE_NORETURN): Update definition. Define always.
13428         * tests/test-exclude.c (__attribute__): Remove definition.
13429         (ATTRIBUTE_NORETURN): Update definition. Define always.
13430         Reported by Paul Eggert.
13431
13432 2011-02-13  Bruno Haible  <bruno@clisp.org>
13433
13434         mbrtowc: Add more tests for native Windows platforms.
13435         * tests/test-mbrtowc-w32-1.sh: New file.
13436         * tests/test-mbrtowc-w32-2.sh: New file.
13437         * tests/test-mbrtowc-w32-3.sh: New file.
13438         * tests/test-mbrtowc-w32-4.sh: New file.
13439         * tests/test-mbrtowc-w32-5.sh: New file.
13440         * tests/test-mbrtowc-w32.c: New file.
13441         * modules/mbrtowc-tests (Files): Add them.
13442         (Makefile.am): Arrange to run these tests.
13443         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
13444         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
13445
13446 2011-02-13  Bruno Haible  <bruno@clisp.org>
13447
13448         mbrtowc: Work around native Windows bug.
13449         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
13450         guess when no suitable locale for testing was found.
13451         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
13452
13453 2011-02-13  Bruno Haible  <bruno@clisp.org>
13454
13455         mbsinit: Work around mingw bug.
13456         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
13457         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
13458         Windows.
13459         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
13460
13461 2011-02-13  Bruno Haible  <bruno@clisp.org>
13462
13463         mbsinit: Don't crash for a NULL argument.
13464         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
13465         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
13466
13467 2011-02-13  Bruno Haible  <bruno@clisp.org>
13468
13469         Don't interfere with a program's definition of __attribute__.
13470         * lib/stdio.in.h (__attribute__): Remove definition.
13471         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
13472         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
13473         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
13474         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
13475         * lib/string.in.h (__attribute__): Remove definition.
13476         Reported by Paul Eggert.
13477
13478 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13479
13480         stdlib: don't get in the way of non-GCC __attribute__
13481         See thread starting at
13482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
13483         Revert previous stdlib change, installing the following instead:
13484         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
13485         to get in the way of a non-GCC compiler that supports __attribute__.
13486         (_GL_ATTRIBUTE_RETURN): New macro.
13487         (_Exit): Use it instead of __attribute__.
13488
13489 2011-02-12  Bruno Haible  <bruno@clisp.org>
13490
13491         quotearg test: Avoid test failure on mingw.
13492         * tests/test-quotearg.sh: Convert the locale identifier from native
13493         Windows syntax to Unix syntax.
13494
13495 2011-02-12  Bruno Haible  <bruno@clisp.org>
13496
13497         setlocale: Prefer gnulib's override over libintl's override.
13498         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
13499         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
13500         GNULIB_defined_setlocale is set.
13501
13502 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
13503
13504         stdlib: support non-GCC __attribute__
13505
13506         Fix a serious and tricky problem encountered when attempting to
13507         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
13508         5.5, but it crashed due to memory corruption on Solaris 10 with
13509         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
13510         bits that are otherwise zero.  This tagging is optional inside
13511         Emacs but is preferred and is used when __attribute__ ((__aligned
13512         (8))) works, as it does with both recent-enough GCC and with Sun C
13513         5.11.  However, Sun C 5.11 is not GCC and does not #define
13514         __GNUC__ and __GNUC_MINOR__.
13515
13516         When I added the getloadavg module to Emacs, it brought in
13517         stdlib.in.h, which contained this fragment:
13518
13519            #ifndef __attribute__
13520            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
13521            #  define __attribute__(Spec)   /* empty */
13522            # endif
13523            #endif
13524
13525         When files that include <stdlib.h> were compiled with Sun C 5.11,
13526         the above code disabled __attribute__ ((__aligned (8))), which
13527         caused variables to not be properly aligned, which eventually led
13528         to the pointer corruption mentioned above.  (This was a bit hard
13529         to diagnose, unfortunately.)
13530
13531         Several "#define __attribute__(X) /* empty */" code snippets need
13532         to be eradicated from Gnulib to work with non-GCC compilers that
13533         support __attribute__.  The Autoconf way to do this is to test for
13534         each kind of attribute that we want support for, and selectively
13535         enable that in source code.
13536
13537         Fix this problem just for stdlib.h, by adding a test for the
13538         __noreturn__ attribute, and change stdlib.in.h to use that test
13539         when needed.  This technique can be easily generalized to the
13540         other *.in.h files and attributes, and a similar technique can be
13541         used for *.h and *.c files.  This patch is enough to solve the
13542         problem for Emacs + getloadavg, and I thought I'd publish it for
13543         feedback before undertaking further, similar fixes in other
13544         modules.
13545
13546         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
13547         because it's not needed for stdlib.h.  It merely substitutes the
13548         value directly into stdlib.h.  We may well need to #define it, or
13549         similar symbols, for other modules, but it's nice to also have an
13550         option to not #define it for applications like Emacs that do not
13551         need it.
13552
13553         * lib/stdlib.in.h (__attribute__): Do not #define.
13554         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
13555         be defined only if the _Exit module is also used.
13556         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
13557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
13558         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
13559         platforms.
13560         * modules/_Exit (Files): Add m4/attribute.m4.
13561         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
13562         * m4/attribute.m4: New file.
13563
13564 2011-02-12  Bruno Haible  <bruno@clisp.org>
13565
13566         wcsrtombs: Work around bug on native Windows.
13567         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
13568         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
13569         instead of len.
13570         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
13571
13572 2011-02-12  Bruno Haible  <bruno@clisp.org>
13573
13574         mbsrtowcs: Work around bug on native Windows.
13575         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
13576         against mingw bug.
13577         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
13578
13579 2011-02-12  Bruno Haible  <bruno@clisp.org>
13580
13581         Avoid setlocale bugs in tests.
13582         * modules/btowc (Dependencies): Add setlocale.
13583         * modules/c-strcase (Dependencies): Likewise.
13584         * modules/mbmemcasecmp (Dependencies): Likewise.
13585         * modules/mbmemcasecoll (Dependencies): Likewise.
13586         * modules/mbrtowc (Dependencies): Likewise.
13587         * modules/mbscasecmp (Dependencies): Likewise.
13588         * modules/mbscasestr (Dependencies): Likewise.
13589         * modules/mbschr (Dependencies): Likewise.
13590         * modules/mbscspn (Dependencies): Likewise.
13591         * modules/mbsinit (Dependencies): Likewise.
13592         * modules/mbsncasecmp (Dependencies): Likewise.
13593         * modules/mbsnrtowcs (Dependencies): Likewise.
13594         * modules/mbspbrk (Dependencies): Likewise.
13595         * modules/mbspcasecmp (Dependencies): Likewise.
13596         * modules/mbsrchr (Dependencies): Likewise.
13597         * modules/mbsrtowcs (Dependencies): Likewise.
13598         * modules/mbsspn (Dependencies): Likewise.
13599         * modules/mbsstr (Dependencies): Likewise.
13600         * modules/nl_langinfo (Dependencies): Likewise.
13601         * modules/quotearg (Dependencies): Likewise.
13602         * modules/unicase/locale-language (Dependencies): Likewise.
13603         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
13604         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
13605         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
13606         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
13607         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
13608         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
13609         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
13610         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
13611         * modules/vasnprintf-posix (Dependencies): Likewise.
13612         * modules/wcrtomb (Dependencies): Likewise.
13613         * modules/wcsnrtombs (Dependencies): Likewise.
13614         * modules/wcsrtombs (Dependencies): Likewise.
13615
13616 2011-02-12  Bruno Haible  <bruno@clisp.org>
13617
13618         setlocale: Workaround native Windows bug.
13619         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
13620         succeeds but sets LC_CTYPE to "C", report a failure.
13621         * tests/test-setlocale2.sh: New file.
13622         * tests/test-setlocale2.c: New file.
13623         * modules/setlocale-tests (Files): Add the new files.
13624         (Makefile.am): Enable test-setlocale2.sh test.
13625         * doc/posix-functions/setlocale.texi: Mention workaround.
13626
13627 2011-02-11  Bruno Haible  <bruno@clisp.org>
13628
13629         Tests for module 'setlocale'.
13630         * modules/setlocale-tests: New file.
13631         * tests/test-setlocale1.sh: New file.
13632         * tests/test-setlocale1.c: New file.
13633
13634         New module 'setlocale'.
13635         * lib/locale.in.h (setlocale): New declaration.
13636         * lib/setlocale.c: New file, based on
13637         gettext/gettext-runtime/intl/setlocale.c.
13638         * m4/setlocale.m4: New file.
13639         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
13640         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
13641         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
13642         REPLACE_SETLOCALE.
13643         * modules/setlocale: New file.
13644         * tests/test-locale-c++.cc: Test the declaration of setlocale.
13645         * doc/posix-functions/setlocale.texi: Mention the new module.
13646
13647 2011-02-11  Bruno Haible  <bruno@clisp.org>
13648
13649         Prepare for locale dependent tests on mingw.
13650         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
13651         because it has the wrong locale encoding.
13652         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
13653         French_France.1252 instead of "fr".
13654         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
13655         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
13656         because it has the wrong locale encoding.
13657         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
13658         native Windows, try Turkish_Turkey.65001.
13659         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
13660         Chinese_China.54936.
13661
13662         Prepare for locale dependent tests on mingw.
13663         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
13664         differently.
13665         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13666         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13667         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13668         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13669
13670 2011-02-11  Eric Blake  <eblake@redhat.com>
13671
13672         strptime: avoid compiler warnings
13673         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
13674         compiler warnings about dead code.
13675         Reported by Daniel P. Berrange.
13676
13677 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
13678
13679         doc: update users.txt
13680         * users.txt: Add rcs.
13681
13682 2011-02-10  John W. Eaton  <jwe@gnu.org>
13683
13684         doc: update users.txt
13685         * users.txt: Add octave.
13686
13687 2011-02-10  Jim Meyering  <meyering@redhat.com>
13688
13689         doc: update users.txt
13690         * users.txt: Add iwhd.
13691
13692 2011-02-09  Bruno Haible  <bruno@clisp.org>
13693
13694         gnulib-tool: Make copyright notice adjustment more robust.
13695         * gnulib-tool (func_import): In sed_transform_main_lib_file,
13696         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
13697         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
13698         License".
13699         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
13700
13701 2011-02-06  Bruno Haible  <bruno@clisp.org>
13702
13703         New module 'towctrans'.
13704         * modules/towctrans: New file.
13705         * lib/wctype.in.h (towctrans): New declaration.
13706         * lib/towctrans.c: New file.
13707         * lib/towctrans-impl.h: New file.
13708         * m4/towctrans.m4: New file.
13709         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
13710         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
13711         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
13712         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13713         * doc/posix-functions/towctrans.texi: Mention the new module.
13714
13715 2011-02-06  Bruno Haible  <bruno@clisp.org>
13716
13717         New module 'wctrans'.
13718         * modules/wctrans: New file.
13719         * lib/wctype.in.h (wctrans): New declaration.
13720         * lib/wctrans.c: New file.
13721         * lib/wctrans-impl.h: New file.
13722         * m4/wctrans.m4: New file.
13723         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
13724         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
13725         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
13726         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
13727         * doc/posix-functions/wctrans.texi: Mention the new module.
13728
13729 2011-02-06  Bruno Haible  <bruno@clisp.org>
13730
13731         New module 'iswctype'.
13732         * modules/iswctype: New file.
13733         * lib/wctype.in.h (iswctype): New declaration.
13734         * lib/iswctype.c: New file.
13735         * lib/iswctype-impl.h: New file.
13736         * m4/iswctype.m4: New file.
13737         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
13738         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
13739         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
13740         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
13741         * doc/posix-functions/iswctype.texi: Mention the new module and the
13742         HP-UX 11.00 problem.
13743
13744 2011-02-06  Bruno Haible  <bruno@clisp.org>
13745
13746         New module 'wctype'.
13747         * modules/wctype: Change to represent the wctype() substitute.
13748         * lib/wctype.in.h (wctype): New declaration.
13749         * lib/wctype.c: New file.
13750         * lib/wctype-impl.h: New file.
13751         * m4/wctype.m4: New file.
13752         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
13753         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
13754         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
13755         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
13756         * doc/posix-functions/wctype.texi: Mention the new module and the
13757         HP-UX 11.00 problem.
13758
13759 2011-02-06  Bruno Haible  <bruno@clisp.org>
13760
13761         wctype-h: Ensure wctype_t and wctrans_t are defined.
13762         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
13763         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13764         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
13765         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
13766         HAVE_WCTRANS_T.
13767         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
13768
13769 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
13770
13771         flock: fix license typo
13772
13773         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
13774         omitted.
13775
13776 2011-02-08  Bruno Haible  <bruno@clisp.org>
13777
13778         Split large sed scripts, for HP-UX sed.
13779         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
13780         to avoid HP-UX limit of 99 commands, in the near future.
13781         * modules/stdlib (Makefile.am): Likewise.
13782         * modules/unistd (Makefile.am): Likewise.
13783         * modules/wchar (Makefile.am): Likewise.
13784         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13785         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
13786         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
13787
13788 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13789             Bruno Haible  <bruno@clisp.org>
13790
13791         stdlib: improve random_r modularization
13792         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
13793         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
13794         you also need the random_r module to get this material right.
13795         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
13796         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
13797         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
13798
13799 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
13800
13801         stdlib: don't depend on stdint
13802         * lib/stdlib.in.h: Don't include <stdint.h> merely because
13803         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
13804         be independent of whether stdint.h is needed.
13805         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
13806         here, instead of ...
13807         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
13808         struct random_data should be using the random_r module, not just
13809         the stdlib module (which wouldn't make sense: what package needs
13810         just struct random_data without also needing random_r?).
13811         * modules/stdlib (Depends-on): Remove stdint.
13812
13813         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
13814         See the thread rooted at
13815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
13816         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
13817         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
13818         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
13819         __VMS)); previously it was always included (via fcntl--.h).
13820         (getloadavg): Do not use c_strtod.  Instead, approximate it by
13821         hand; this is good enough for load averages.  Also, do not use
13822         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
13823         flags directly if available and don't bother otherwise.  (Packages
13824         that need the extra reliability should use the modules that define
13825         these flags on older platforms that lack them.)
13826         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
13827         fcntl-safer.
13828
13829 2011-02-08  Jim Meyering  <meyering@redhat.com>
13830
13831         di-set.h, ino-map.h: add multiple-inclusion guard
13832         Technically, the guard is required only for ino-map.h, due to its
13833         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
13834         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
13835         * lib/ino-map.h: Likewise.
13836
13837 2011-02-06  Bruno Haible  <bruno@clisp.org>
13838
13839         iswblank: Ensure declaration on glibc systems.
13840         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
13841         * modules/iswblank (Dependencies): Add 'extensions'.
13842         * doc/posix-functions/iswblank.texi: Document the glibc problem.
13843
13844 2011-02-06  Bruno Haible  <bruno@clisp.org>
13845
13846         New module 'iswblank'.
13847         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
13848         * modules/iswblank: New file.
13849         * modules/wctype-h (Files): Remove lib/iswblank.c.
13850         (Makefile.am): Substitute GNULIB_ISWBLANK.
13851         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
13852         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
13853         (gl_WCTYPE_H_DEFAULTS): New macro.
13854         (gl_WCTYPE_H): Require it. Remove iswblank related code.
13855         * modules/iswblank-tests: New file.
13856         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
13857         * tests/test-wctype-h.c (main): Remove iswblank tests.
13858         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
13859         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
13860         of 'wctype-h'.
13861         * NEWS: Mention the change.
13862         * modules/mbchar (Depends-on): Add iswblank.
13863
13864 2011-02-08  Bruno Haible  <bruno@clisp.org>
13865
13866         di-set tests: Refactor.
13867         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
13868         unnecessary includes.
13869         (ASSERT): Remove macro.
13870         (main): Make C90 compliant by avoiding variable declaration after
13871         statement.
13872         * modules/di-set-tests (Files): Add tests/macros.h.
13873
13874 2011-02-08  Bruno Haible  <bruno@clisp.org>
13875
13876         ino-map tests: Refactor.
13877         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
13878         unnecessary includes.
13879         (ASSERT): Remove macro.
13880         (main): Make C90 compliant by avoiding variable declaration after
13881         statement.
13882         * modules/ino-map-tests (Files): Add tests/macros.h.
13883
13884 2011-02-08  Jim Meyering  <meyering@redhat.com>
13885
13886         di-set: add "const" to a cast
13887         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
13888         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
13889
13890 2011-02-06  Bruno Haible  <bruno@clisp.org>
13891
13892         Rename module 'wctype' to 'wctype-h'.
13893         * modules/wctype-h: Renamed from modules/wctype.
13894         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
13895         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
13896         (Files, Depends-on, Makefile.am): Update.
13897         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
13898         (Files, Makefile.am): Update.
13899         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
13900         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
13901         * doc/posix-headers/wctype.texi: Update.
13902         * doc/posix-functions/iswalnum.texi: Update.
13903         * doc/posix-functions/iswalpha.texi: Update.
13904         * doc/posix-functions/iswblank.texi: Update.
13905         * doc/posix-functions/iswcntrl.texi: Update.
13906         * doc/posix-functions/iswdigit.texi: Update.
13907         * doc/posix-functions/iswgraph.texi: Update.
13908         * doc/posix-functions/iswlower.texi: Update.
13909         * doc/posix-functions/iswprint.texi: Update.
13910         * doc/posix-functions/iswpunct.texi: Update.
13911         * doc/posix-functions/iswspace.texi: Update.
13912         * doc/posix-functions/iswupper.texi: Update.
13913         * doc/posix-functions/iswxdigit.texi: Update.
13914         * doc/posix-functions/towlower.texi: Update.
13915         * doc/posix-functions/towupper.texi: Update.
13916         * NEWS: Mention the change.
13917         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
13918         * modules/mbchar (Dependencies): Likewise.
13919         * modules/mbswidth (Dependencies): Likewise.
13920         * modules/quotearg (Dependencies): Likewise.
13921         * modules/regex (Dependencies): Likewise.
13922         * modules/wcscasecmp (Dependencies): Likewise.
13923         * modules/wcsncasecmp (Dependencies): Likewise.
13924         * modules/wcwidth (Dependencies): Likewise.
13925
13926 2011-02-06  Bruno Haible  <bruno@clisp.org>
13927
13928         New module 'wcswidth'.
13929         * modules/wcswidth: New file.
13930         * lib/wchar.in.h (wcswidth): New declaration.
13931         * lib/wcswidth.c: New file.
13932         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
13933         * m4/wcswidth.m4: New file.
13934         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
13935         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
13936         REPLACE_WCSWIDTH.
13937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
13938         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
13939         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
13940         * doc/posix-functions/wcswidth.texi: Mention the new module.
13941
13942 2011-02-06  Bruno Haible  <bruno@clisp.org>
13943
13944         New module 'wcstok'.
13945         * modules/wcstok: New file.
13946         * lib/wchar.in.h (wcstok): New declaration.
13947         * lib/wcstok.c: New file.
13948         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
13949         * m4/wcstok.m4: New file.
13950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
13951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
13952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
13953         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
13954         * doc/posix-functions/wcstok.texi: Mention the new module.
13955
13956 2011-02-06  Bruno Haible  <bruno@clisp.org>
13957
13958         New module 'wcsstr'.
13959         * modules/wcsstr: New file.
13960         * lib/wchar.in.h (wcsstr): New declaration.
13961         * lib/wcsstr.c: New file.
13962         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
13963         * m4/wcsstr.m4: New file.
13964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
13965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
13966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
13967         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
13968         * doc/posix-functions/wcsstr.texi: Mention the new module.
13969
13970 2011-02-06  Bruno Haible  <bruno@clisp.org>
13971
13972         New module 'wcspbrk'.
13973         * modules/wcspbrk: New file.
13974         * lib/wchar.in.h (wcspbrk): New declaration.
13975         * lib/wcspbrk.c: New file.
13976         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
13977         * m4/wcspbrk.m4: New file.
13978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
13979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
13980         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
13981         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
13982         * doc/posix-functions/wcspbrk.texi: Mention the new module.
13983
13984 2011-02-06  Bruno Haible  <bruno@clisp.org>
13985
13986         New module 'wcsspn'.
13987         * modules/wcsspn: New file.
13988         * lib/wchar.in.h (wcsspn): New declaration.
13989         * lib/wcsspn.c: New file.
13990         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
13991         * m4/wcsspn.m4: New file.
13992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
13993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
13994         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
13995         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
13996         * doc/posix-functions/wcsspn.texi: Mention the new module.
13997
13998 2011-02-06  Bruno Haible  <bruno@clisp.org>
13999
14000         New module 'wcscspn'.
14001         * modules/wcscspn: New file.
14002         * lib/wchar.in.h (wcscspn): New declaration.
14003         * lib/wcscspn.c: New file.
14004         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
14005         * m4/wcscspn.m4: New file.
14006         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
14007         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
14008         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
14009         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
14010         * doc/posix-functions/wcscspn.texi: Mention the new module.
14011
14012 2011-02-06  Bruno Haible  <bruno@clisp.org>
14013
14014         New module 'wcsrchr'.
14015         * modules/wcsrchr: New file.
14016         * lib/wchar.in.h (wcsrchr): New declaration.
14017         * lib/wcsrchr.c: New file.
14018         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
14019         * m4/wcsrchr.m4: New file.
14020         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
14021         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
14022         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
14023         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
14024         * doc/posix-functions/wcsrchr.texi: Mention the new module.
14025
14026 2011-02-06  Bruno Haible  <bruno@clisp.org>
14027
14028         New module 'wcschr'.
14029         * modules/wcschr: New file.
14030         * lib/wchar.in.h (wcschr): New declaration.
14031         * lib/wcschr.c: New file.
14032         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
14033         * m4/wcschr.m4: New file.
14034         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
14035         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
14036         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
14037         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
14038         * doc/posix-functions/wcschr.texi: Mention the new module.
14039
14040 2011-02-06  Bruno Haible  <bruno@clisp.org>
14041
14042         New module 'wcsdup'.
14043         * modules/wcsdup: New file.
14044         * lib/wchar.in.h (wcsdup): New declaration.
14045         * lib/wcsdup.c: New file.
14046         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
14047         * m4/wcsdup.m4: New file.
14048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
14049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
14050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
14051         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
14052         * doc/posix-functions/wcsdup.texi: Mention the new module.
14053
14054 2011-02-06  Bruno Haible  <bruno@clisp.org>
14055
14056         New module 'wcsxfrm'.
14057         * modules/wcsxfrm: New file.
14058         * lib/wchar.in.h (wcsxfrm): New declaration.
14059         * lib/wcsxfrm.c: New file.
14060         * lib/wcsxfrm-impl.h: New file.
14061         * m4/wcsxfrm.m4: New file.
14062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
14063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
14064         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
14065         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
14066         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
14067
14068 2011-02-06  Bruno Haible  <bruno@clisp.org>
14069
14070         New module 'wcscoll'.
14071         * modules/wcscoll: New file.
14072         * lib/wchar.in.h (wcscoll): New declaration.
14073         * lib/wcscoll.c: New file.
14074         * lib/wcscoll-impl.h: New file.
14075         * m4/wcscoll.m4: New file.
14076         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
14077         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
14078         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
14079         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
14080         * doc/posix-functions/wcscoll.texi: Mention the new module.
14081
14082 2011-02-06  Bruno Haible  <bruno@clisp.org>
14083
14084         New module 'wcsncasecmp'.
14085         * modules/wcsncasecmp: New file.
14086         * lib/wchar.in.h (wcsncasecmp): New declaration.
14087         * lib/wcsncasecmp.c: New file.
14088         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
14089         * m4/wcsncasecmp.m4: New file.
14090         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
14091         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
14092         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
14093         HAVE_WCSNCASECMP.
14094         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
14095         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
14096
14097 2011-02-06  Bruno Haible  <bruno@clisp.org>
14098
14099         New module 'wcscasecmp'.
14100         * modules/wcscasecmp: New file.
14101         * lib/wchar.in.h (wcscasecmp): New declaration.
14102         * lib/wcscasecmp.c: New file.
14103         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
14104         * m4/wcscasecmp.m4: New file.
14105         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
14106         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
14107         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
14108         HAVE_WCSCASECMP.
14109         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
14110         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
14111
14112 2011-02-05  Bruno Haible  <bruno@clisp.org>
14113
14114         New module 'wcsncmp'.
14115         * modules/wcsncmp: New file.
14116         * lib/wchar.in.h (wcsncmp): New declaration.
14117         * lib/wcsncmp.c: New file.
14118         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
14119         * m4/wcsncmp.m4: New file.
14120         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
14121         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
14122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
14123         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
14124         * doc/posix-functions/wcsncmp.texi: Mention the new module.
14125
14126 2011-02-05  Bruno Haible  <bruno@clisp.org>
14127
14128         New module 'wcscmp'.
14129         * modules/wcscmp: New file.
14130         * lib/wchar.in.h (wcscmp): New declaration.
14131         * lib/wcscmp.c: New file.
14132         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
14133         * m4/wcscmp.m4: New file.
14134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
14135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
14136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
14137         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
14138         * doc/posix-functions/wcscmp.texi: Mention the new module.
14139
14140 2011-02-05  Bruno Haible  <bruno@clisp.org>
14141
14142         New module 'wcsncat'.
14143         * modules/wcsncat: New file.
14144         * lib/wchar.in.h (wcsncat): New declaration.
14145         * lib/wcsncat.c: New file.
14146         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
14147         * m4/wcsncat.m4: New file.
14148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
14149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
14150         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
14151         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
14152         * doc/posix-functions/wcsncat.texi: Mention the new module.
14153
14154 2011-02-05  Bruno Haible  <bruno@clisp.org>
14155
14156         New module 'wcscat'.
14157         * modules/wcscat: New file.
14158         * lib/wchar.in.h (wcscat): New declaration.
14159         * lib/wcscat.c: New file.
14160         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
14161         * m4/wcscat.m4: New file.
14162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
14163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
14164         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
14165         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
14166         * doc/posix-functions/wcscat.texi: Mention the new module.
14167
14168 2011-02-05  Bruno Haible  <bruno@clisp.org>
14169
14170         New module 'wcpncpy'.
14171         * modules/wcpncpy: New file.
14172         * lib/wchar.in.h (wcpncpy): New declaration.
14173         * lib/wcpncpy.c: New file.
14174         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
14175         * m4/wcpncpy.m4: New file.
14176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
14177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
14178         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
14179         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
14180         * doc/posix-functions/wcpncpy.texi: Mention the new module.
14181
14182 2011-02-05  Bruno Haible  <bruno@clisp.org>
14183
14184         New module 'wcsncpy'.
14185         * modules/wcsncpy: New file.
14186         * lib/wchar.in.h (wcsncpy): New declaration.
14187         * lib/wcsncpy.c: New file.
14188         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
14189         * m4/wcsncpy.m4: New file.
14190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
14191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
14192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
14193         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
14194         * doc/posix-functions/wcsncpy.texi: Mention the new module.
14195
14196 2011-02-05  Bruno Haible  <bruno@clisp.org>
14197
14198         New module 'wcpcpy'.
14199         * modules/wcpcpy: New file.
14200         * lib/wchar.in.h (wcpcpy): New declaration.
14201         * lib/wcpcpy.c: New file.
14202         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
14203         * m4/wcpcpy.m4: New file.
14204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
14205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
14206         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
14207         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
14208         * doc/posix-functions/wcpcpy.texi: Mention the new module.
14209
14210 2011-02-05  Bruno Haible  <bruno@clisp.org>
14211
14212         New module 'wcscpy'.
14213         * modules/wcscpy: New file.
14214         * lib/wchar.in.h (wcscpy): New declaration.
14215         * lib/wcscpy.c: New file.
14216         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
14217         * m4/wcscpy.m4: New file.
14218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
14219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
14220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
14221         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
14222         * doc/posix-functions/wcscpy.texi: Mention the new module.
14223
14224 2011-02-05  Bruno Haible  <bruno@clisp.org>
14225
14226         New module 'wcsnlen'.
14227         * modules/wcsnlen: New file.
14228         * lib/wchar.in.h (wcsnlen): New declaration.
14229         * lib/wcsnlen.c: New file.
14230         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
14231         * m4/wcsnlen.m4: New file.
14232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
14233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
14234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
14235         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
14236         * doc/posix-functions/wcsnlen.texi: Mention the new module.
14237
14238 2011-02-05  Bruno Haible  <bruno@clisp.org>
14239
14240         New module 'wcslen'.
14241         * modules/wcslen: New file.
14242         * lib/wchar.in.h (wcslen): New declaration.
14243         * lib/wcslen.c: New file.
14244         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
14245         * m4/wcslen.m4: New file.
14246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
14247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
14248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
14249         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
14250         * doc/posix-functions/wcslen.texi: Mention the new module.
14251
14252 2011-02-05  Bruno Haible  <bruno@clisp.org>
14253
14254         New module 'wmemset'.
14255         * modules/wmemset: New file.
14256         * lib/wchar.in.h (wmemset): New declaration.
14257         * lib/wmemset.c: New file.
14258         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
14259         * m4/wmemset.m4: New file.
14260         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
14261         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
14262         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
14263         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
14264         * doc/posix-functions/wmemset.texi: Mention the new module.
14265
14266 2011-02-05  Bruno Haible  <bruno@clisp.org>
14267
14268         New module 'wmemmove'.
14269         * modules/wmemmove: New file.
14270         * lib/wchar.in.h (wmemmove): New declaration.
14271         * lib/wmemmove.c: New file.
14272         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
14273         * m4/wmemmove.m4: New file.
14274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
14275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
14276         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
14277         HAVE_WMEMMOVE.
14278         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
14279         * doc/posix-functions/wmemmove.texi: Mention the new module.
14280
14281 2011-02-05  Bruno Haible  <bruno@clisp.org>
14282
14283         New module 'wmemcpy'.
14284         * modules/wmemcpy: New file.
14285         * lib/wchar.in.h (wmemcpy): New declaration.
14286         * lib/wmemcpy.c: New file.
14287         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
14288         * m4/wmemcpy.m4: New file.
14289         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
14290         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
14291         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
14292         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
14293         * doc/posix-functions/wmemcpy.texi: Mention the new module.
14294
14295 2011-02-05  Bruno Haible  <bruno@clisp.org>
14296
14297         New module 'wmemcmp'.
14298         * modules/wmemcmp: New file.
14299         * lib/wchar.in.h (wmemcmp): New declaration.
14300         * lib/wmemcmp.c: New file.
14301         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
14302         * m4/wmemcmp.m4: New file.
14303         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
14304         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
14305         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
14306         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
14307         * doc/posix-functions/wmemcmp.texi: Mention the new module.
14308
14309 2011-02-07  Jim Meyering  <meyering@redhat.com>
14310
14311         di-set, ino-map: new modules, from coreutils
14312         * lib/di-set.c: New file.
14313         * lib/di-set.h: Likewise.
14314         * lib/ino-map.c: Likewise.
14315         * lib/ino-map.h: Likewise.
14316         * modules/di-set: Likewise.
14317         * modules/di-set-tests: Likewise.
14318         * modules/ino-map: Likewise.
14319         * modules/ino-map-tests: Likewise.
14320         * tests/test-di-set.c: Likewise.
14321         * tests/test-ino-map.c: Likewise.
14322
14323 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14324
14325         getloadavg: merge minor changes from Emacs
14326
14327         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
14328         (getloadavg): Use memset, not bzero.
14329
14330         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
14331         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
14332         clash (bug#86).
14333
14334 2010-11-14  Bruno Haible  <bruno@clisp.org>
14335
14336         Allow multiple gnulib generated replacements to coexist.
14337         * lib/getopt.in.h (struct option): Avoid identical redefinition.
14338         * lib/inttypes.in.h (imaxdiv_t): Likewise.
14339         * lib/langinfo.in.h (nl_item): Likewise.
14340         * lib/math.in.h (_NaN, NAN): Likewise.
14341         * lib/netdb.in.h (struct addrinfo): Likewise.
14342         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
14343         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
14344         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
14345         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
14346         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
14347         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
14348         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
14349         pthread_mutexattr_init, pthread_mutexattr_settype,
14350         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
14351         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
14352         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
14353         pthread_spin_trylock, pthread_spin_unlock): Likewise.
14354         * lib/sched.in.h (struct sched_param): Likewise.
14355         * lib/se-selinux.in.h (security_class_t, security_context_t,
14356         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
14357         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
14358         lsetfilecon, fsetfilecon, security_check_context,
14359         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
14360         Likewise.
14361         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
14362         Likewise.
14363         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
14364         _gl_function_taking_int_returning_void_t, union sigval,
14365         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
14366         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
14367         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14368         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
14369         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
14370         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
14371         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
14372         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
14373         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
14374         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
14375         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
14376         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
14377         socklen_t, rpl_fd_isset): Likewise.
14378         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
14379         * lib/sys_time.in.h (struct timeval): Likewise.
14380         * lib/sys_times.in.h (struct tms): Likewise.
14381         * lib/sys_utsname.in.h (struct utsname):
14382         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
14383         * lib/unistd.in.h (getpagesize): Likewise.
14384         * lib/wchar.in.h (mbstate_t): Likewise.
14385         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
14386         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
14387         towlower, towupper): Likewise.
14388         Reported by Sam Steingold <sds@gnu.org>.
14389
14390 2011-02-05  Eric Blake  <eblake@redhat.com>
14391
14392         unsetenv: work around Haiku issues
14393         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
14394         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
14395
14396 2010-12-30  Bruce Korb  <bkorb@gnu.org>
14397
14398         libposix: avoid calling error() within libposix
14399         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
14400         is defined.
14401
14402 2011-02-05  Eric Blake  <eblake@redhat.com>
14403
14404         strerror_r-posix: port to cygwin
14405         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
14406         implementation.
14407         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
14408         * tests/test-strerror_r.c (main): Fix test.
14409         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14410         issue.
14411
14412 2011-02-05  Bruno Haible  <bruno@clisp.org>
14413
14414         New module 'wmemchr'.
14415         * modules/wmemchr: New file.
14416         * lib/wchar.in.h (wmemchr): New declaration.
14417         * lib/wmemchr.c: New file.
14418         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
14419         * m4/wmemchr.m4: New file.
14420         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
14421         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
14422         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
14423         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
14424         * doc/posix-functions/wmemchr.texi: Mention the new module.
14425
14426 2011-02-04  Eric Blake  <eblake@redhat.com>
14427
14428         fdopendir: detect FreeBSD bug
14429         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
14430         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
14431
14432 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         stdbool: do not define HAVE_STDBOOL_H
14435         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
14436         AC_HEADER_STDBOOL.  All uses changed.  Do not define
14437         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
14438         imported from the latest Autoconf git.  It was motivated by Emacs,
14439         which uses gnulib but does not need HAVE_STDBOOL_H.
14440
14441 2011-02-04  Bruno Haible  <bruno@clisp.org>
14442
14443         wcsnrtombs: Prepare for new module wwcsnrtombs.
14444         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
14445         * lib/wcsnrtombs.c: Include it.
14446         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
14447
14448         wcsrtombs: Prepare for new module wwcsrtombs.
14449         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
14450         * lib/wcsrtombs.c: Include it.
14451         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
14452
14453         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
14454         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
14455         * lib/mbsnrtowcs.c: Include it.
14456         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
14457
14458         mbsrtowcs: Prepare for new module mbsrtowwcs.
14459         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
14460         * lib/mbsrtowcs.c: Include it.
14461         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
14462
14463 2011-02-04  Bruno Haible  <bruno@clisp.org>
14464
14465         vasnprintf: Reduce use of malloc for small format strings.
14466         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
14467         (arguments): Add room for the first 7 arguments.
14468         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
14469         (char_directives, u8_directives, u16_directives, u32_directives): Add
14470         room for the first 7 directives.
14471         * lib/printf-parse.c: Include <string.h>.
14472         (PRINTF_PARSE): Change memory handling code so that it uses the first
14473         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
14474         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
14475         Reported by Pádraig Brady <P@draigbrady.com>.
14476
14477 2011-01-31  Eric Blake  <eblake@redhat.com>
14478
14479         dup2: work around Haiku bug
14480         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
14481         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
14482         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14483         * tests/test-dup2.c (main): Enhance test.
14484
14485 2011-01-31  Simon Josefsson  <simon@josefsson.org>
14486
14487         doc: off_t is not available in eglibc 2.11.2 stdio.h.
14488         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
14489         declared by eglibc 2.11.2.
14490         * lib/stdio.in.h: Likewise.
14491
14492 2011-01-31  Eric Blake  <eblake@redhat.com>
14493
14494         ignore-value: add missing test dependency
14495         * tests/test-ignore-value.c: Revert previous change; stdio.h
14496         provides off_t.
14497         * modules/ignore-value-tests (Depends-on): Add missing dependency.
14498
14499 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14500
14501         mktime: clarify long_int width checking
14502         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
14503         the top level, to make it clearer that the assumption about
14504         long_int width is being checked.  See
14505         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
14506
14507 2011-01-30  Simon Josefsson  <simon@josefsson.org>
14508
14509         ignore-value: Fix self-test.
14510         * tests/test-ignore-value.c: Include sys/types.h for off_t.
14511
14512 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14513
14514         TYPE_MAXIMUM: avoid theoretically undefined behavior
14515         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
14516         negative number, which the C Standard says has undefined behavior.
14517         In practice this is not a problem, but might as well do it by the book.
14518         Reported by Rich Felker and Eric Blake; see
14519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
14520         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
14521         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14523         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
14524         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14525         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
14526
14527         mktime: #undef mktime before #defining it
14528         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
14529
14530         mktime: systematically normalize tm_isdst comparisons
14531         * lib/mktime.c (isdst_differ): New function.
14532         (__mktime_internal): Use it systematically for all isdst comparisons.
14533         This completes the fix for libc BZ #6723, and removes the need for
14534         normalizing tm_isdst.  See
14535         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
14536         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
14537
14538         mktime: fix some integer overflow issues and sidestep the rest
14539
14540         This was prompted by a bug report by Benjamin Lindner for MinGW
14541         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
14542         His bug is due to signed integer overflow (0 - INT_MIN), and I
14543         I scanned through mktime.c looking for other integer overflow
14544         problems, fixing all the bugs I found.
14545
14546         Although the C Standard says the resulting code is still not safe
14547         in the presence of integer overflow, in practice it should be good
14548         enough for all real-world two's-complement implementations, except
14549         for debugging environments that deliberately trap on integer
14550         overflow (e.g., gcc -ftrapv).
14551
14552         * lib/mktime.c (WRAPV): New macro.
14553         (SHR): Also check that long_int and time_t shift right in the
14554         usual way, before using the fast-but-unportable method.
14555         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
14556         used.  The code already assumed two's complement, so there's
14557         no need to test for alternatives.  All uses removed.
14558         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
14559         the C standard.  Problem reported by Rich Felker in
14560         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
14561         (twos_complement_arithmetic): Also check long_int and time_t.
14562         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
14563         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
14564         (__mktime_internal): Avoid integer overflow with unary subtraction
14565         in two instances where -1 - X is an adequate replacement for -X,
14566         since the calculations are approximate.
14567
14568 2011-01-29  Eric Blake  <eblake@redhat.com>
14569
14570         mktime: avoid infinite loop
14571         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
14572         type; behavior is still undefined but portable to all known targets.
14573         Reported by Rich Felker.
14574
14575 2011-01-29  Simon Josefsson  <simon@josefsson.org>
14576
14577         rename, unlink, same-inode: Relicense.
14578         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
14579         * modules/unlink (License): Likewise.
14580         * modules/same-inode (License): Likewise.
14581
14582 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14583
14584         mktime: avoid problems on NetBSD 5 / i386
14585         * lib/mktime.c (long_int): New type.  This works around a problem
14586         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
14587         but time_t is 64 bits, and where I expect the existing code is
14588         wrong in some cases.
14589         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
14590         (ydhms_diff): Bring back the compile-time check for wide-enough
14591         year and yday.
14592
14593         mktime: fix misspelling in comment
14594         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
14595         This merges all recent glibc changes of importance.
14596
14597 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14598
14599         move-if-change: cope with concurrent mv of identical file.
14600         * build-aux/move-if-change (CMPPROG): Accept environment
14601         variable as an override for `cmp'.
14602         (usage): Document CMPPROG.
14603         Adjust comparison to drop stdout.  Cope with failure of mv if
14604         the target file exists and is identical to the source, for
14605         parallel builds.
14606         Report from H.J. Lu against binutils in PR binutils/12283.
14607
14608 2011-01-28  Bruce Korb  <bkorb@gnu.org>
14609
14610         * users.txt: Mention sharutils.
14611
14612 2011-01-28  Simon Josefsson  <simon@josefsson.org>
14613
14614         * users.txt: Mention OATH Toolkit.
14615
14616 2011-01-27  Bruno Haible  <bruno@clisp.org>
14617
14618         Prepare for supporting FreeBSD 10.
14619         * build-aux/config.libpath: Remove handling of freebsd1*.
14620
14621 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
14622
14623         Prepare for supporting FreeBSD 10.
14624         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
14625         match FreeBSD 10.0.
14626
14627 2011-01-27  Bruno Haible  <bruno@clisp.org>
14628
14629         vma-iter, get-rusage-as: Add OpenBSD support.
14630         * modules/vma-iter (configure.ac): Test for mquery.
14631         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
14632         * lib/vma-iter.c: Include <sys/mman.h>.
14633         (vma_iterate): Add an implementation based on mquery().
14634         * lib/resource-ext.h (get_rusage_as): Update comments.
14635         * lib/get-rusage-as.c: Likewise.
14636         * lib/get-rusage-data.c: Likewise.
14637
14638 2011-01-26  Karl Berry  <karl@gnu.org>
14639
14640         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
14641         variables to make it easier to override the makeinfo program used.
14642
14643 2011-01-26  Eric Blake  <eblake@redhat.com>
14644
14645         fcntl: work around Haiku F_DUPFD bugs
14646         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
14647         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
14648         cloexec bit on duplication.
14649         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
14650
14651 2011-01-26  Bruno Haible  <bruno@clisp.org>
14652
14653         Enable memory leak tests on AIX.
14654         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
14655         * tests/test-fprintf-posix3.c (main): Likewise.
14656
14657 2011-01-26  Bruno Haible  <bruno@clisp.org>
14658
14659         Tests for module 'get-rusage-data'.
14660         * modules/get-rusage-data-tests: New file.
14661         * tests/test-get-rusage-data.c: New file.
14662
14663         New module 'get-rusage-data'.
14664         * lib/resource-ext.h (get_rusage_data): New declaration.
14665         * lib/get-rusage-data.c: New file.
14666         * modules/get-rusage-data: New file.
14667
14668 2011-01-25  Bruno Haible  <bruno@clisp.org>
14669
14670         get-rusage-as: Allow for easier testing.
14671         * lib/resource-ext.h (get_rusage_as): Add comment.
14672         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
14673         (main): New function for interactive testing.
14674
14675 2011-01-25  Bruno Haible  <bruno@clisp.org>
14676
14677         vma-iter: Treat Haiku like BeOS.
14678         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
14679         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
14680
14681 2011-01-25  Eric Blake  <eblake@redhat.com>
14682
14683         c-stack: fix regression on cygwin when libsigsegv is present
14684         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
14685
14686 2011-01-24  Bruno Haible  <bruno@clisp.org>
14687
14688         vma-iter: Avoid empty intervals.
14689         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
14690         on an empty interval.
14691
14692 2011-01-24  Jim Meyering  <meyering@redhat.com>
14693
14694         u64: remove unnecessary #include
14695         * lib/u64.h: Don't include <stddef.h>.  It was not used.
14696
14697 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14698
14699         Allow the user to avoid the HAVE_RAW_DECL_* macros.
14700         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
14701
14702 2011-01-23  Bruno Haible  <bruno@clisp.org>
14703
14704         New module 'vma-iter'.
14705         * lib/vma-iter.h: New file.
14706         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
14707         * modules/vma-iter: New file.
14708         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
14709         for get_rusage_as_via_iterator.
14710         (vma_iterate_callback): New function.
14711         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
14712         * modules/get-rusage-as (Depends-on): Add vma-iter.
14713
14714 2011-01-23  Bruno Haible  <bruno@clisp.org>
14715
14716         uninorm: Tweak includes.
14717         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
14718         Reported by Jim Meyering.
14719
14720 2011-01-23  Bruno Haible  <bruno@clisp.org>
14721
14722         get-rusage-as: Improve on NetBSD.
14723         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
14724         /proc, like on FreeBSD.
14725
14726 2011-01-23  Jim Meyering  <meyering@redhat.com>
14727
14728         xreadlink.h: remove unnecessary #include
14729         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
14730
14731         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
14732         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
14733
14734 2011-01-23  Bruno Haible  <bruno@clisp.org>
14735
14736         get-rusage-as: Fix bug.
14737         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
14738         original limit when aborting the first loop.
14739
14740 2011-01-23  Bruno Haible  <bruno@clisp.org>
14741
14742         wctype: Ensure valid C syntax.
14743         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
14744         unconditionally, instead of gl_NEXT_HEADERS conditionally.
14745
14746 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14747
14748         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
14749         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
14750         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
14751         as they are needed only for configure's test case.
14752         This removes two unnecessary symbols from config.h.
14753
14754         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
14755         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
14756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
14757         AC_CHECK_HEADERS_ONCE on a header that we also invoke
14758         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
14759         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
14760         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
14761         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14762         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14763         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14764         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
14765         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14766         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14767         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14768         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14769         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14770         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14771         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14772
14773 2011-01-21  Eric Blake  <eblake@redhat.com>
14774
14775         maintainer-makefile: work with older git for submodule check
14776         * top/maint.mk (public-submodule-commit): Rewrite to avoid
14777         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
14778         Reported by Matthias Bolte.
14779
14780         bootstrap: minor portability fixes
14781         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
14782         (usage): Omit leading capital and trailing . on help phrases, per
14783         GNU Coding Standards.
14784         (check_versions, top level): Prefix messages with script name.
14785
14786 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
14787
14788         bootstrap: support --no-git option
14789         * build-aux/bootstrap: Add --no-git option, to be used when
14790         --gnulib-srcdir points to the exact desired checkout.
14791
14792 2011-01-21  Eric Blake  <eblake@redhat.com>
14793
14794         strerror_r-posix: work with glibc 2.13
14795         * lib/strerror_r.c (strerror_r): Fix return type.
14796
14797 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14798             Bruno Haible  <bruno@clisp.org>
14799
14800         uN_strstr: New unit tests.
14801         * modules/unistr/u8-strstr-tests: New file.
14802         * modules/unistr/u16-strstr-tests: New file.
14803         * modules/unistr/u32-strstr-tests: New file.
14804         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
14805         * tests/unistr/test-u8-strstr.c: New file.
14806         * tests/unistr/test-u16-strstr.c: New file.
14807         * tests/unistr/test-u32-strstr.c: New file.
14808
14809 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14810             Bruno Haible  <bruno@clisp.org>
14811
14812         Make uN_strstr functions O(n) worst-case.
14813         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
14814         16-bit and 32-bit unit cases, use the unibyte algorithm from
14815         lib/mbsstr.c.
14816         * lib/unistr/u8-strstr.c: Include <string.h>.
14817         (UNIT_IS_UINT8_T): New macro.
14818         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
14819         (U_STRLEN, U_STRNLEN): New macros.
14820         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
14821         (U_STRLEN, U_STRNLEN): New macros.
14822         * modules/unistr/u8-strstr (Depends-on): Add strstr.
14823         (configure.ac): Update required libunistring version.
14824         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
14825         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
14826         malloca.
14827         (configure.ac): Update required libunistring version.
14828         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
14829         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
14830         malloca.
14831         (configure.ac): Update required libunistring version.
14832
14833 2011-01-21  Pádraig Brady  <P@draigBrady.com>
14834             Bruno Haible  <bruno@clisp.org>
14835
14836         Prepare for faster uN_strstr functions.
14837         * lib/str-kmp.h: Support definable UNITs.
14838         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
14839         needle_len argument.
14840         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
14841         * lib/mbscasestr.c (mbscasestr): Likewise.
14842
14843 2011-01-21  Pádraig Brady <P@draigBrady.com>
14844
14845         malloca-tests: make faster by unsetting MALLOC_PERTURB_
14846         * tests/test-malloca.c (main): Unset the environment variable
14847         to greatly speed up the test.
14848         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
14849         * modules/malloca-tests: Depend on unsetenv.
14850
14851 2011-01-21  Pádraig Brady <P@draigBrady.com>
14852
14853         ignore-value: remove stdint dependency
14854         * lib/ignore-value.h: Remove <stdint.h>
14855         * modules/ignore-value: Remove stdint dependency.
14856
14857 2011-01-21  Jim Meyering  <meyering@redhat.com>
14858
14859         maint.mk: adjust variable name to be consistent with other gl_ vars
14860         * top/maint.mk (gl_public_submodule_commit): Rename the variable
14861         to be lower case.
14862
14863 2011-01-20  Jim Meyering  <meyering@redhat.com>
14864
14865         maint.mk: make "check" depend on public-submodule-commit by default
14866         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
14867
14868 2011-01-20  Bruno Haible  <bruno@clisp.org>
14869
14870         mbfile, mbiter: Complete change from 2008-12-21.
14871         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
14872         * m4/mbiter.m4 (gl_MBITER): Likewise.
14873
14874 2011-01-20  Jim Meyering  <meyering@redhat.com>
14875
14876         init.sh: insert space between each function name and "()"
14877         * tests/init.sh: Make it a little easier to see that a function's
14878         name is "warn_", and not "warn" when looking at the first part of
14879         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
14880
14881 2011-01-20  Jim Meyering  <meyering@redhat.com>
14882
14883         mountlist: clean up code formatting
14884         * lib/mountlist.c (read_file_system_list): Split a long line,
14885         correct bracing style, use NULL in place of "(struct statfs *)0",
14886         don't parenthesize return value, add spaces around "=" and after
14887         ";-in-for-stmt".
14888
14889 2011-01-14  Markus Duft <mduft@gentoo.org>
14890
14891         mountlist: add support for Interix
14892         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
14893         Apply statvfs to all entries of /dev/fs.
14894         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
14895         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
14896
14897 2011-01-20  Jim Meyering  <meyering@redhat.com>
14898
14899         maint.mk: improve the public-submodule-commit rule
14900         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
14901         to suppress printing of its commands... unless V=1.
14902         Add git submodule's --quiet option to suppress printing of e.g.,
14903         "Entering gnulib" output.
14904         "cd" into $(srcdir) before running git submodule.
14905
14906 2011-01-20  Bruno Haible  <bruno@clisp.org>
14907
14908         include_next: Fix bug introduced on 2011-01-18.
14909         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
14910         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
14911         ac_cv_header_... variable if the second argument is not 'check'.
14912         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
14913         gl_NEXT_HEADERS_INTERNAL.
14914
14915 2011-01-20  Bruno Haible  <bruno@clisp.org>
14916
14917         Allow the user to avoid the GNULIB_TEST_* macros.
14918         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
14919         Suggested by Paul Eggert.
14920
14921 2011-01-14  Jim Meyering  <meyering@redhat.com>
14922
14923         bootstrap: avoid failure when there is no .gitmodules file
14924         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
14925         has been assigned to, even when its value is the empty string.
14926         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
14927         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
14928         Reported by John W. Eaton <jwe@gnu.org>.
14929
14930 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14931
14932         assume <ctype.h>, ..., <time.h> exist
14933         For years gnulib has been assuming the existence of the headers
14934         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
14935         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
14936         them, since they don't appear to be needed.
14937         * README (Portability guidelines): Document this.
14938         * lib/flock.c: Assume <fcntl.h> exists.
14939         * lib/regex_internal.h: Assume <locale.h> exists.
14940         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
14941         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
14942         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
14943         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
14944         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
14945         * m4/regex.m4 (gl_REGEX): Likewise.
14946         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
14947         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
14948         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
14949         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
14950         * tests/test-argp.c: Likewise.
14951         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
14952
14953         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
14954         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
14955         AA_APPLE_UNIVERSAL_BUILD.  See
14956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
14957         * NEWS: Document this.
14958
14959 2011-01-19  Eric Blake  <eblake@redhat.com>
14960
14961         c-stack: assume stack overflow if SA_SIGINFO unsupported
14962         * lib/c-stack.c (SIGACTION_WORKS): Rename...
14963         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
14964         sigaction will work.
14965         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
14966         behavior match Linux.
14967         * tests/test-c-stack.c (main): Prefer NULL for pointers.
14968
14969         stdbool-tests: accomodate Haiku
14970         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
14971
14972         binary-io: fix O_TEXT on Haiku
14973         * modules/binary-io (Depends-on): Add fcntl-h.
14974         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
14975         than blindly undefining O_TEXT.
14976         Reported by Scott McCreary.
14977
14978 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14979
14980         include_next: do not check for standard headers like stddef.h
14981
14982         I found this problem when modifying Emacs to use gnulib.
14983         I noticed that it added HAVE_STDDEF_H to config.h, even though
14984         gnulib always assumes <stddef.h> exists as per README and this
14985         symbol is unnecessary.
14986         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
14987         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
14988         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
14989         faster for headers like stddef.h that are known to exist.
14990         (gl_CHECK_NEXT_HEADERS): Use it.
14991         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
14992         rather than gl_CHECK_NEXT_HEADERS.
14993         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
14994         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
14995
14996 2011-01-18  Eric Blake  <eblake@redhat.com>
14997
14998         ansi-c++-opt: skip C++ dependency style if C++ is unused
14999         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
15000         tests when we know C++ compilation is not desired.
15001         Reported by Scott McCreary.
15002
15003 2011-01-18  Bruno Haible  <bruno@clisp.org>
15004
15005         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
15006         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
15007         (main): Perform test also when getrlimit and setrlimit don't exist or
15008         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
15009         limiting the address space size using setrlimit, compare the address
15010         space size before and after the the test.
15011         * tests/test-dprintf-posix2.c: Likewise.
15012         * tests/test-fprintf-posix3.sh: Update skip messages.
15013         * tests/test-dprintf-posix2.sh: Likewise.
15014         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
15015         * modules/dprintf-posix-tests (Depends-on): Likewise.
15016         Reported by Bruce Korb <bkorb@gnu.org> and
15017         Gary V. Vaughan <gary@gnu.org>.
15018
15019 2011-01-18  Bruno Haible  <bruno@clisp.org>
15020
15021         get-rusage-as: Improvement for Cygwin.
15022         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
15023         areas that are merely reserved.
15024
15025 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15026
15027         strftime: remove dependencies on multibyte modules
15028
15029         strftime depended on mbrlen, mbsinit, and wchar, but these modules
15030         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
15031         only if __osf__ is defined, and I suspect OSF doesn't need these
15032         other modules.  If my guess is wrong, we'll need to come up with a
15033         variant of strftime that doesn't need the multibyte modules.
15034
15035         I discovered this problem when attempting modify Emacs to use the
15036         strftime module.  With the previous gnulib, this caused Emacs to
15037         need 31 new files, ranging from lib/config.charset to
15038         m4/wint_t.m4.  This was overkill and I expect would be offputting
15039         to the Emacs maintainers.  After this change, only 6 new files are
15040         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
15041         stdbool.m4, and tm_gmtoff.m4.
15042
15043         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
15044         Suggested by Bruno Haible in
15045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
15046         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
15047         and do not check for wchar.h.
15048         * modules/strftime (Files): Remove m4/mbstate_t.m4.
15049         (Depends-on): Remove mbrlen, mbsinit, wchar.
15050
15051 2011-01-18  Bruno Haible  <bruno@clisp.org>
15052
15053         Tests for module 'get-rusage-as'.
15054         * modules/get-rusage-as-tests: New file.
15055         * tests/test-get-rusage-as.c: New file.
15056
15057         New module 'get-rusage-as'.
15058         * modules/get-rusage-as: New file.
15059         * lib/resource-ext.h: New file.
15060         * lib/get-rusage-as.c: New file.
15061
15062 2011-01-17  Eric Blake  <eblake@redhat.com>
15063
15064         sigaction: relax license from LGPLv3+ to LGPLv2+
15065         * modules/sigaction (License): Relax to LGPLv2+.
15066
15067 2011-01-14  Bruno Haible  <bruno@clisp.org>
15068
15069         filemode: Make function declarations usable in C++ mode.
15070         * lib/filemode.h: Enclose function declarations in extern "C" block.
15071         Reported by John W. Eaton <jwe@gnu.org>.
15072
15073 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
15074
15075         save-cwd: no longer include "xgetcwd.h"
15076         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
15077         This avoids a compilation failure in projects that use save-cwd
15078         without also using the xgetcwd module.
15079
15080 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15081
15082         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
15083         This is so that a program like Emacs, which needs only dtoastr,
15084         does not have to bother with distributing and compiling ftoastr
15085         and ldtoastr.
15086         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
15087         * modules/dtoastr, modules/ldtoastr: New files.
15088         * modules/ftoastr: Now works just for 'float'.
15089         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
15090         (Makefile.am): Remove ftoastr.h (not needed and no effect),
15091         dtoastr.c, ldtoastr.c.
15092
15093 2011-01-11  Jim Meyering  <meyering@redhat.com>
15094
15095         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
15096         There is no need to work around the lack of the fchdir function,
15097         since gnulib can now provide a replacement when required.
15098         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
15099         * modules/save-cwd (Depends-on): Add fchdir.
15100
15101 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15102
15103         openat, save-cwd: avoid xmalloc
15104
15105         This removes a direct (but undocumented) dependency of openat on
15106         xalloc, along with an indirect dependency via save-cwd.  It also
15107         removes a dependency of save-cwd on xgetcwd, and thereby
15108         indirectly on xalloc.  This change causes the openat substitute
15109         to fall back on save_cwd when memory is tight, and for save_cwd to
15110         fail instead of dying when memory is tight, but that's good enough.
15111         Problem and initial idea for fix reported by Bastien Roucaries in
15112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
15113
15114         * lib/openat-proc.c: Include stdlib.h (for malloc), not
15115         xalloc.h (for xmalloc).
15116         (openat_proc_name): Use malloc, not xmalloc.
15117         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
15118         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
15119
15120         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
15121         This avoids heap allocation for file names whose lengths are in
15122         the range 512..1023, with the upper bound increasing to at most
15123         4031 depending on the platform's PATH_MAX.  (We do not want
15124         pathmax.h here as it might supply a non-constant PATH_MAX.)
15125         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
15126         Perhaps they should be moved to malloca.h?
15127         (OPENAT_BUFFER_SIZE): Use them.
15128
15129 2011-01-10  Bruno Haible  <bruno@clisp.org>
15130
15131         doc: Update users.txt.
15132         * users.txt: Add recutils.
15133
15134 2011-01-09  Karl Berry  <karl@gnu.org>
15135
15136         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
15137
15138         * doc/configmake.texi: New file.
15139         * doc/gnulib.texi: Include it.
15140         * modules/configmake: Move documentation from here.
15141
15142 2011-01-09  Bruno Haible  <bruno@clisp.org>
15143
15144         Update to Unicode 6.0.0.
15145         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
15146         (get_lbp): Update for Unicode 6.0.0.
15147         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
15148         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
15149         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
15150         U+11001, U+11038..U+11046. Remove U+06DE.
15151         (uc_width): Fix bounds of planes.
15152         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15153         lib/uniwidth/width.c.
15154         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
15155         trailing whitespace removed.
15156         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
15157         without comments, but with the original copyright notice.
15158         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
15159         * lib/unicase/ignorable.h: Likewise.
15160         * lib/unicase/tocasefold.h: Likewise.
15161         * lib/unicase/tolower.h: Likewise.
15162         * lib/unicase/totitle.h: Likewise.
15163         * lib/unicase/toupper.h: Likewise.
15164         * lib/unictype/bidi_of.h: Likewise.
15165         * lib/unictype/blocks.h: Likewise.
15166         * lib/unictype/categ_C.h: Likewise.
15167         * lib/unictype/categ_Cn.h: Likewise.
15168         * lib/unictype/categ_L.h: Likewise.
15169         * lib/unictype/categ_Ll.h: Likewise.
15170         * lib/unictype/categ_Lm.h: Likewise.
15171         * lib/unictype/categ_Lo.h: Likewise.
15172         * lib/unictype/categ_Lu.h: Likewise.
15173         * lib/unictype/categ_M.h: Likewise.
15174         * lib/unictype/categ_Mc.h: Likewise.
15175         * lib/unictype/categ_Me.h: Likewise.
15176         * lib/unictype/categ_Mn.h: Likewise.
15177         * lib/unictype/categ_N.h: Likewise.
15178         * lib/unictype/categ_Nd.h: Likewise.
15179         * lib/unictype/categ_No.h: Likewise.
15180         * lib/unictype/categ_P.h: Likewise.
15181         * lib/unictype/categ_Po.h: Likewise.
15182         * lib/unictype/categ_S.h: Likewise.
15183         * lib/unictype/categ_Sc.h: Likewise.
15184         * lib/unictype/categ_Sk.h: Likewise.
15185         * lib/unictype/categ_Sm.h: Likewise.
15186         * lib/unictype/categ_So.h: Likewise.
15187         * lib/unictype/categ_of.h: Likewise.
15188         * lib/unictype/combining.h: Likewise.
15189         * lib/unictype/ctype_alnum.h: Likewise.
15190         * lib/unictype/ctype_alpha.h: Likewise.
15191         * lib/unictype/ctype_graph.h: Likewise.
15192         * lib/unictype/ctype_lower.h: Likewise.
15193         * lib/unictype/ctype_print.h: Likewise.
15194         * lib/unictype/ctype_punct.h: Likewise.
15195         * lib/unictype/ctype_upper.h: Likewise.
15196         * lib/unictype/decdigit.h: Likewise.
15197         * lib/unictype/digit.h: Likewise.
15198         * lib/unictype/numeric.h: Likewise.
15199         * lib/unictype/pr_alphabetic.h: Likewise.
15200         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15201         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15202         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15203         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15204         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15205         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15206         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15207         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15208         * lib/unictype/pr_case_ignorable.h: Likewise.
15209         * lib/unictype/pr_cased.h: Likewise.
15210         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
15211         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
15212         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
15213         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
15214         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
15215         * lib/unictype/pr_combining.h: Likewise.
15216         * lib/unictype/pr_composite.h: Likewise.
15217         * lib/unictype/pr_currency_symbol.h: Likewise.
15218         * lib/unictype/pr_decimal_digit.h: Likewise.
15219         * lib/unictype/pr_deprecated.h: Likewise.
15220         * lib/unictype/pr_format_control.h: Likewise.
15221         * lib/unictype/pr_grapheme_base.h: Likewise.
15222         * lib/unictype/pr_grapheme_extend.h: Likewise.
15223         * lib/unictype/pr_grapheme_link.h: Likewise.
15224         * lib/unictype/pr_id_continue.h: Likewise.
15225         * lib/unictype/pr_id_start.h: Likewise.
15226         * lib/unictype/pr_ideographic.h: Likewise.
15227         * lib/unictype/pr_lowercase.h: Likewise.
15228         * lib/unictype/pr_math.h: Likewise.
15229         * lib/unictype/pr_numeric.h: Likewise.
15230         * lib/unictype/pr_other_alphabetic.h: Likewise.
15231         * lib/unictype/pr_other_id_continue.h: Likewise.
15232         * lib/unictype/pr_other_math.h: Likewise.
15233         * lib/unictype/pr_punctuation.h: Likewise.
15234         * lib/unictype/pr_sentence_terminal.h: Likewise.
15235         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15236         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15237         * lib/unictype/pr_unified_ideograph.h: Likewise.
15238         * lib/unictype/pr_uppercase.h: Likewise.
15239         * lib/unictype/pr_xid_continue.h: Likewise.
15240         * lib/unictype/pr_xid_start.h: Likewise.
15241         * lib/unictype/scripts.h: Likewise.
15242         * lib/unictype/scripts_byname.gperf: Likewise.
15243         * lib/unictype/sy_java_ident.h: Likewise.
15244         * lib/unigbrk/gbrkprop.h: Likewise.
15245         * lib/unilbrk/lbrkprop1.h: Likewise.
15246         * lib/unilbrk/lbrkprop2.h: Likewise.
15247         * lib/uninorm/decomposition-table2.h: Likewise.
15248         * lib/uniwbrk/wbrkprop.h: Likewise.
15249         * tests/unicase/test-cased.c: Likewise.
15250         * tests/unicase/test-ignorable.c: Likewise.
15251         * tests/unicase/test-uc_tolower.c: Likewise.
15252         * tests/unicase/test-uc_totitle.c: Likewise.
15253         * tests/unicase/test-uc_toupper.c: Likewise.
15254         * tests/unictype/test-categ_C.c: Likewise.
15255         * tests/unictype/test-categ_Cn.c: Likewise.
15256         * tests/unictype/test-categ_L.c: Likewise.
15257         * tests/unictype/test-categ_Ll.c: Likewise.
15258         * tests/unictype/test-categ_Lm.c: Likewise.
15259         * tests/unictype/test-categ_Lo.c: Likewise.
15260         * tests/unictype/test-categ_Lu.c: Likewise.
15261         * tests/unictype/test-categ_M.c: Likewise.
15262         * tests/unictype/test-categ_Mc.c: Likewise.
15263         * tests/unictype/test-categ_Me.c: Likewise.
15264         * tests/unictype/test-categ_Mn.c: Likewise.
15265         * tests/unictype/test-categ_N.c: Likewise.
15266         * tests/unictype/test-categ_Nd.c: Likewise.
15267         * tests/unictype/test-categ_No.c: Likewise.
15268         * tests/unictype/test-categ_P.c: Likewise.
15269         * tests/unictype/test-categ_Po.c: Likewise.
15270         * tests/unictype/test-categ_S.c: Likewise.
15271         * tests/unictype/test-categ_Sc.c: Likewise.
15272         * tests/unictype/test-categ_Sk.c: Likewise.
15273         * tests/unictype/test-categ_Sm.c: Likewise.
15274         * tests/unictype/test-categ_So.c: Likewise.
15275         * tests/unictype/test-ctype_alnum.c: Likewise.
15276         * tests/unictype/test-ctype_alpha.c: Likewise.
15277         * tests/unictype/test-ctype_graph.c: Likewise.
15278         * tests/unictype/test-ctype_lower.c: Likewise.
15279         * tests/unictype/test-ctype_print.c: Likewise.
15280         * tests/unictype/test-ctype_punct.c: Likewise.
15281         * tests/unictype/test-ctype_upper.c: Likewise.
15282         * tests/unictype/test-decdigit.h: Likewise.
15283         * tests/unictype/test-digit.h: Likewise.
15284         * tests/unictype/test-numeric.h: Likewise.
15285         * tests/unictype/test-pr_alphabetic.c: Likewise.
15286         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15287         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
15288         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
15289         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15290         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15291         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15292         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15293         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15294         * tests/unictype/test-pr_case_ignorable.c: Likewise.
15295         * tests/unictype/test-pr_cased.c: Likewise.
15296         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
15297         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
15298         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
15299         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
15300         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
15301         * tests/unictype/test-pr_combining.c: Likewise.
15302         * tests/unictype/test-pr_composite.c: Likewise.
15303         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15304         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15305         * tests/unictype/test-pr_deprecated.c: Likewise.
15306         * tests/unictype/test-pr_format_control.c: Likewise.
15307         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15308         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15309         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15310         * tests/unictype/test-pr_id_continue.c: Likewise.
15311         * tests/unictype/test-pr_id_start.c: Likewise.
15312         * tests/unictype/test-pr_ideographic.c: Likewise.
15313         * tests/unictype/test-pr_lowercase.c: Likewise.
15314         * tests/unictype/test-pr_math.c: Likewise.
15315         * tests/unictype/test-pr_numeric.c: Likewise.
15316         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15317         * tests/unictype/test-pr_other_id_continue.c: Likewise.
15318         * tests/unictype/test-pr_other_math.c: Likewise.
15319         * tests/unictype/test-pr_punctuation.c: Likewise.
15320         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15321         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15322         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15323         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15324         * tests/unictype/test-pr_uppercase.c: Likewise.
15325         * tests/unictype/test-pr_xid_continue.c: Likewise.
15326         * tests/unictype/test-pr_xid_start.c: Likewise.
15327         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15328         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15329         changes.
15330         * lib/unictype/categ_Cc.h: Likewise.
15331         * lib/unictype/categ_Cf.h: Likewise.
15332         * lib/unictype/categ_Co.h: Likewise.
15333         * lib/unictype/categ_Cs.h: Likewise.
15334         * lib/unictype/categ_Lt.h: Likewise.
15335         * lib/unictype/categ_Nl.h: Likewise.
15336         * lib/unictype/categ_Pc.h: Likewise.
15337         * lib/unictype/categ_Pd.h: Likewise.
15338         * lib/unictype/categ_Pe.h: Likewise.
15339         * lib/unictype/categ_Pf.h: Likewise.
15340         * lib/unictype/categ_Pi.h: Likewise.
15341         * lib/unictype/categ_Ps.h: Likewise.
15342         * lib/unictype/categ_Z.h: Likewise.
15343         * lib/unictype/categ_Zl.h: Likewise.
15344         * lib/unictype/categ_Zp.h: Likewise.
15345         * lib/unictype/categ_Zs.h: Likewise.
15346         * lib/unictype/ctype_blank.h: Likewise.
15347         * lib/unictype/ctype_cntrl.h: Likewise.
15348         * lib/unictype/ctype_digit.h: Likewise.
15349         * lib/unictype/ctype_space.h: Likewise.
15350         * lib/unictype/ctype_xdigit.h: Likewise.
15351         * lib/unictype/mirror.h: Likewise.
15352         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15353         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15354         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15355         * lib/unictype/pr_bidi_control.h: Likewise.
15356         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15357         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15358         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15359         * lib/unictype/pr_bidi_pdf.h: Likewise.
15360         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15361         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15362         * lib/unictype/pr_dash.h: Likewise.
15363         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15364         * lib/unictype/pr_diacritic.h: Likewise.
15365         * lib/unictype/pr_extender.h: Likewise.
15366         * lib/unictype/pr_hex_digit.h: Likewise.
15367         * lib/unictype/pr_hyphen.h: Likewise.
15368         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15369         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15370         * lib/unictype/pr_ignorable_control.h: Likewise.
15371         * lib/unictype/pr_iso_control.h: Likewise.
15372         * lib/unictype/pr_join_control.h: Likewise.
15373         * lib/unictype/pr_left_of_pair.h: Likewise.
15374         * lib/unictype/pr_line_separator.h: Likewise.
15375         * lib/unictype/pr_logical_order_exception.h: Likewise.
15376         * lib/unictype/pr_non_break.h: Likewise.
15377         * lib/unictype/pr_not_a_character.h: Likewise.
15378         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15379         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15380         * lib/unictype/pr_other_id_start.h: Likewise.
15381         * lib/unictype/pr_other_lowercase.h: Likewise.
15382         * lib/unictype/pr_other_uppercase.h: Likewise.
15383         * lib/unictype/pr_paired_punctuation.h: Likewise.
15384         * lib/unictype/pr_paragraph_separator.h: Likewise.
15385         * lib/unictype/pr_pattern_syntax.h: Likewise.
15386         * lib/unictype/pr_pattern_white_space.h: Likewise.
15387         * lib/unictype/pr_private_use.h: Likewise.
15388         * lib/unictype/pr_quotation_mark.h: Likewise.
15389         * lib/unictype/pr_radical.h: Likewise.
15390         * lib/unictype/pr_soft_dotted.h: Likewise.
15391         * lib/unictype/pr_space.h: Likewise.
15392         * lib/unictype/pr_titlecase.h: Likewise.
15393         * lib/unictype/pr_variation_selector.h: Likewise.
15394         * lib/unictype/pr_white_space.h: Likewise.
15395         * lib/unictype/pr_zero_width.h: Likewise.
15396         * lib/unictype/sy_c_ident.h: Likewise.
15397         * lib/unictype/sy_c_whitespace.h: Likewise.
15398         * lib/unictype/sy_java_whitespace.h: Likewise.
15399         * lib/uninorm/composition-table.gperf: Likewise.
15400         * lib/uninorm/decomposition-table1.h: Likewise.
15401         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
15402         LB8.
15403         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15404         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15405         * modules/unictype/*: Bump version number of expected libunistring
15406         version.
15407
15408 2011-01-09  Bruno Haible  <bruno@clisp.org>
15409
15410         Update to Unicode 5.2.0.
15411         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
15412         trailing whitespace removed.
15413
15414 2011-01-09  Bruno Haible  <bruno@clisp.org>
15415
15416         New Unicode character properties, from Unicode 5.2.0.
15417         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
15418         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
15419         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
15420         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
15421         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
15422         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
15423         uc_is_property_cased, uc_is_property_case_ignorable,
15424         uc_is_property_changes_when_lowercased,
15425         uc_is_property_changes_when_uppercased,
15426         uc_is_property_changes_when_titlecased,
15427         uc_is_property_changes_when_casefolded,
15428         uc_is_property_changes_when_casemapped): New declarations.
15429         * lib/unictype/pr_byname.gperf: Add the new properties.
15430         * modules/unictype/property-byname (Depends-on): Depend on the new
15431         properties modules.
15432         * modules/unictype/property-all (Depends-on): Likewise.
15433         * MODULES.html.sh (Unicode string functions): Add
15434         unictype/property-case-ignorable, unictype/property-cased,
15435         unictype/property-changes-when-casefolded,
15436         unictype/property-changes-when-casemapped,
15437         unictype/property-changes-when-lowercased,
15438         unictype/property-changes-when-titlecased,
15439         unictype/property-changes-when-uppercased.
15440
15441         New module 'unictype/property-changes-when-casemapped'.
15442         * modules/unictype/property-changes-when-casemapped: New file.
15443         * lib/unictype/pr_changes_when_casemapped.c: New file.
15444         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
15445         generated by gen-uni-tables.
15446         * modules/unictype/property-changes-when-casemapped-tests: New file.
15447         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
15448         automatically generated by gen-uni-tables.
15449
15450         New module 'unictype/property-changes-when-casefolded'.
15451         * modules/unictype/property-changes-when-casefolded: New file.
15452         * lib/unictype/pr_changes_when_casefolded.c: New file.
15453         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
15454         generated by gen-uni-tables.
15455         * modules/unictype/property-changes-when-casefolded-tests: New file.
15456         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
15457         automatically generated by gen-uni-tables.
15458
15459         New module 'unictype/property-changes-when-titlecased'.
15460         * modules/unictype/property-changes-when-titlecased: New file.
15461         * lib/unictype/pr_changes_when_titlecased.c: New file.
15462         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
15463         generated by gen-uni-tables.
15464         * modules/unictype/property-changes-when-titlecased-tests: New file.
15465         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
15466         automatically generated by gen-uni-tables.
15467
15468         New module 'unictype/property-changes-when-uppercased'.
15469         * modules/unictype/property-changes-when-uppercased: New file.
15470         * lib/unictype/pr_changes_when_uppercased.c: New file.
15471         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
15472         generated by gen-uni-tables.
15473         * modules/unictype/property-changes-when-uppercased-tests: New file.
15474         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
15475         automatically generated by gen-uni-tables.
15476
15477         New module 'unictype/property-changes-when-lowercased'.
15478         * modules/unictype/property-changes-when-lowercased: New file.
15479         * lib/unictype/pr_changes_when_lowercased.c: New file.
15480         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
15481         generated by gen-uni-tables.
15482         * modules/unictype/property-changes-when-lowercased-tests: New file.
15483         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
15484         automatically generated by gen-uni-tables.
15485
15486         New module 'unictype/property-case-ignorable'.
15487         * modules/unictype/property-case-ignorable: New file.
15488         * lib/unictype/pr_case_ignorable.c: New file.
15489         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
15490         by gen-uni-tables.
15491         * modules/unictype/property-case-ignorable-tests: New file.
15492         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
15493         generated by gen-uni-tables.
15494
15495         New module 'unictype/property-cased'.
15496         * modules/unictype/property-cased: New file.
15497         * lib/unictype/pr_cased.c: New file.
15498         * lib/unictype/pr_cased.h: New file, automatically generated by
15499         gen-uni-tables.
15500         * modules/unictype/property-cased-tests: New file.
15501         * tests/unictype/test-pr_cased.c: New file, automatically generated by
15502         gen-uni-tables.
15503
15504 2011-01-09  Bruno Haible  <bruno@clisp.org>
15505
15506         Update to Unicode 5.2.0.
15507         * lib/gen-uni-tables.c (output_predicate, output_category,
15508         output_combclass, output_bidi_category, output_decimal_digit_test,
15509         output_decimal_digit, output_digit_test, output_digit,
15510         output_numeric_test, output_numeric, output_mirror, output_scripts,
15511         output_scripts_byname, output_blocks, output_ident_category): Fix
15512         comment header.
15513         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
15514         get_wbp.
15515         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
15516         items.
15517         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
15518         Changes_When_Lowercased, Changes_When_Uppercased,
15519         Changes_When_Titlecased, Changes_When_Casefolded,
15520         Changes_When_Casemapped.
15521         (is_property_alphabetic, is_property_default_ignorable_code_point):
15522         Update for Unicode 5.2.0.
15523         (is_property_cased, is_property_case_ignorable,
15524         is_property_changes_when_lowercased,
15525         is_property_changes_when_uppercased,
15526         is_property_changes_when_titlecased,
15527         is_property_changes_when_casefolded,
15528         is_property_changes_when_casemapped): New functions.
15529         (output_properties): Output also the properties cased, case_ignorable,
15530         changes_when_lowercased, changes_when_uppercased,
15531         changes_when_titlecased, changes_when_casefolded,
15532         changes_when_casemapped.
15533         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
15534         Unicode TR#11 revision 17 -> 19.
15535         (LBP_CP): New enumeration value.
15536         (LBP_*): Adjust values accordingly.
15537         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15538         TR#14 revision 22 -> 24.
15539         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
15540         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
15541         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
15542         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
15543         is_WBP_MIDLETTER.
15544         (output_composition_tables): Allow for 24 bits instead of 16 bits in
15545         the code1 and code2 of each composition rule.
15546         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
15547         * lib/unicase/ignorable.h: Likewise.
15548         * lib/unicase/tocasefold.h: Likewise.
15549         * lib/unicase/tolower.h: Likewise.
15550         * lib/unicase/totitle.h: Likewise.
15551         * lib/unicase/toupper.h: Likewise.
15552         * lib/unictype/bidi_of.h: Likewise.
15553         * lib/unictype/blocks.h: Likewise.
15554         * lib/unictype/categ_C.h: Likewise.
15555         * lib/unictype/categ_Cf.h: Likewise.
15556         * lib/unictype/categ_Cn.h: Likewise.
15557         * lib/unictype/categ_L.h: Likewise.
15558         * lib/unictype/categ_Ll.h: Likewise.
15559         * lib/unictype/categ_Lm.h: Likewise.
15560         * lib/unictype/categ_Lo.h: Likewise.
15561         * lib/unictype/categ_Lu.h: Likewise.
15562         * lib/unictype/categ_M.h: Likewise.
15563         * lib/unictype/categ_Mc.h: Likewise.
15564         * lib/unictype/categ_Mn.h: Likewise.
15565         * lib/unictype/categ_N.h: Likewise.
15566         * lib/unictype/categ_Nd.h: Likewise.
15567         * lib/unictype/categ_Nl.h: Likewise.
15568         * lib/unictype/categ_No.h: Likewise.
15569         * lib/unictype/categ_P.h: Likewise.
15570         * lib/unictype/categ_Pd.h: Likewise.
15571         * lib/unictype/categ_Po.h: Likewise.
15572         * lib/unictype/categ_S.h: Likewise.
15573         * lib/unictype/categ_Sc.h: Likewise.
15574         * lib/unictype/categ_So.h: Likewise.
15575         * lib/unictype/categ_of.h: Likewise.
15576         * lib/unictype/combining.h: Likewise.
15577         * lib/unictype/ctype_alnum.h: Likewise.
15578         * lib/unictype/ctype_alpha.h: Likewise.
15579         * lib/unictype/ctype_graph.h: Likewise.
15580         * lib/unictype/ctype_lower.h: Likewise.
15581         * lib/unictype/ctype_print.h: Likewise.
15582         * lib/unictype/ctype_punct.h: Likewise.
15583         * lib/unictype/ctype_upper.h: Likewise.
15584         * lib/unictype/decdigit.h: Likewise.
15585         * lib/unictype/digit.h: Likewise.
15586         * lib/unictype/numeric.h: Likewise.
15587         * lib/unictype/pr_alphabetic.h: Likewise.
15588         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
15589         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
15590         * lib/unictype/pr_bidi_european_digit.h: Likewise.
15591         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
15592         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
15593         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
15594         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
15595         * lib/unictype/pr_combining.h: Likewise.
15596         * lib/unictype/pr_composite.h: Likewise.
15597         * lib/unictype/pr_currency_symbol.h: Likewise.
15598         * lib/unictype/pr_dash.h: Likewise.
15599         * lib/unictype/pr_decimal_digit.h: Likewise.
15600         * lib/unictype/pr_deprecated.h: Likewise.
15601         * lib/unictype/pr_diacritic.h: Likewise.
15602         * lib/unictype/pr_extender.h: Likewise.
15603         * lib/unictype/pr_grapheme_base.h: Likewise.
15604         * lib/unictype/pr_grapheme_extend.h: Likewise.
15605         * lib/unictype/pr_grapheme_link.h: Likewise.
15606         * lib/unictype/pr_id_continue.h: Likewise.
15607         * lib/unictype/pr_id_start.h: Likewise.
15608         * lib/unictype/pr_ideographic.h: Likewise.
15609         * lib/unictype/pr_ignorable_control.h: Likewise.
15610         * lib/unictype/pr_logical_order_exception.h: Likewise.
15611         * lib/unictype/pr_lowercase.h: Likewise.
15612         * lib/unictype/pr_numeric.h: Likewise.
15613         * lib/unictype/pr_other_alphabetic.h: Likewise.
15614         * lib/unictype/pr_punctuation.h: Likewise.
15615         * lib/unictype/pr_sentence_terminal.h: Likewise.
15616         * lib/unictype/pr_terminal_punctuation.h: Likewise.
15617         * lib/unictype/pr_unassigned_code_value.h: Likewise.
15618         * lib/unictype/pr_unified_ideograph.h: Likewise.
15619         * lib/unictype/pr_uppercase.h: Likewise.
15620         * lib/unictype/pr_xid_continue.h: Likewise.
15621         * lib/unictype/pr_xid_start.h: Likewise.
15622         * lib/unictype/pr_zero_width.h: Likewise.
15623         * lib/unictype/scripts.h: Likewise.
15624         * lib/unictype/scripts_byname.gperf: Likewise.
15625         * lib/unictype/sy_java_ident.h: Likewise.
15626         * lib/unigbrk/gbrkprop.h: Likewise.
15627         * lib/unilbrk/lbrkprop1.h: Likewise.
15628         * lib/unilbrk/lbrkprop2.h: Likewise.
15629         * lib/unilbrk/lbrktables.h: Likewise.
15630         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
15631         LBP_CP. Implement rule LB30.
15632         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
15633         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
15634         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
15635         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
15636         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
15637         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
15638         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
15639         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
15640         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
15641         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
15642         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
15643         bits instead of 16 bits in the code1 and code2 of each composition
15644         rule.
15645         (uc_composition): Update for Unicode 5.2.0.
15646         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
15647         * lib/uninorm/decomposition-table2.h: Likewise.
15648         * lib/uniwbrk/wbrkprop.h: Likewise.
15649         * tests/unicase/test-cased.c: Likewise.
15650         * tests/unicase/test-ignorable.c: Likewise.
15651         * tests/unicase/test-uc_tolower.c: Likewise.
15652         * tests/unicase/test-uc_totitle.c: Likewise.
15653         * tests/unicase/test-uc_toupper.c: Likewise.
15654         * tests/unictype/test-categ_C.c: Likewise.
15655         * tests/unictype/test-categ_Cf.c: Likewise.
15656         * tests/unictype/test-categ_Cn.c: Likewise.
15657         * tests/unictype/test-categ_L.c: Likewise.
15658         * tests/unictype/test-categ_Ll.c: Likewise.
15659         * tests/unictype/test-categ_Lm.c: Likewise.
15660         * tests/unictype/test-categ_Lo.c: Likewise.
15661         * tests/unictype/test-categ_Lu.c: Likewise.
15662         * tests/unictype/test-categ_M.c: Likewise.
15663         * tests/unictype/test-categ_Mc.c: Likewise.
15664         * tests/unictype/test-categ_Mn.c: Likewise.
15665         * tests/unictype/test-categ_N.c: Likewise.
15666         * tests/unictype/test-categ_Nd.c: Likewise.
15667         * tests/unictype/test-categ_Nl.c: Likewise.
15668         * tests/unictype/test-categ_No.c: Likewise.
15669         * tests/unictype/test-categ_P.c: Likewise.
15670         * tests/unictype/test-categ_Pd.c: Likewise.
15671         * tests/unictype/test-categ_Po.c: Likewise.
15672         * tests/unictype/test-categ_S.c: Likewise.
15673         * tests/unictype/test-categ_Sc.c: Likewise.
15674         * tests/unictype/test-categ_So.c: Likewise.
15675         * tests/unictype/test-ctype_alnum.c: Likewise.
15676         * tests/unictype/test-ctype_alpha.c: Likewise.
15677         * tests/unictype/test-ctype_graph.c: Likewise.
15678         * tests/unictype/test-ctype_lower.c: Likewise.
15679         * tests/unictype/test-ctype_print.c: Likewise.
15680         * tests/unictype/test-ctype_punct.c: Likewise.
15681         * tests/unictype/test-ctype_upper.c: Likewise.
15682         * tests/unictype/test-decdigit.h: Likewise.
15683         * tests/unictype/test-digit.h: Likewise.
15684         * tests/unictype/test-numeric.h: Likewise.
15685         * tests/unictype/test-pr_alphabetic.c: Likewise.
15686         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
15687         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
15688         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
15689         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
15690         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
15691         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
15692         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
15693         * tests/unictype/test-pr_combining.c: Likewise.
15694         * tests/unictype/test-pr_composite.c: Likewise.
15695         * tests/unictype/test-pr_currency_symbol.c: Likewise.
15696         * tests/unictype/test-pr_dash.c: Likewise.
15697         * tests/unictype/test-pr_decimal_digit.c: Likewise.
15698         * tests/unictype/test-pr_deprecated.c: Likewise.
15699         * tests/unictype/test-pr_diacritic.c: Likewise.
15700         * tests/unictype/test-pr_extender.c: Likewise.
15701         * tests/unictype/test-pr_grapheme_base.c: Likewise.
15702         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
15703         * tests/unictype/test-pr_grapheme_link.c: Likewise.
15704         * tests/unictype/test-pr_id_continue.c: Likewise.
15705         * tests/unictype/test-pr_id_start.c: Likewise.
15706         * tests/unictype/test-pr_ideographic.c: Likewise.
15707         * tests/unictype/test-pr_ignorable_control.c: Likewise.
15708         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
15709         * tests/unictype/test-pr_lowercase.c: Likewise.
15710         * tests/unictype/test-pr_numeric.c: Likewise.
15711         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
15712         * tests/unictype/test-pr_punctuation.c: Likewise.
15713         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
15714         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
15715         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
15716         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
15717         * tests/unictype/test-pr_uppercase.c: Likewise.
15718         * tests/unictype/test-pr_xid_continue.c: Likewise.
15719         * tests/unictype/test-pr_xid_start.c: Likewise.
15720         * tests/unictype/test-pr_zero_width.c: Likewise.
15721         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
15722         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
15723         changed behaviour: line breaking is now disallowed between a letter
15724         or '=' and '('.
15725         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
15726         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
15727         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
15728         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
15729         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15730         lib/uniwidth/width.c.
15731         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
15732         without comments, but with the original copyright notice.
15733         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
15734         changes.
15735         * lib/unictype/categ_Cc.h: Likewise.
15736         * lib/unictype/categ_Co.h: Likewise.
15737         * lib/unictype/categ_Cs.h: Likewise.
15738         * lib/unictype/categ_Lt.h: Likewise.
15739         * lib/unictype/categ_Me.h: Likewise.
15740         * lib/unictype/categ_Pc.h: Likewise.
15741         * lib/unictype/categ_Pe.h: Likewise.
15742         * lib/unictype/categ_Pf.h: Likewise.
15743         * lib/unictype/categ_Pi.h: Likewise.
15744         * lib/unictype/categ_Ps.h: Likewise.
15745         * lib/unictype/categ_Sk.h: Likewise.
15746         * lib/unictype/categ_Sm.h: Likewise.
15747         * lib/unictype/categ_Z.h: Likewise.
15748         * lib/unictype/categ_Zl.h: Likewise.
15749         * lib/unictype/categ_Zp.h: Likewise.
15750         * lib/unictype/categ_Zs.h: Likewise.
15751         * lib/unictype/ctype_blank.h: Likewise.
15752         * lib/unictype/ctype_cntrl.h: Likewise.
15753         * lib/unictype/ctype_digit.h: Likewise.
15754         * lib/unictype/ctype_space.h: Likewise.
15755         * lib/unictype/ctype_xdigit.h: Likewise.
15756         * lib/unictype/mirror.h: Likewise.
15757         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
15758         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
15759         * lib/unictype/pr_bidi_block_separator.h: Likewise.
15760         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
15761         * lib/unictype/pr_bidi_common_separator.h: Likewise.
15762         * lib/unictype/pr_bidi_control.h: Likewise.
15763         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
15764         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
15765         * lib/unictype/pr_bidi_pdf.h: Likewise.
15766         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
15767         * lib/unictype/pr_bidi_whitespace.h: Likewise.
15768         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
15769         * lib/unictype/pr_format_control.h: Likewise.
15770         * lib/unictype/pr_hex_digit.h: Likewise.
15771         * lib/unictype/pr_hyphen.h: Likewise.
15772         * lib/unictype/pr_ids_binary_operator.h: Likewise.
15773         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
15774         * lib/unictype/pr_iso_control.h: Likewise.
15775         * lib/unictype/pr_join_control.h: Likewise.
15776         * lib/unictype/pr_left_of_pair.h: Likewise.
15777         * lib/unictype/pr_line_separator.h: Likewise.
15778         * lib/unictype/pr_math.h: Likewise.
15779         * lib/unictype/pr_non_break.h: Likewise.
15780         * lib/unictype/pr_not_a_character.h: Likewise.
15781         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
15782         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
15783         * lib/unictype/pr_other_id_continue.h: Likewise.
15784         * lib/unictype/pr_other_id_start.h: Likewise.
15785         * lib/unictype/pr_other_lowercase.h: Likewise.
15786         * lib/unictype/pr_other_math.h: Likewise.
15787         * lib/unictype/pr_other_uppercase.h: Likewise.
15788         * lib/unictype/pr_paired_punctuation.h: Likewise.
15789         * lib/unictype/pr_paragraph_separator.h: Likewise.
15790         * lib/unictype/pr_pattern_syntax.h: Likewise.
15791         * lib/unictype/pr_pattern_white_space.h: Likewise.
15792         * lib/unictype/pr_private_use.h: Likewise.
15793         * lib/unictype/pr_quotation_mark.h: Likewise.
15794         * lib/unictype/pr_radical.h: Likewise.
15795         * lib/unictype/pr_soft_dotted.h: Likewise.
15796         * lib/unictype/pr_space.h: Likewise.
15797         * lib/unictype/pr_titlecase.h: Likewise.
15798         * lib/unictype/pr_variation_selector.h: Likewise.
15799         * lib/unictype/pr_white_space.h: Likewise.
15800         * lib/unictype/sy_c_ident.h: Likewise.
15801         * lib/unictype/sy_c_whitespace.h: Likewise.
15802         * lib/unictype/sy_java_whitespace.h: Likewise.
15803         * modules/uni*/*: Bump version number of expected libunistring version.
15804         Reported by Simon Josefsson.
15805
15806 2011-01-09  Karl Heuer  <kwzh@gnu.org>
15807
15808         useless-if-before-free: fix typo in --help and make the internal,
15809         automatic version date update process work once again.
15810         --help output contained a NUL character instead of the
15811         backslash-zero that was intended.  Also, the "must lie within
15812         the first 8 lines" line is on line 9, and hence not getting
15813         automatically updated.
15814         * build-aux/useless-if-before-free: Fix the former by adding a
15815         backslash, and the latter by condensing the three lines of what-it-does
15816         to a single line, leaving one line of slack for the future.
15817
15818 2011-01-09  Bruno Haible  <bruno@clisp.org>
15819
15820         uniwidth/width: Fix width of U+1D173..U+1D17A.
15821         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
15822         symbolic_width, output_width_property_test): New functions.
15823         (main): Invoke output_nonspacing_property, output_width_property_test.
15824         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
15825         U+1D173..U+1D17A.
15826         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
15827         1.
15828         * modules/uniwidth/*: Bump version number of expected libunistring
15829         version.
15830         * modules/unilbrk/*: Likewise.
15831
15832 2011-01-08  Bruno Haible  <bruno@clisp.org>
15833
15834         uninorm tests: Preserve copyright of Unicode data file.
15835         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
15836         Mention modifications.
15837
15838 2011-01-08  Bruno Haible  <bruno@clisp.org>
15839
15840         gen-uni-tables: Prepare for Unicode 5.2.0.
15841         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
15842         (debug_output_lbp, output_lbp): Update.
15843
15844 2011-01-08  Bruno Haible  <bruno@clisp.org>
15845
15846         unilbrk: Clarify gen-uni-tables.c code.
15847         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
15848         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
15849         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
15850
15851 2011-01-07  Bruno Haible  <bruno@clisp.org>
15852
15853         strtod: Restore errno when successfully parsing Infinity or NaN.
15854         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
15855         restore the original errno.
15856
15857 2011-01-07  Bruno Haible  <bruno@clisp.org>
15858
15859         remove test: Avoid failure on HP-UX 11.
15860         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
15861
15862 2011-01-07  Bruno Haible  <bruno@clisp.org>
15863
15864         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
15865         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
15866         error code.
15867
15868 2011-01-07  Pádraig Brady <P@draigBrady.com>
15869
15870         ignore-value: fixup comments, and add Eric Blake
15871         as an author since he rewrote the macros.
15872         * lib/ignore-value.h (ignore_value):  State that
15873         we now support aggregates.  Also specify exactly
15874         when the GCC warn_unused_result feature was added.
15875
15876 2011-01-06  Eric Blake  <eblake@redhat.com>
15877
15878         ignore-value: support aggregate types
15879         * lib/ignore-value.h (ignore_value): Provide separate gcc
15880         definition.
15881         * modules/ignore-value-tests: New test module.
15882         * tests/test-ignore-value.c: New test.
15883
15884         maint.mk: improve sc_prohibit_strcmp regex
15885         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
15886         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
15887         definition of STRNEQ.
15888
15889         signal: work around Haiku issue with SIGBUS
15890         * lib/siglist.h: Add comment.
15891         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
15892         strsignal's favoring of SIGSEGV.
15893         * tests/test-signal.c (main): Avoid test failure.
15894         * doc/posix-headers/signal.texi (signal.h): Document the issue.
15895         Reported by Scott McCreary.
15896
15897         maint.mk: add pre-release check to ensure submodule commits are public
15898         * top/maint.mk (public-submodule-commit): New rule.
15899         (submodule-checks): New variable.
15900         (alpha beta stable): Depend on the variable.
15901
15902 2011-01-05  Pádraig Brady <P@draigBrady.com>
15903         and Jim Meyering  <meyering@redhat.com>
15904
15905         ignore-value: make ignore_value more generic; deprecate ignore_ptr
15906         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
15907         (ATTRIBUTE_DEPRECATED): Define.
15908         (_ignore_case): New function.
15909         (ignore_value): New macro, to replace the old function.
15910         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
15911         * modules/ignore-value (Depends-on): Add stdint.
15912
15913 2011-01-04  Eric Blake  <eblake@redhat.com>
15914
15915         doc: regenerate INSTALL
15916         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
15917         @firstparagraphindent support, now that autoconf dropped it.
15918         (INSTALL_PRELUDE): Reinstate old macro.
15919         * doc/install.texi: Resync from autoconf.
15920         * doc/INSTALL: Reflect recent autoconf update.
15921         * doc/INSTALL.ISO: Likewise.
15922         * doc/INSTALL.UTF-8: Likewise.
15923         Reported by Karl Berry.
15924
15925 2011-01-04  Bruce Korb  <address@hidden>
15926
15927         git-version-gen: avoid a sub-shell
15928         * build-aux/git-version-gen: Redirect stderr in `...` via
15929         "exec 2>...", rather than via an added sub-shell.
15930
15931 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
15932
15933         git-version-gen: use (...) rather than sh -c '...'
15934         * build-aux/git-version-gen: Rather than hard-coding a shell's name
15935         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
15936
15937 2011-01-03  Jim Meyering  <meyering@redhat.com>
15938
15939         git-version-gen: convert leading TABs to spaces
15940         * build-aux/git-version-gen: Expand leading TABs.
15941
15942         git-version-gen: handle failed "git rev-list"
15943         * build-aux/git-version-gen: Rather than leaking a "fatal" error
15944         from git and proceeding as if it had succeeded but printed no SHA1
15945         checksums, suppress the diagnostic and handle the failure.
15946         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
15947
15948         git-version-gen: include command name in one more diagnostic
15949         * build-aux/git-version-gen: When the required .tarball-version file
15950         was missing or unreadable, you might see the diagnostic from "cat",
15951         but no trace of the name of the invoking script.  Now, you still see
15952         the diagnostic from cat, but also get one from "git-version-gen: ".
15953         Inspired by a patch from Bruce Korb.
15954
15955         update-copyright: adjust test to match changed code
15956         * tests/test-update-copyright.sh: Change test's expected output
15957         to match new actual output.
15958
15959 2011-01-02  Bruno Haible  <bruno@clisp.org>
15960
15961         getlogin_r: Avoid test failure on HP-UX 11.
15962         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
15963         ERANGE when the second argument is zero.
15964         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
15965         portability problem.
15966
15967 2011-01-02  Bruce Korb  <bkorb@gnu.org>
15968
15969         * build-aux/update-copyright: doc Simon's changes
15970
15971 2011-01-02  Simon Josefsson  <simon@josefsson.org>
15972
15973         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
15974         environment variable.
15975
15976 2011-01-02  Bruno Haible  <bruno@clisp.org>
15977
15978         unigbrk: Avoid gcc warnings.
15979         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
15980         unused variable.
15981         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
15982         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
15983         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
15984         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
15985         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
15986         Change type of first argument to 'const char *'.
15987         (main): Remove unused variable.
15988         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
15989         type of first argument to 'const char *'.
15990         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
15991         Likewise.
15992         (main): Change type of variable 's'.
15993         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
15994         to 'int'.
15995
15996 2011-01-02  Bruno Haible  <bruno@clisp.org>
15997
15998         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
15999         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
16000         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
16001         bug.
16002         * lib/pwrite.c: Undo 2010-12-31 patch.
16003         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
16004
16005 2011-01-02  Bruno Haible  <bruno@clisp.org>
16006
16007         pread: Fix test whether it works.
16008         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
16009
16010 2011-01-02  Bruno Haible  <bruno@clisp.org>
16011
16012         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
16013         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
16014         ends in "6". Don't require a specific month name. Try also the locale
16015         names found on HP-UX 11 and Solaris 7.
16016
16017 2011-01-02  Bruno Haible  <bruno@clisp.org>
16018
16019         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
16020         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
16021         C linkage.
16022         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
16023
16024 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16025
16026         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
16027         for consistency, since the "cluster" term is not used elsewhere.
16028         * lib/unigbrk.in.h: Update name.
16029         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
16030         * lib/unigbrk/u16-grapheme-next.c: Update name.
16031         * lib/unigbrk/u16-grapheme-prev.c: Update name.
16032         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
16033         * lib/unigbrk/u32-grapheme-next.c: Update name.
16034         * lib/unigbrk/u32-grapheme-prev.c: Update name.
16035         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
16036         * lib/unigbrk/u8-grapheme-next.c: Update name.
16037         * lib/unigbrk/u8-grapheme-prev.c: Update name.
16038         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
16039         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
16040         Suggested by Bruno Haible.
16041
16042 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16043
16044         Remove module 'u8-grapheme-len' as too redundant with
16045         'u8-grapheme-next'.
16046         * modules/unigbrk/u8-grapheme-len: Delete file.
16047         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
16048         * lib/unigbrk.in.h: Remove prototype for deleted function.
16049         * lib/unigbrk/u8-grapheme-len.c: Delete file.
16050         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
16051
16052         Remove module 'u16-grapheme-len' as too redundant with
16053         'u16-grapheme-next'.
16054         * modules/unigbrk/u16-grapheme-len: Delete file.
16055         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
16056         * lib/unigbrk.in.h: Remove prototype for deleted function.
16057         * lib/unigbrk/u16-grapheme-len.c: Delete file.
16058         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
16059
16060         Remove module 'u32-grapheme-len' as too redundant with
16061         'u32-grapheme-next'.
16062         * modules/unigbrk/u32-grapheme-len: Delete file.
16063         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
16064         * lib/unigbrk.in.h: Remove prototype for deleted function.
16065         * lib/unigbrk/u32-grapheme-len.c: Delete file.
16066         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
16067
16068         Suggested by Bruno Haible.
16069
16070 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
16071
16072         * unigbrk.in.h: Fix typo: "ben" => "been".
16073         Reported by Bruno Haible.
16074
16075 2011-01-01  Jim Meyering  <meyering@redhat.com>
16076
16077         maint: update almost all copyright ranges to include 2011
16078         Run the new "make update-copyright" rule.
16079
16080 2011-01-01  Jim Meyering  <meyering@redhat.com>
16081
16082         maint: update-copyright: exempt doc/INSTALL*
16083         * Makefile (update-copyright): Also exclude doc/INSTALL*,
16084         since they are generated.  Suggested by Bruno Haible.
16085
16086 2011-01-01  Jim Meyering  <meyering@redhat.com>
16087
16088         maint: refine the update-copyright rule
16089         * Makefile (update-copyright): Also exclude any file that includes
16090         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
16091         code that merely generates the comment.
16092
16093 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16094
16095         New module 'u8-grapheme-len'.
16096         * modules/unigbrk/u8-grapheme-len: New file.
16097         * modules/unigbrk/u8-grapheme-len-tests: New file.
16098         * lib/unigbrk.in.h: Add prototype for new function.
16099         * lib/unigbrk/u8-grapheme-len.c: New file.
16100         * tests/unigbrk/test-u8-grapheme-len.c: New file.
16101
16102         New module 'u16-grapheme-len'.
16103         * modules/unigbrk/u16-grapheme-len: New file.
16104         * modules/unigbrk/u16-grapheme-len-tests: New file.
16105         * lib/unigbrk.in.h: Add prototype for new function.
16106         * lib/unigbrk/u16-grapheme-len.c: New file.
16107         * tests/unigbrk/test-u16-grapheme-len.c: New file.
16108
16109         New module 'u32-grapheme-len'.
16110         * modules/unigbrk/u32-grapheme-len: New file.
16111         * modules/unigbrk/u32-grapheme-len-tests: New file.
16112         * lib/unigbrk.in.h: Add prototype for new function.
16113         * lib/unigbrk/u32-grapheme-len.c: New file.
16114         * tests/unigbrk/test-u32-grapheme-len.c: New file.
16115
16116         New module 'u8-grapheme-next'.
16117         * modules/unigbrk/u8-grapheme-next: New file.
16118         * modules/unigbrk/u8-grapheme-next-tests: New file.
16119         * lib/unigbrk.in.h: Add prototype for new function.
16120         * lib/unigbrk/u8-grapheme-next.c: New file.
16121         * tests/unigbrk/test-u8-grapheme-next.c: New file.
16122
16123         New module 'u16-grapheme-next'.
16124         * modules/unigbrk/u16-grapheme-next: New file.
16125         * modules/unigbrk/u16-grapheme-next-tests: New file.
16126         * lib/unigbrk.in.h: Add prototype for new function.
16127         * lib/unigbrk/u16-grapheme-next.c: New file.
16128         * tests/unigbrk/test-u16-grapheme-next.c: New file.
16129
16130         New module 'u32-grapheme-next'.
16131         * modules/unigbrk/u32-grapheme-next: New file.
16132         * modules/unigbrk/u32-grapheme-next-tests: New file.
16133         * lib/unigbrk.in.h: Add prototype for new function.
16134         * lib/unigbrk/u32-grapheme-next.c: New file.
16135         * tests/unigbrk/test-u32-grapheme-next.c: New file.
16136
16137         New module 'u8-grapheme-prev'.
16138         * modules/unigbrk/u8-grapheme-prev: New file.
16139         * modules/unigbrk/u8-grapheme-prev-tests: New file.
16140         * lib/unigbrk.in.h: Add prototype for new function.
16141         * lib/unigbrk/u8-grapheme-prev.c: New file.
16142         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
16143
16144         New module 'u16-grapheme-prev'.
16145         * modules/unigbrk/u16-grapheme-prev: New file.
16146         * modules/unigbrk/u16-grapheme-prev-tests: New file.
16147         * lib/unigbrk.in.h: Add prototype for new function.
16148         * lib/unigbrk/u16-grapheme-prev.c: New file.
16149         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
16150
16151         New module 'u32-grapheme-prev'.
16152         * modules/unigbrk/u32-grapheme-prev: New file.
16153         * modules/unigbrk/u32-grapheme-prev-tests: New file.
16154         * lib/unigbrk.in.h: Add prototype for new function.
16155         * lib/unigbrk/u32-grapheme-prev.c: New file.
16156         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
16157
16158         New module 'u8-grapheme-breaks'.
16159         * modules/unigbrk/u8-grapheme-breaks: New file.
16160         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
16161         * lib/unigbrk.in.h: Add prototype for new function.
16162         * lib/unigbrk/u8-grapheme-breaks.c: New file.
16163         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
16164
16165         New module 'u16-grapheme-breaks'.
16166         * modules/unigbrk/u16-grapheme-breaks: New file.
16167         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
16168         * lib/unigbrk.in.h: Add prototype for new function.
16169         * lib/unigbrk/u16-grapheme-breaks.c: New file.
16170         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
16171
16172         New module 'u32-grapheme-breaks'.
16173         * modules/unigbrk/u32-grapheme-breaks: New file.
16174         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
16175         * lib/unigbrk.in.h: Add prototype for new function.
16176         * lib/unigbrk/u32-grapheme-breaks.c: New file.
16177         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
16178
16179         New module 'ulc-grapheme-breaks'.
16180         * modules/unigbrk/ulc-grapheme-breaks: New file.
16181         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
16182         * m4/locale-ar.m4: New file.
16183         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
16184         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
16185         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
16186
16187 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
16188
16189         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
16190         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
16191         modified how this file was generated before I initially submitted
16192         the module, but failed to regenerate it.  This meant that several
16193         of the level2 entries were wrong.
16194         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
16195         Remove the division-by-2 that is folded into the table now that
16196         gbrkprop.h has been regenerated properly.  Now -1 entries are
16197         handled correctly.
16198
16199         New module 'unigbrk/uc-gbrk-prop-tests'.
16200         * modules/unigbrk/uc-gbrk-prop-tests: New file.
16201         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
16202         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
16203         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
16204
16205 2011-01-01  Bruno Haible  <bruno@clisp.org>
16206
16207         Avoid use of hexadecimal escapes.
16208         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
16209         instead of hexadecimal escapes.
16210
16211 2011-01-01  Jim Meyering  <meyering@redhat.com>
16212
16213         maint: new rule to update copyright year ranges
16214         * Makefile (update-copyright): New rule.
16215
16216         maint: indent with TABs in Makefile
16217         * Makefile: Expand leading sequences of spaces to TABs
16218
16219         version-etc: update the copyright year it reports
16220         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
16221
16222 2010-12-31  Bruno Haible  <bruno@clisp.org>
16223
16224         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
16225         * lib/isfinite.c (zerof, zerod, zerol): New variables.
16226         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
16227         zero.
16228
16229 2010-12-31  Bruno Haible  <bruno@clisp.org>
16230
16231         pwrite: Work around HP-UX 11.11 bug.
16232         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
16233         works and set REPLACE_PWRITE if not.
16234         * lib/pwrite.c (pwrite): Add an implementation that uses the system
16235         function.
16236         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
16237
16238 2010-12-31  Bruno Haible  <bruno@clisp.org>
16239
16240         pread: Work around HP-UX 11 bugs.
16241         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
16242         and set REPLACE_PREAD if not.
16243         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
16244
16245 2010-12-31  Eric Blake  <eblake@redhat.com>
16246
16247         nl_langinfo: fix YESEXPR on Irix 6.5
16248         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
16249         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
16250         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
16251         it.
16252
16253 2010-12-31  Bruno Haible  <bruno@clisp.org>
16254
16255         iconv: Document HP-UX 11 bug.
16256         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
16257
16258 2010-12-31  Bruno Haible  <bruno@clisp.org>
16259
16260         ldexpl: Fix link error on HP-UX 11.
16261         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
16262         LDEXPL_LIBM, using $ISNANL_LIBM.
16263
16264 2010-12-31  Eric Blake  <eblake@redhat.com>
16265
16266         ftello: avoid compilation failure with SunStudio c89
16267         * lib/ftello.c (ftello): Use lseek, not llseek.
16268
16269         tests: avoid failing coreutils tests on cygwin
16270         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
16271         (create_exe_shims_): Return 0 when skipping.
16272
16273 2010-12-31  Bruno Haible  <bruno@clisp.org>
16274
16275         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
16276         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
16277
16278 2010-12-31  Bruno Haible  <bruno@clisp.org>
16279
16280         waitpid: Fix link error in C++ mode.
16281         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
16282
16283 2010-12-31  Bruno Haible  <bruno@clisp.org>
16284
16285         isnan: Use GCC built-ins when possible.
16286         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
16287         __builtin_isnan.
16288         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
16289         (isnan): Define using GCC built-ins for GCC >= 4.0.
16290
16291 2010-12-31  Bruno Haible  <bruno@clisp.org>
16292
16293         isnand: Fix mistake.
16294         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
16295         __builtin_isnand.
16296
16297 2010-12-31  Bruno Haible  <bruno@clisp.org>
16298
16299         open: Avoid C++ error on HP-UX 11.
16300         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
16301
16302 2010-12-31  Bruno Haible  <bruno@clisp.org>
16303
16304         time_r: Add missing declarations on HP-UX 11.
16305         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
16306         instead of HAVE_LOCALTIME_R.
16307         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
16308         HAVE_LOCALTIME_R always.
16309         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
16310         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
16311         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
16312         HAVE_LOCALTIME_R.
16313         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
16314         * doc/posix-functions/localtime_r.texi: Likewise.
16315
16316 2010-12-29  Eric Blake  <eblake@redhat.com>
16317
16318         mountlist: tweak previous commit
16319         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
16320         Reported by Paul Eggert.
16321
16322         mountlist: fix local drive detection on cygwin
16323         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
16324         that works for cygwin.
16325
16326 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
16327
16328         ftoastr, snprintf: ftoastr + snprintf module
16329         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
16330         since the snprintf module now should be good enough here.
16331         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
16332         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
16333         and gl_MODULE_INDICATOR([snprintf]), but the former enables
16334         GNULIB_SNPRINTF only for the test directory, and the latter
16335         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
16336         seems to suffice by itself.
16337
16338 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16339
16340         alloca: one step towards thread-safety
16341         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
16342         need for a static variable.  All callers changed.  This does not
16343         make the alloca replacement thread-safe, but it's one step.
16344
16345         tests: minor indenting change
16346         * tests/init.sh: Sync from coreutils housekeeping patch
16347         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
16348         to keep lines within 80 columns.
16349
16350 2010-12-28  Jim Meyering  <meyering@redhat.com>
16351
16352         regex: don't infloop on persistent failing calloc
16353         * lib/regexec.c (build_trtable): Return failure indication upon
16354         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
16355         In glibc, this was fixed for version 2.13:
16356         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
16357
16358 2010-12-28  Bruno Haible  <bruno@clisp.org>
16359             Paul Eggert <eggert@cs.ucla.edu>
16360
16361         linkat: Make implementation robust against system behaviour variations.
16362         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
16363         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
16364         way, and to -2 if it needs a generic runtime test.
16365         * lib/linkat.c (solaris_optimized_link_immediate,
16366         solaris_optimized_link_follow): New functions.
16367         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
16368         (check_same_link): Use it.
16369
16370 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
16371
16372         New module 'unigbrk/base'.
16373         * modules/unigbrk/base: New file.
16374         * lib/unigbrk.in.h: New file.
16375
16376         New module 'unigbrk/uc-gbrk-prop'.
16377         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
16378         * modules/unigbrk/uc-gbrk-prop: New file.
16379         * lib/unigbrk/gbrkprop.h: New file.
16380         * lib/unigbrk/uc-gbrk-prop.c: New file.
16381
16382         New module 'unigbrk/uc-is-grapheme-break'.
16383         * modules/unigbrk/uc-is-grapheme-break: New file.
16384         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
16385         * lib/unigbrk/uc-is-grapheme-break.c: New file.
16386         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
16387         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
16388         * tests/unigbrk/GraphemeBreakTest.txt: New file.
16389
16390         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
16391
16392 2010-12-27  Bruno Haible  <bruno@clisp.org>
16393
16394         linkat test: Avoid failure on Solaris 11 2010-11.
16395         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
16396
16397 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16398
16399         utimens: work around glibc rounding bug on more platforms
16400         * lib/utimens.c (fdutimens): Work around rounding bug even if
16401         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
16402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
16403
16404 2010-12-27  Bruno Haible  <bruno@clisp.org>
16405
16406         select tests: Improve comments.
16407         * tests/test-select.c (do_select): Add comments.
16408
16409 2010-12-27  Bruno Haible  <bruno@clisp.org>
16410
16411         select tests: Safer way of handling timeout.
16412         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
16413         at every invocation.
16414
16415 2010-12-27  Bruno Haible  <bruno@clisp.org>
16416
16417         select tests: Use 'bool' where appropriate.
16418         * tests/test-select.c (connect_to_socket): Change argument type to
16419         'bool'.
16420
16421 2010-12-27  Bruno Haible  <bruno@clisp.org>
16422
16423         select tests: Use existing modules.
16424         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
16425         (configure.ac): Don't test for unistd.h.
16426         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
16427         declared in <unistd.h>.
16428
16429 2010-12-27  Bruno Haible  <bruno@clisp.org>
16430
16431         mbrtowc: Work around a Solaris 7 bug.
16432         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
16433         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
16434         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
16435         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
16436         MBRTOWC_NULL_ARG1_BUG.
16437         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
16438         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
16439         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
16440         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
16441
16442 2010-12-27  Jim Meyering  <meyering@redhat.com>
16443
16444         read-file.c: tweak syntax
16445         * lib/read-file.c (fread_file): Remove space after "*" in function
16446         definitions.
16447
16448 2010-12-27  Bruno Haible  <bruno@clisp.org>
16449
16450         times test: Avoid gcc warnings on OSF/1.
16451         * tests/test-times.c (main): Cast printf arguments from clock_t to
16452         'long int'.
16453
16454 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16455
16456         utimens: work around glibc rounding bug on older Linux kernels
16457         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
16458         on Linux with a glibc whose utimes might not work, then work
16459         around a longstanding glibc bug involving rounding rather than
16460         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
16461         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16462
16463 2010-12-26  Bruno Haible  <bruno@clisp.org>
16464
16465         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
16466         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
16467         _GL_CXXALIAS_SYS.
16468         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16469
16470 2010-12-26  Bruno Haible  <bruno@clisp.org>
16471
16472         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
16473         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
16474         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16475         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
16476         looking for the declaration.
16477         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
16478         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
16479         problem.
16480         * doc/posix-functions/inet_pton.texi: Likewise.
16481
16482 2010-12-26  Bruno Haible  <bruno@clisp.org>
16483
16484         arpa_inet: Use the common idioms with C++ support.
16485         * lib/arpa_inet.in.h: Include c++defs.h.
16486         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
16487         support.
16488         * modules/arpa_inet (Depends-on): Add c++defs.
16489         (Makefile.am): Substitute the contents of c++defs.h.
16490         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
16491         * modules/arpa_inet-c++-tests: New file.
16492         * tests/test-arpa_inet-c++.cc: New file.
16493
16494 2010-12-25  Bruno Haible  <bruno@clisp.org>
16495
16496         Fix more C++ link errors on Solaris 8.
16497         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
16498         $(LIB_EACCESS).
16499         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
16500         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
16501         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
16502         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
16503         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
16504
16505 2010-12-25  Bruno Haible  <bruno@clisp.org>
16506
16507         printf-posix: Fix link error when a non-GCC compiler is used.
16508         * lib/stdio.in.h (printf): When not using GCC, override printf
16509         correctly.
16510         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16511
16512 2010-12-25  Bruno Haible  <bruno@clisp.org>
16513
16514         strerror_r-posix: Update doc.
16515         * doc/posix-functions/strerror_r.texi: Update doc about the return
16516         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
16517
16518 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
16519
16520         utimens: simplify the logic of the previous change
16521         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
16522         This should not affect whether the test succeeds or fails.
16523
16524         utimens: configure better on hosts with NFS clock skew
16525         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
16526         uses the clock of the local host.  It might use the clock of the
16527         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
16528         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
16529
16530 2010-12-25  Bruno Haible  <bruno@clisp.org>
16531
16532         ptsname test: Avoid failure on Solaris.
16533         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
16534         open a pseudo-terminal; don't use BSD-style ptys.
16535         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
16536
16537 2010-12-25  Bruno Haible  <bruno@clisp.org>
16538
16539         ptsname: Avoid ERANGE failure on some systems.
16540         * lib/ptsname.c (buffer): Increase size.
16541
16542 2010-12-25  Bruno Haible  <bruno@clisp.org>
16543
16544         rename, renameat: Avoid test failures at NFS mounted locations.
16545         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
16546         so that subsequent mkdir calls succeed.
16547
16548 2010-12-25  Bruno Haible  <bruno@clisp.org>
16549
16550         iswblank: Fix C++ link error on Solaris 8.
16551         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
16552         _GL_FUNCDECL_SYS.
16553
16554 2010-12-25  Bruno Haible  <bruno@clisp.org>
16555
16556         unistd: Fix C++ link error on Solaris 8.
16557         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
16558
16559 2010-12-25  Bruno Haible  <bruno@clisp.org>
16560
16561         readlink doc: Mention an old glibc bug.
16562         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
16563
16564 2010-12-25  Bruno Haible  <bruno@clisp.org>
16565
16566         fcntl-h: Fix for use of C++ on glibc systems.
16567         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16568         also on glibc systems in C++ mode.
16569         Reported by Gary V. Vaughan <gary@gnu.org>.
16570
16571 2010-12-25  Bruno Haible  <bruno@clisp.org>
16572
16573         roundl-ieee: Make it work on OSF/1 5.1 with cc.
16574         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
16575
16576 2010-12-25  Bruno Haible  <bruno@clisp.org>
16577
16578         truncl-ieee: Make it work on OSF/1 5.1 with cc.
16579         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
16580         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
16581         test whether truncl works according to ISO C 99 with IEC 60559.
16582         * m4/truncl-ieee.m4: New file.
16583         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
16584         m4/signbit.m4.
16585         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
16586
16587 2010-12-25  Bruno Haible  <bruno@clisp.org>
16588
16589         ceill-ieee: Make it work on OSF/1 5.1 with cc.
16590         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
16591         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
16592         test whether ceill works according to ISO C 99 with IEC 60559.
16593         * m4/ceill-ieee.m4: New file.
16594         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
16595         m4/signbit.m4.
16596         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
16597
16598 2010-12-25  Bruno Haible  <bruno@clisp.org>
16599
16600         Ensure all prerequisites of <wchar.h> are included.
16601         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
16602         before <wchar.h>.
16603         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16604         gl_MBRLEN_NUL_RETVAL): Likewise.
16605         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16606         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
16607         AC_FUNC_MBRTOWC): Likewise.
16608         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16609         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
16610         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16611         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16612         Likewise.
16613         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16614         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
16615         (gl_WCHAR_H): Improve comments.
16616         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16617
16618 2010-12-25  Bruno Haible  <bruno@clisp.org>
16619
16620         strtok_r: Fix C syntax error in autoconf macro.
16621         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
16622         characters in test program.
16623
16624 2010-12-24  Bruno Haible  <bruno@clisp.org>
16625
16626         ceil, trunc, round: Fix gcc warnings.
16627         * lib/ceil.c (MIN): Undefine before redefining.
16628         * lib/trunc.c (MIN): Likewise.
16629         * lib/round.c (MIN): Likewise.
16630         Include <math.h> first.
16631
16632 2010-12-24  Bruno Haible  <bruno@clisp.org>
16633
16634         select tests: Avoid failures on OSF/1 5.1.
16635         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
16636         failure of closing the last socket; it may fail with ECONNRESET.
16637
16638 2010-12-24  Eric Blake  <eblake@redhat.com>
16639
16640         stdint: avoid HP-UX 10.20 preprocessor bug
16641         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
16642         than #if.
16643         * tests/test-floor2.c (main): Likewise.
16644         Reported by Peter O'Gorman.
16645
16646         pipe: make obsoletion transition easier
16647         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
16648         * modules/pipe (Files): Include revived file.
16649         (Include): Drop reference, to mirror getdate's behavior.
16650
16651 2010-12-24  Bruno Haible  <bruno@clisp.org>
16652
16653         sys_socket: Hide mismatch of declarations on NonStop Kernel.
16654         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
16655         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
16656         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16657
16658 2010-12-24  Bruno Haible  <bruno@clisp.org>
16659
16660         gethostname: Ensure declaration on NonStop Kernel.
16661         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
16662         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16663
16664 2010-12-24  Bruno Haible  <bruno@clisp.org>
16665
16666         sys_select: Ensure all necessary types on NonStop Kernel.
16667         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
16668         include <sys/time.h>.
16669         * doc/posix-headers/sys_select.texi: Mention that it's missing on
16670         NonStop Kernel.
16671         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16672
16673 2010-12-24  Bruno Haible  <bruno@clisp.org>
16674
16675         sys_select: Remove unneeded include.
16676         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
16677         have <sys/select.h>.
16678
16679 2010-12-24  Bruno Haible  <bruno@clisp.org>
16680
16681         gethostname: Provide a fallback for HOST_NAME_MAX.
16682         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
16683         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
16684         instead.
16685         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16686
16687 2010-12-24  Bruno Haible  <bruno@clisp.org>
16688
16689         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
16690         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
16691         (SA_RESTART): Likewise.
16692         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16693
16694 2010-12-24  Bruno Haible  <bruno@clisp.org>
16695
16696         signal: Define NSIG.
16697         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
16698         * tests/test-signal.c (nsig): New variable.
16699         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16700
16701 2010-12-24  Bruno Haible  <bruno@clisp.org>
16702
16703         rename, renameat: Avoid test failures on OSF/1 5.1.
16704         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
16705         alternative error codes.
16706         * tests/test-renameat.c (main): Likewise.
16707
16708 2010-12-24  Bruno Haible  <bruno@clisp.org>
16709
16710         *printf: Detect large precisions bug on Solaris 10/SPARC.
16711         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
16712         by Paul Eggert.
16713         * tests/test-snprintf-posix.h (test_function): Add this test code here
16714         too.
16715         * tests/test-sprintf-posix.h (test_function): Likewise.
16716         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16717         * tests/test-vasprintf-posix.c (test_function): Likewise.
16718         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
16719         around by gnulib.
16720         * doc/posix-functions/printf.texi: Likewise.
16721         * doc/posix-functions/snprintf.texi: Likewise.
16722         * doc/posix-functions/sprintf.texi: Likewise.
16723         * doc/posix-functions/vfprintf.texi: Likewise.
16724         * doc/posix-functions/vprintf.texi: Likewise.
16725         * doc/posix-functions/vsnprintf.texi: Likewise.
16726         * doc/posix-functions/vsprintf.texi: Likewise.
16727         * doc/posix-functions/dprintf.texi: Undo last commit.
16728         * doc/posix-functions/vdprintf.texi: Likewise.
16729
16730 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16731
16732         tests: port test-fdutimensat.c to Solaris 8
16733         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
16734         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
16735         On Solaris 8, it fails with errno == ENOSYS, because there is no
16736         futimens (so it can't use the fd), and there is no lutimens (so it
16737         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
16738
16739         vsnprintf: make more consistent with snprintf; doc fixes
16740
16741         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
16742         the byte count return problem was promoted from the snprintf-posix
16743         to the snprintf module.
16744         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16745         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
16746         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
16747         * tests/test-snprintf.c (main): Check the byte count returned.
16748         * tests/test-vsnprintf.c (main): Likewise.
16749
16750 2010-12-23  Eric Blake  <eblake@redhat.com>
16751
16752         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
16753         * modules/sigpipe (License): Relax license.
16754
16755 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16756
16757         doc: document Solaris printf bug with large float precisions
16758         * doc/posix-functions/dprintf.texi (dprintf):
16759         * doc/posix-functions/fprintf.texi (fprintf):
16760         * doc/posix-functions/printf.texi (printf):
16761         * doc/posix-functions/snprintf.texi (snprintf):
16762         * doc/posix-functions/sprintf.texi (sprintf):
16763         * doc/posix-functions/vdprintf.texi (vdprintf):
16764         * doc/posix-functions/vfprintf.texi (vfprintf):
16765         * doc/posix-functions/vprintf.texi (vprintf):
16766         * doc/posix-functions/vsnprintf.texi (vsnprintf):
16767         * doc/posix-functions/vsprintf.texi (vsprintf):
16768         Mention that these functions mishandle large floating point
16769         precisions on Solaris 10.  The same bug is also present in Solaris
16770         8, and I assume earlier.  This causes "cd gnulib-tests; make
16771         check" to fail on Solaris 8 (and I assume, later) when building
16772         the latest coreutils, in test-vasprintf-posix's call to
16773         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
16774         the wide flavors (e.g., wprintf) so this patch just updates the
16775         documentation for the narrow ones.
16776
16777         test-posixtm.c: add two tests
16778         * tests/test-posixtm.c: Add two tests, to highlight the
16779         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
16780         around this bug; this is merely to document it.
16781
16782 2010-12-22  Bruno Haible  <bruno@clisp.org>
16783
16784         getlogin_r: Work around portability problem on OSF/1.
16785         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
16786         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
16787         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
16788         test for a truncated result.
16789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
16790         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
16791         * modules/getlogin_r (Depends-on): Add memchr.
16792         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
16793
16794 2010-12-22  Bruno Haible  <bruno@clisp.org>
16795
16796         ptsname: Avoid test failure on OSF/1 5.1.
16797         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
16798         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
16799         (same_slave): New function.
16800         (main): Use it to compare ptsname's result with the expected file name.
16801
16802 2010-12-22  Bruno Haible  <bruno@clisp.org>
16803
16804         Port extended stdio modules to HP NonStop Kernel.
16805         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
16806         macros.
16807         * lib/fbufmode.c: Update comments.
16808         * lib/fflush.c: Likewise.
16809         * lib/fpurge.c: Likewise.
16810         * lib/freadable.c: Likewise.
16811         * lib/freadahead.c: Likewise.
16812         * lib/freading.c: Likewise.
16813         * lib/freadptr.c: Likewise.
16814         * lib/freadseek.c: Likewise.
16815         * lib/fseeko.c: Likewise.
16816         * lib/fseterr.c: Likewise.
16817         * lib/fwritable.c: Likewise.
16818         * lib/fwriting.c: Likewise.
16819         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
16820
16821 2010-12-22  Bruno Haible  <bruno@clisp.org>
16822
16823         ttyname_r: Work around bug on OSF/1 5.1.
16824         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
16825         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
16826         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
16827         present.
16828         * lib/ttyname_r.c (ttyname_r): Update comments.
16829
16830 2010-12-22  Bruno Haible  <bruno@clisp.org>
16831
16832         round: Implement result sign according to IEEE 754.
16833         * lib/round.c (MIN, MINUS_ZERO): New macros.
16834         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
16835         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
16836         * tests/test-round-ieee.c (main): Likewise.
16837         * tests/test-roundl-ieee.c (main): Likewise.
16838
16839         trunc: Implement result sign according to IEEE 754.
16840         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
16841         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
16842         * tests/test-trunc2.c: Include minus-zero.h.
16843         (MINUS_ZERO): New macro.
16844         (trunc_reference): Keep in sync with lib/trunc.c.
16845         * tests/test-truncf2.c: Include minus-zero.h.
16846         (MINUS_ZERO): New macro.
16847         (truncf_reference): Keep in sync with lib/trunc.c.
16848         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
16849         * tests/test-trunc-ieee.c (main): Likewise.
16850         * tests/test-truncl-ieee.c (main): Likewise.
16851
16852         ceil: Implement result sign according to IEEE 754.
16853         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
16854         (FUNC): Return -0.0 for -1 < x < 0.
16855         * tests/test-ceil2.c: Include minus-zero.h.
16856         (MINUS_ZERO): New macro.
16857         (ceil_reference): Keep in sync with lib/ceil.c.
16858         * tests/test-ceilf2.c: Include minus-zero.h.
16859         (MINUS_ZERO): New macro.
16860         (ceilf_reference): Keep in sync with lib/ceil.c.
16861         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
16862         * tests/test-ceil-ieee.c (main): Likewise.
16863         * tests/test-ceill-ieee.c (main): Likewise.
16864
16865         floor: Implement result sign according to IEEE 754.
16866         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
16867         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
16868         * tests/test-floorf2.c (floorf_reference): Likewise.
16869         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
16870         * tests/test-floor-ieee.c (main): Likewise.
16871         * tests/test-floorl-ieee.c (main): Likewise.
16872
16873 2010-12-22  Bruno Haible  <bruno@clisp.org>
16874
16875         getaddrinfo: Update doc.
16876         * doc/posix-functions/gai_strerror.texi: Return type is also different
16877         on AIX and HP-UX.
16878
16879 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16880
16881         getaddrinfo, inet_ntop: Update doc for Solaris.
16882         * doc/posix-functions/gai_strerror.texi: Return type is also an
16883         issue on Solaris 9 and earlier.
16884         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
16885         on Solaris 10 and earlier.
16886
16887 2010-12-21  Bruno Haible  <bruno@clisp.org>
16888
16889         New module 'roundl-ieee'.
16890         * modules/roundl-ieee: New file.
16891         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
16892         test whether roundl works according to ISO C 99 with IEC 60559.
16893         * m4/roundl-ieee.m4: New file.
16894         * modules/roundl-ieee-tests: New file.
16895         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
16896         * tests/test-roundl.c (main): Remove signbit tests.
16897         * modules/roundl-tests (Depends-on): Remove signbit.
16898         * doc/posix-functions/roundl.texi: Mention the new module.
16899
16900 2010-12-21  Bruno Haible  <bruno@clisp.org>
16901
16902         New module 'truncl-ieee'.
16903         * modules/truncl-ieee: New file.
16904         * modules/truncl-ieee-tests: New file.
16905         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
16906         * tests/test-truncl.c (main): Remove signbit tests.
16907         * modules/truncl-tests (Depends-on): Remove signbit.
16908         * doc/posix-functions/truncl.texi: Mention the new module.
16909
16910 2010-12-21  Bruno Haible  <bruno@clisp.org>
16911
16912         New module 'ceill-ieee'.
16913         * modules/ceill-ieee: New file.
16914         * modules/ceill-ieee-tests: New file.
16915         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
16916         * tests/test-ceill.c (main): Remove signbit tests.
16917         * modules/ceill-tests (Depends-on): Remove signbit.
16918         * doc/posix-functions/ceill.texi: Mention the new module.
16919
16920 2010-12-21  Bruno Haible  <bruno@clisp.org>
16921
16922         New module 'floorl-ieee'.
16923         * modules/floorl-ieee: New file.
16924         * modules/floorl-ieee-tests: New file.
16925         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
16926         * tests/test-floorl.c (main): Remove signbit tests.
16927         * modules/floorl-tests (Depends-on): Remove signbit.
16928         * doc/posix-functions/floorl.texi: Mention the new module.
16929
16930 2010-12-21  Bruno Haible  <bruno@clisp.org>
16931
16932         New module 'round-ieee'.
16933         * modules/round-ieee: New file.
16934         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
16935         whether round works according to ISO C 99 with IEC 60559.
16936         * m4/round-ieee.m4: New file.
16937         * modules/round-ieee-tests: New file.
16938         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
16939         * tests/test-round1.c (main): Remove signbit tests.
16940         * modules/round-tests (Depends-on): Remove 'signbit'.
16941         * doc/posix-functions/round.texi: Mention the new module.
16942
16943 2010-12-21  Bruno Haible  <bruno@clisp.org>
16944
16945         New module 'trunc-ieee'.
16946         * modules/trunc-ieee: New file.
16947         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
16948         whether trunc works according to ISO C 99 with IEC 60559.
16949         * m4/trunc-ieee.m4: New file.
16950         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
16951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
16952         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
16953         * modules/trunc-ieee-tests: New file.
16954         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
16955         * tests/test-trunc1.c (main): Remove signbit tests.
16956         * modules/trunc-tests (Depends-on): Remove 'signbit'.
16957         * doc/posix-functions/trunc.texi: Mention the new module.
16958
16959 2010-12-21  Bruno Haible  <bruno@clisp.org>
16960
16961         New module 'ceil-ieee'.
16962         * modules/ceil-ieee: New file.
16963         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
16964         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
16965         ISO C 99 with IEC 60559.
16966         * m4/ceil-ieee.m4: New file.
16967         * modules/ceil (Files): Add lib/ceil.c.
16968         (Depends-on): Add 'float'.
16969         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16970         * lib/math.in.h (ceil): New declaration.
16971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
16972         REPLACE_CEIL.
16973         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
16974         * modules/ceil-ieee-tests: New file.
16975         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
16976         * tests/test-math-c++.cc: Check the signature of 'ceil'.
16977         * doc/posix-functions/ceil.texi: Mention the new module.
16978
16979 2010-12-21  Bruno Haible  <bruno@clisp.org>
16980
16981         New module 'floor-ieee'.
16982         * modules/floor-ieee: New file.
16983         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
16984         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
16985         ISO C 99 with IEC 60559.
16986         * m4/floor-ieee.m4: New file.
16987         * modules/floor (Files): Add lib/floor.c.
16988         (Depends-on): Add 'float'.
16989         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16990         * lib/math.in.h (floor): New declaration.
16991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
16992         REPLACE_FLOOR.
16993         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
16994         * modules/floor-ieee-tests: New file.
16995         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
16996         * tests/test-math-c++.cc: Check the signature of 'floor'.
16997         * doc/posix-functions/floor.texi: Mention the new module.
16998
16999 2010-12-21  Bruno Haible  <bruno@clisp.org>
17000
17001         New module 'roundf-ieee'.
17002         * modules/roundf-ieee: New file.
17003         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
17004         test whether roundf works according to ISO C 99 with IEC 60559.
17005         * m4/roundf-ieee.m4: New file.
17006         * modules/roundf-ieee-tests: New file.
17007         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
17008         * tests/test-roundf1.c (main): Remove signbit tests.
17009         * modules/roundf-tests (Depends-on): Remove 'signbit'.
17010         * doc/posix-functions/roundf.texi: Mention the new module.
17011
17012 2010-12-21  Bruno Haible  <bruno@clisp.org>
17013
17014         New module 'truncf-ieee'.
17015         * modules/truncf-ieee: New file.
17016         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
17017         test whether truncf works according to ISO C 99 with IEC 60559.
17018         * m4/truncf-ieee.m4: New file.
17019         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
17020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
17021         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
17022         * modules/truncf-ieee-tests: New file.
17023         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
17024         * tests/test-truncf1.c (main): Remove signbit tests.
17025         * modules/truncf-tests (Depends-on): Remove 'signbit'.
17026         * doc/posix-functions/truncf.texi: Mention the new module.
17027
17028 2010-12-21  Bruno Haible  <bruno@clisp.org>
17029
17030         New module 'ceilf-ieee'.
17031         * modules/ceilf-ieee: New file.
17032         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
17033         test whether ceilf works according to ISO C 99 with IEC 60559.
17034         * m4/ceilf-ieee.m4: New file.
17035         * modules/ceilf-ieee-tests: New file.
17036         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
17037         * tests/test-ceilf1.c (main): Remove signbit tests.
17038         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
17039         * doc/posix-functions/ceilf.texi: Mention the new module.
17040
17041 2010-12-21  Bruno Haible  <bruno@clisp.org>
17042
17043         New module 'floorf-ieee'.
17044         * modules/floorf-ieee: New file.
17045         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
17046         test whether floorf works according to ISO C 99 with IEC 60559.
17047         * m4/floorf-ieee.m4: New file.
17048         * modules/floorf-ieee-tests: New file.
17049         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
17050         * tests/test-floorf1.c (main): Remove signbit tests.
17051         * modules/floorf-tests (Depends-on): Remove 'signbit'.
17052         * doc/posix-functions/floorf.texi: Mention the new module.
17053
17054 2010-12-21  Bruno Haible  <bruno@clisp.org>
17055
17056         Support for minus zero in autoconf macros.
17057         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
17058         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
17059         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
17060         * tests/minus-zero.h: Update comments.
17061
17062 2010-12-21  Bruno Haible  <bruno@clisp.org>
17063
17064         Tests for module 'ceil'.
17065         * modules/ceil-tests: New file.
17066         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
17067         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
17068
17069 2010-12-21  Bruno Haible  <bruno@clisp.org>
17070
17071         Tests for module 'floor'.
17072         * modules/floor-tests: New file.
17073         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
17074         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
17075
17076 2010-12-21  Bruno Haible  <bruno@clisp.org>
17077
17078         math: Fix indentation.
17079         * lib/math.in.h (floorf): Fix indentation.
17080
17081 2010-12-21  Bruno Haible  <bruno@clisp.org>
17082
17083         Fix cross-compilation guesses on Solaris.
17084         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
17085         not match "solaris2.10".
17086         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17087         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
17088         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
17089
17090 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
17091
17092         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
17093         This fixes a problem observed with the latest coreutils snapshot
17094         that caused a test to fail on Solaris 8.  src/csplit.c's call
17095         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
17096         earlier, instead of returning the number of bytes that would have
17097         been generated; this causes csplit to incorrectly report memory
17098         exhaustion.
17099         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
17100         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
17101         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
17102         comments to match.
17103         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
17104         Fix typo in matching older versions of Solaris: "solaris2.10"
17105         is matched by the shell pattern "solaris2.[0-9]*".  This matters
17106         only for guessing while cross-compiling.
17107         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
17108
17109 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
17110
17111         ftoastr: fix comment again
17112         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17113         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
17114         Also, simplify example a bit by using flags = 0.
17115
17116 2010-12-20  Bruno Haible  <bruno@clisp.org>
17117
17118         round*, trunc*: Update documentation regarding glibc.
17119         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
17120         * doc/posix-functions/round.texi: Likewise.
17121         * doc/posix-functions/roundl.texi: Likewise.
17122         * doc/posix-functions/truncf.texi: Likewise.
17123         * doc/posix-functions/trunc.texi: Likewise.
17124         * doc/posix-functions/truncl.texi: Likewise.
17125
17126 2010-12-20  Bruno Haible  <bruno@clisp.org>
17127
17128         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
17129         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
17130         * doc/posix-functions/round.texi: Likewise.
17131         * doc/posix-functions/roundl.texi: Likewise.
17132
17133 2010-12-20  Bruno Haible  <bruno@clisp.org>
17134
17135         ttyname_r: Add missing declaration on HP-UX 11.
17136         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
17137         HAVE_TTYNAME_R.
17138         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
17139         declared. Set HAVE_TTYNAME_R always.
17140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17141         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
17142         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
17143         HAVE_TTYNAME_R.
17144         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
17145
17146 2010-12-20  Bruno Haible  <bruno@clisp.org>
17147
17148         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
17149         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
17150         * doc/posix-functions/getlogin_r.texi: Likewise.
17151         * tests/test-getlogin.c: Include <errno.h>.
17152         (main): Avoid test failure on HP-UX 11.11.
17153         * tests/test-getlogin_r.c (main): Likewise.
17154
17155 2010-12-20  Bruno Haible  <bruno@clisp.org>
17156
17157         getlogin_r: Add missing declaration on HP-UX 11.
17158         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
17159         declared also when it exists as a function.
17160         * doc/posix-functions/getlogin_r.texi: Document this workaround.
17161
17162 2010-12-20  Bruno Haible  <bruno@clisp.org>
17163
17164         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
17165         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
17166         through wcrtomb.
17167
17168 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
17169
17170         ftoastr: fix comment
17171         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
17172         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
17173
17174 2010-12-19  Bruno Haible  <bruno@clisp.org>
17175
17176         isnan: Ensure it is a macro.
17177         * lib/math.in.h (isnan): Define as a macro if not already a macro.
17178         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
17179         Solaris.
17180
17181 2010-12-19  Bruno Haible  <bruno@clisp.org>
17182
17183         ldexpl test: Fix link error on OSF/1 5.1.
17184         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
17185
17186 2010-12-19  Bruno Haible  <bruno@clisp.org>
17187
17188         wctype: Make it work in C++ mode on OSF/1 5.1.
17189         * lib/wctype.in.h (iswblank): Declare but not define here.
17190         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
17191         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
17192         * modules/wctype (Files): Add lib/iswblank.c.
17193
17194 2010-12-19  Bruno Haible  <bruno@clisp.org>
17195
17196         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
17197         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
17198         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
17199
17200 2010-12-19  Bruno Haible  <bruno@clisp.org>
17201
17202         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
17203         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
17204         _POSIX_PII_SOCKET.
17205         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
17206         * doc/posix-functions/recvfrom.texi: Likewise.
17207         * doc/posix-functions/send.texi: Likewise.
17208         * doc/posix-functions/sendto.texi: Likewise.
17209
17210 2010-12-19  Bruno Haible  <bruno@clisp.org>
17211
17212         tcgetsid: Add missing declaration on OSF/1 5.1.
17213         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
17214         HAVE_TCGETSID.
17215         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
17216         Don't set HAVE_TCGETSID.
17217         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
17218         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
17219         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
17220         HAVE_TCGETSID.
17221         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
17222
17223 2010-12-19  Bruno Haible  <bruno@clisp.org>
17224
17225         stdio: Fix problem with popen() declaration on OSF/1 5.1.
17226         * lib/stdio.in.h: During the include_next statement, let recursive
17227         includes of this file include only the system header file.
17228
17229 2010-12-19  Bruno Haible  <bruno@clisp.org>
17230
17231         iconv_open: Fix regression from 2010-12-04.
17232         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
17233         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
17234
17235 2010-12-19  Bruno Haible  <bruno@clisp.org>
17236
17237         stdbool test: Avoid a gcc warning.
17238         * tests/test-stdbool.c (main): Fail if e1 is false.
17239         Reported by Jim Meyering.
17240
17241 2010-12-19  Jim Meyering  <meyering@redhat.com>
17242
17243         setenv: restore to working order
17244         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
17245         mistakenly removed.
17246         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
17247         HAVE_SETENV.
17248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
17249         HAVE_SETENV.
17250
17251 2010-12-19  Bruno Haible  <bruno@clisp.org>
17252
17253         Document some different function declarations on OSF/1 5.1.
17254         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
17255         * doc/posix-functions/inet_ntop.texi: Likewise.
17256         * doc/posix-functions/gethostname.texi: Likewise.
17257         * lib/unistd.in.h (gethostname): Update comment.
17258
17259 2010-12-19  Bruno Haible  <bruno@clisp.org>
17260
17261         doc: Mention vasprintf-posix module.
17262         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
17263         the 'vasprintf-posix' module.
17264         * doc/glibc-functions/vasprintf.texi: Likewise.
17265
17266 2010-12-19  Bruno Haible  <bruno@clisp.org>
17267
17268         unsetenv: Add missing declaration on OSF/1 5.1.
17269         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
17270         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
17271         Don't set HAVE_UNSETENV. In the test program, set _BSD.
17272         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
17273         not HAVE_UNSETENV.
17274         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
17275         HAVE_UNSETENV.
17276         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
17277
17278 2010-12-19  Bruno Haible  <bruno@clisp.org>
17279
17280         setenv: Add missing declaration on OSF/1 5.1.
17281         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
17282         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
17283         declared. Don't set HAVE_SETENV.
17284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
17285         not HAVE_SETENV.
17286         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
17287         HAVE_SETENV.
17288         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
17289
17290 2010-12-19  Bruno Haible  <bruno@clisp.org>
17291
17292         nl_langinfo tests: Avoid gcc warning.
17293         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
17294
17295 2010-12-19  Bruno Haible  <bruno@clisp.org>
17296
17297         mknod: Avoid error in C++ mode on OSF/1 with GCC.
17298         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
17299         _GL_CXXALIAS_SYS.
17300
17301 2010-12-19  Bruno Haible  <bruno@clisp.org>
17302
17303         stdbool: Relax test.
17304         * tests/test-stdbool.c (e): Don't require that casts from a variable's
17305         address to 'bool' work in static initializer, for compilers other than
17306         GCC.
17307
17308 2010-12-19  Bruno Haible  <bruno@clisp.org>
17309
17310         ftello: Add missing declaration on OSF/1 5.1.
17311         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
17312         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
17313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
17314         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
17315         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
17316
17317 2010-12-19  Bruno Haible  <bruno@clisp.org>
17318
17319         fseeko: Add missing declaration on OSF/1 5.1.
17320         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
17321         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
17322         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
17323         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
17324         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
17325
17326 2010-12-19  Bruno Haible  <bruno@clisp.org>
17327
17328         fchdir: Add missing declaration on OSF/1 5.1.
17329         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
17330         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
17331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
17332         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
17333         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
17334
17335 2010-12-19  Bruno Haible  <bruno@clisp.org>
17336
17337         relocatable-prog-wrapper: Separate from relocatable-prog.
17338         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
17339         uninstall-relocwrapper rule here.
17340         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
17341         Reported by Ian Beckwith <ianb@erislabs.net>.
17342
17343 2010-12-19  Bruno Haible  <bruno@clisp.org>
17344
17345         unistr/u8-mbsnlen: Add missing dependency.
17346         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
17347         Reported by Ian Beckwith <ianb@erislabs.net>.
17348
17349 2010-12-19  Bruno Haible  <bruno@clisp.org>
17350
17351         iconv: Make it possible again to use this module without 'iconv-h'.
17352         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
17353         if it is not defined.
17354         Reported by Ian Beckwith <ianb@erislabs.net>.
17355
17356 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
17357
17358         acl: port to Solaris 8 when copying from tmpfs to ufs
17359         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
17360         error number.  Problem observed on Solaris 8 with latest
17361         coreutils, with "mv A B", where A is on a tmpfs file system and B
17362         is on a ufs file system.  This caused coreutils' mv/part-symlink
17363         test to fail.
17364
17365         tests: set fail=0 at start
17366         * tests/init.sh (setup_): Move fail=0 initialization here ...
17367         (mktempd_): ... from here, so that tests can rely on fail being
17368         set to 0 initially.  This fixes a problem in coreutils; see:
17369         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
17370
17371 2010-12-18  Bruno Haible  <bruno@clisp.org>
17372
17373         memmem-simple: Stylistic changes.
17374         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
17375         Fix preprocessor directive indentation.
17376
17377 2010-12-15  Pádraig Brady <P@draigBrady.com>
17378
17379         memmem, memmem-simple: reorganize and expand empty needle check
17380         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
17381         functional checks to memmem-simple so that one has a fully functional
17382         memmem by using just this module.
17383         Restrict the performance only check to the memmem module.
17384         Also expand the empty needle check to ensure the correct
17385         pointer is returned, not just a non NULL pointer.
17386         * doc/glibc-functions/memmem.texi: Rearrange the portability
17387         documentation to correlate with the rearranged checks.
17388         Clarify exactly how the memmem and memmem-simple modules
17389         relate to each other.
17390
17391 2010-12-15  Pádraig Brady <P@draigBrady.com>
17392             Bruno Haible  <bruno@clisp.org>
17393
17394         Improve cross-compilation guesses for uClibc.
17395         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
17396         that uClibc does not have the glibc bug.
17397         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
17398         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
17399
17400 2010-12-14  Eric Blake  <eblake@redhat.com>
17401
17402         configmake: provide fallbacks for oldest supported autotools
17403         * m4/configmake.m4: New file.
17404         * modules/configmake (Files): Ship it.
17405         (configure.ac): Use it to guarantee fallbacks.
17406
17407 2010-12-13  Pádraig Brady <P@draigBrady.com>
17408
17409         read-file: Improve handling of large files
17410         * lib/read-file.c (fread_file): Minimize realloc()s
17411         for regular files, and better manage sizes around SIZE_MAX.
17412
17413 2010-12-13  Eric Blake  <eblake@redhat.com>
17414
17415         cloexec, fcntl: relax license
17416         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
17417         consent from all contributors.
17418         * modules/fcntl (License): Likewise.
17419
17420 2010-12-10  Bruno Haible  <bruno@clisp.org>
17421
17422         Tests for module 'pipe-posix'.
17423         * modules/pipe-posix-tests: New file.
17424         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
17425
17426 2010-12-10  Bruno Haible  <bruno@clisp.org>
17427
17428         pipe-posix: Make it work in C++ mode.
17429         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
17430         (pipe): Use common idiom, not a macro definition.
17431         * lib/pipe.c: New file.
17432         * m4/pipe.m4: New file.
17433         * modules/pipe-posix (Description): Enhance.
17434         (Files): Add lib/pipe.c, m4/pipe.m4.
17435         (configure.ac): Invoke gl_FUNC_PIPE.
17436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
17437         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
17438         * tests/test-unistd-c++.cc: Check the signature of pipe.
17439
17440 2010-12-10  Bruno Haible  <bruno@clisp.org>
17441
17442         Rename module 'pipe' to 'spawn-pipe'.
17443         * modules/spawn-pipe: New file, renamed from modules/pipe.
17444         (Files, configure.ac, Makefile.am): Update.
17445         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
17446         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
17447         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
17448         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
17449         "spawn-pipe.h" instead of "pipe.h".
17450         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
17451         to gl_SPAWN_PIPE.
17452         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
17453         (Files, Makefile.am): Update.
17454         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
17455         Update.
17456         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
17457         Include "spawn-pipe.h" instead of "pipe.h".
17458         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
17459         * lib/javacomp.c: Likewise.
17460         * lib/javaversion.c: Likewise.
17461         * lib/pipe-filter-gi.c: Likewise.
17462         * lib/pipe-filter-ii.c: Likewise.
17463         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
17464         * modules/javacomp (Depends-on): Likewise.
17465         * modules/javaversion (Depends-on): Likewise.
17466         * modules/pipe-filter-gi (Depends-on): Likewise.
17467         * modules/pipe-filter-ii (Depends-on): Likewise.
17468         * MODULES.html.sh (Executing programs): Update.
17469         * NEWS: Mention the change.
17470
17471 2010-12-10  Eric Blake  <eblake@redhat.com>
17472
17473         pipe-posix: new module
17474         * modules/pipe-posix: New file.
17475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
17476         (gl_UNISTD_H): Check for declaration.
17477         * modules/unistd (Makefile.am): Substitute it.
17478         * lib/unistd.in.h (pipe): Provide it for mingw.
17479         * doc/posix-functions/pipe.texi (pipe): Update documentation.
17480         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
17481
17482 2010-12-07  Bruno Haible  <bruno@clisp.org>
17483
17484         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
17485         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
17486         u8_strcmp_gnu.
17487         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
17488
17489 2010-12-06  Bruno Haible  <bruno@clisp.org>
17490
17491         Update internal documentation.
17492         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
17493
17494 2010-12-04  Bruno Haible  <bruno@clisp.org>
17495
17496         Put more information about failed tests into the test return codes.
17497         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
17498         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
17499         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
17500         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
17501         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
17502         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17503         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17504         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17505         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
17506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17507         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
17508         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17509         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
17510         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17511         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
17512         returns a bit mask.
17513         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
17514         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
17515         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
17516         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
17517         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17518         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17519         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17520         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17521         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17522         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17523         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17524         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17525         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17526         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17527         * m4/link.m4 (gl_FUNC_LINK): Likewise.
17528         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17529         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
17530         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
17531         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17532         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
17533         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17534         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
17535         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
17536         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17537         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17538         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
17539         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
17540         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17541         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17542         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
17543         gl_PRINTF_PRECISION): Likewise.
17544         * m4/regex.m4 (gl_REGEX): Likewise.
17545         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17546         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17547         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
17548         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17549         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17551         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17552         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
17553         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17554         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17555         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17556         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
17557         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17558         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
17559         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17560         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17561         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
17562         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17563         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17564         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
17565         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
17566         enumerated value.
17567         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
17568
17569 2010-12-04  Bruno Haible  <bruno@clisp.org>
17570
17571         Update for Solaris 11 2010-11.
17572         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
17573         Express, released in November 2010.
17574
17575 2010-12-04  Bruno Haible  <bruno@clisp.org>
17576
17577         nproc: Relax license.
17578         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
17579         and Paul Eggert.
17580         Requested by Ludovic Courtès <ludo@gnu.org>.
17581
17582 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
17583
17584         utimecmp: fine-grained src to nearby coarse-grained dest
17585
17586         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
17587         and the source is on a file system with higher-resolution time
17588         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
17589         not work, and the time stamps are close together, the algorithm to
17590         determine the exact resolution from the read-back mtime was buggy:
17591         it had a "!=" where it should have had an "==".  This bug has been
17592         in the code ever since it was introduced to gnulib.
17593         Problem reported by Dan Jacobson in
17594         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
17595
17596 2010-11-30  Bruno Haible  <bruno@clisp.org>
17597
17598         strerror_r-posix: Fix autoconf test.
17599         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
17600
17601 2010-11-28  Bruno Haible  <bruno@clisp.org>
17602             Paul Eggert  <eggert@cs.ucla.edu>
17603
17604         Tests for module 'getdomainname'.
17605         * modules/getdomainname-tests: New file.
17606         * tests/test-getdomainname.c: New file, based on
17607         tests/test-gethostname.c.
17608
17609 2010-11-28  Bruno Haible  <bruno@clisp.org>
17610             Paul Eggert  <eggert@cs.ucla.edu>
17611
17612         getdomainname: Use the system function when possible.
17613         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
17614         (getdomainname): Replace if needed. Provide the declaration if it is
17615         missing. Don't use _GL_CXXALIAS_SYS_CAST.
17616         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
17617         (getdomainname): When the system has getdomainname, call the system
17618         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
17619         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
17620         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
17621         found in libnsl. Look for the declaration also in <netdb.h>. Replace
17622         the function if its second argument is of type 'int' or if it is found
17623         in libnsl.
17624         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
17625         <sys/systeminfo.h> and sysinfo().
17626         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
17627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17628         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
17629         HAVE_GETDOMAINNAME.
17630         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
17631         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
17632         * doc/glibc-functions/getdomainname.texi: Document the problems with
17633         the getdomainname declaration.
17634
17635 2010-11-28  Bruno Haible  <bruno@clisp.org>
17636
17637         sys_socket: Ensure ss_family field on AIX.
17638         * lib/sys_socket.in.h (ss_family): New macro definition.
17639         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
17640         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
17641         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17642         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17643         * modules/sys_socket (Makefile.am): Substitute
17644         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
17645         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
17646
17647 2010-11-27  Bruno Haible  <bruno@clisp.org>
17648
17649         readline: Improve configure output.
17650         * m4/readline.m4 (gl_FUNC_READLINE): Make the
17651         "checking for readline..." result understandable.
17652
17653 2010-11-27  Bruno Haible  <bruno@clisp.org>
17654
17655         *printf-posix: Detect a bug on Solaris 10/x86.
17656         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
17657         for floating-point output.
17658         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
17659         directive.
17660         * tests/test-snprintf-posix.h (test_function): Likewise.
17661         * tests/test-sprintf-posix.h (test_function): Likewise.
17662         * tests/test-vasprintf-posix.c (test_function): Likewise.
17663         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
17664         * doc/posix-functions/printf.texi: Likewise.
17665         * doc/posix-functions/snprintf.texi: Likewise.
17666         * doc/posix-functions/sprintf.texi: Likewise.
17667         * doc/posix-functions/vfprintf.texi: Likewise.
17668         * doc/posix-functions/vprintf.texi: Likewise.
17669         * doc/posix-functions/vsnprintf.texi: Likewise.
17670         * doc/posix-functions/vsprintf.texi: Likewise.
17671         * doc/glibc-functions/obstack_printf.texi: Likewise.
17672         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17673
17674 2010-11-27  Bruno Haible  <bruno@clisp.org>
17675
17676         Fix link error when module libunistring-optional is in use.
17677         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
17678         * modules/striconveha-tests (Makefile.am): Likewise.
17679
17680 2010-11-27  Bruno Haible  <bruno@clisp.org>
17681
17682         regex: Mention link dependencies.
17683         * modules/regex (Link): New section.
17684         * modules/rpmatch (Link): Likewise.
17685         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
17686
17687 2010-11-27  Bruno Haible  <bruno@clisp.org>
17688
17689         ftoastr: Fix compilation error on Solaris.
17690         * lib/ftoastr.c: Include <config.h>.
17691
17692 2010-11-27  Bruno Haible  <bruno@clisp.org>
17693
17694         getloadavg: Update documentation.
17695         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
17696
17697 2010-11-27  Bruno Haible  <bruno@clisp.org>
17698
17699         sys_socket: Fix test whether the functions are declared.
17700         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
17701         not <sys/select.h>.
17702
17703 2010-11-27  Bruno Haible  <bruno@clisp.org>
17704
17705         getpass: Make sure to get system declaration on some platforms.
17706         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
17707         gl_USE_SYSTEM_EXTENSIONS.
17708         * modules/getpass (Depends-on): Add extensions.
17709
17710 2010-11-26  Bruno Haible  <bruno@clisp.org>
17711
17712         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
17713         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
17714         'iconv' module is present.
17715         (ICONV_CONST): New macro.
17716         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
17717         ICONV_CONST.
17718         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
17719         set ICONV_CONST.
17720         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
17721         here.
17722         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
17723         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
17724         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
17725         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
17726         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
17727         present.
17728
17729 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
17730
17731         ftoastr: comment fix
17732         * lib/ftoastr.c: "little" -> "little or no" in comment
17733
17734 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
17735
17736         stdint: port to GCC 4.3 + OSX + Octave
17737         On this platform, stdint.h is buggy and defines int64_t to long
17738         long int.  The replacement defined it to long int, causing
17739         problems with C++ style name mangling.  Instead, trust the system
17740         definition if INT64_MAX is defined, and likewise for the unsigned
17741         variant.   Problem reported by Jarno Rajahalme in
17742         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
17743         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
17744         and don't mess with int64_t and INT64_MAX in this case.
17745         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
17746
17747 2010-11-24  Bruno Haible  <bruno@clisp.org>
17748
17749         doc: Corrections regarding MacOS X 10.4 and 10.5.
17750         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
17751         MacOS X.
17752         Reported by Simon Josefsson.
17753
17754 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
17755
17756         Uninstall ".bin" files installed by relocwrapper.
17757         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
17758         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
17759         unless it is already there.
17760
17761 2010-11-21  Bruno Haible  <bruno@clisp.org>
17762
17763         Update for NetBSD 5.0.
17764         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17765         NetBSD; the test fails on NetBSD 5.0.
17766         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17767         about NetBSD.
17768
17769 2010-11-21  Bruno Haible  <bruno@clisp.org>
17770
17771         Update for HP-UX 11.23 and HP-UX 11.31.
17772         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
17773         HP-UX.
17774
17775 2010-11-21  Bruno Haible  <bruno@clisp.org>
17776
17777         Update for MacOS X 10.5.
17778         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
17779         MacOS X; the test fails on MacOS X 10.5.8.
17780         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
17781         about MacOS X.
17782
17783 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
17784
17785         bootstrap: add bootstrap_sync option.
17786         See discussion at
17787         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
17788         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
17789         * build-aux/bootstrap: Accept --bootstrap-sync to update
17790         bootstrap if it is not identical to the local gnulib's
17791         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
17792         enable this by default.  Accept --no-bootstrap-sync to disable
17793         it.
17794
17795 2010-11-20  Bruno Haible  <bruno@clisp.org>
17796
17797         Ensure that <features.h> is included before __GLIBC__ is tested.
17798         * lib/printf-parse.h: Include <features.h>.
17799         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
17800         Reported by Mike Frysinger <vapier@gentoo.org>.
17801
17802         Ensure that <features.h> is included before __GLIBC__ is tested.
17803         * lib/wchar.in.h: Include <features.h>.
17804         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
17805         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
17806         Reported by Mike Frysinger <vapier@gentoo.org>.
17807
17808         Ensure that <features.h> is included before __GLIBC__ is tested.
17809         * lib/arpa_inet.in.h: Include <features.h>.
17810         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
17811         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
17812         Reported by Mike Frysinger <vapier@gentoo.org>.
17813
17814         Ensure that <features.h> is included before __GLIBC__ is tested.
17815         * build-aux/link-warning.h: Include <features.h>.
17816         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
17817         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
17818         Reported by Mike Frysinger <vapier@gentoo.org>.
17819
17820         Ensure that <features.h> is included before __GLIBC__ is tested.
17821         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
17822         Reported by Mike Frysinger <vapier@gentoo.org>.
17823
17824 2010-11-20  Bruno Haible  <bruno@clisp.org>
17825
17826         memmem: Fix autoconf test.
17827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
17828
17829 2010-11-20  Bruno Haible  <bruno@clisp.org>
17830
17831         Port to uClibc.
17832         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
17833         * lib/fcntl.in.h: Likewise.
17834         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
17835         * lib/mbrtowc.c (mbrtowc): Likewise.
17836         * lib/relocatable.c (find_shared_library_fullname): Likewise.
17837         * lib/strerror_r.c: Likewise.
17838         * lib/unistr/u8-strnlen.c: Likewise.
17839         * lib/vasnprintf.c (decimal_point_char): Likewise.
17840         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
17841         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17842         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17843         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
17844         * tests/test-sigaction.c (handler, main): Likewise.
17845         * lib/freading.h: Treat uClibc like a non-glibc platform.
17846         * lib/freading.c: Likewise.
17847         * lib/gettext.h: Likewise.
17848         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
17849         Likewise.
17850         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
17851         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
17852         * lib/propername.c (proper_name_utf8): Likewise.
17853         * lib/spawn.in.h: Likewise.
17854         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
17855         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
17856         mem_cd_iconveh_internal): Likewise.
17857         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
17858         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
17859         strstr, strcasestr): Likewise.
17860         * lib/unicodeio.c (unicode_to_mb): Likewise.
17861         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
17862         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
17863         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
17864         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
17865         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
17866         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
17867         * lib/unistr/u8-stpncpy.c: Likewise.
17868         * lib/vasnprintf.c (VASNPRINTF): Likewise.
17869         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
17870         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
17871         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
17872         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
17873         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
17874         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
17875         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
17876         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17877         Likewise.
17878         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17879         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
17880         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17881         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17882         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17883         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17884         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17885         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17886         * tests/test-getopt.h (OPTIND_MIN): Likewise.
17887         * tests/test-striconveha.c (main): Likewise.
17888         * tests/test-vasnprintf-posix.c (test_function): Likewise.
17889         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
17890         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
17891         * doc/posix-functions/getline.texi: Likewise.
17892         Reported by Mike Frysinger <vapier@gentoo.org>.
17893
17894 2010-11-20  Bruno Haible  <bruno@clisp.org>
17895
17896         nproc: Fix condition.
17897         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
17898         HAVE_PTHREAD_AFFINITY_NP.
17899
17900 2010-11-20  Bruno Haible  <bruno@clisp.org>
17901
17902         Fix a comment.
17903         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
17904
17905 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
17906
17907         ftoastr: don't assume snprintf
17908         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
17909         Implement a subset of snprintf here, by using sprintf safely.
17910         * modules/ftoastr (Depends-on): Remove snprintf.
17911
17912 2010-11-19  Jim Meyering  <meyering@redhat.com>
17913
17914         test-rename.h: fix compilation failure
17915         * tests/test-rename.h (test_rename): Add omitted "}".
17916
17917 2010-11-17  Jim Meyering  <meyering@redhat.com>
17918
17919         maint.mk: add a URL discussing the no-@acronym policy
17920         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
17921
17922 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
17923
17924         ftoastr: depend on snprintf, improve comments
17925         * lib/ftoastr.c: Also mention Loitsch's draft.
17926         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
17927         needed in the current implementation, but it might simplify
17928         speeding up the code later.
17929         * modules/ftoastr: Depend on snprintf; this improves portability.
17930         Suggested by Bruno Haible in the same email.
17931
17932         ftoastr: port to hosts lacking strtof and strtold
17933         Problem reported by Bruno Haible in
17934         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
17935         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
17936         environment and strtold (and presumably strtof) are not available.
17937         * modules/ftoastr (Files): Add m4/c-strtod.m4.
17938         (configure.ac): Require gl_C99_STRTOLD.
17939
17940 2010-11-18  Bruno Haible  <bruno@clisp.org>
17941
17942         c-strtold: Avoid link error on AIX 7.
17943         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
17944         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
17945         (gl_C_STRTOLD): Test whether strtold_l exists.
17946         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17947
17948 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
17949
17950         intprops: new macro INT_BITS_STRLEN_BOUND
17951         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
17952         ftoastr.h.  This exposes an internal of intprops.h that was formerly
17953         not exposed.  Also, it uses a slightly tighter bound than before;
17954         though this makes no practical difference, we might as well be as
17955         tight as we easily can.
17956
17957         ftoastr: new module, for lossless conversion of floats to short strings
17958         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
17959         * modules/ftoastr: New files.
17960
17961 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
17962
17963         bootstrap: port to Solaris sed
17964         * build-aux/bootstrap (get_version): Port to Solaris sed.
17965         See Ralf Wildenhues's note in
17966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
17967
17968 2010-11-14  Jim Meyering  <meyering@redhat.com>
17969
17970         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
17971         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
17972         and move definition closer to sole use.
17973
17974 2010-11-13  Jim Meyering  <meyering@redhat.com>
17975
17976         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
17977         Now we require at least autoconf-2.59, which means the work-around
17978         is no longer needed.
17979         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
17980         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17981         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17982         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17983         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17984
17985 2010-11-13  Bruno Haible  <bruno@clisp.org>
17986
17987         rename, renameat: Avoid test failures at NFS mounted locations.
17988         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
17989         functions.
17990         (test_rename): Use assert_nonexistent.
17991         * tests/test-rename.c: Include <dirent.h>.
17992         * tests/test-renameat.c: Likewise.
17993         Reported by Gary V. Vaughan <gary@gnu.org>.
17994
17995         rename, renameat: Document Linux bug with NFS
17996         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
17997         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
17998         * doc/posix-functions/renameat.texi: Likewise.
17999         Suggested by Eric Blake.
18000
18001 2010-11-13  Bruno Haible  <bruno@clisp.org>
18002
18003         rename test: Add comments.
18004         * tests/test-rename.h (test_rename): Add structure and comments.
18005
18006 2010-11-13  Eric Blake  <eblake@redhat.com>
18007
18008         maintainer-makefile: cover a few more files
18009         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
18010         scripts generated within C files, for libvirt.
18011
18012 2010-11-13  Bruno Haible  <bruno@clisp.org>
18013
18014         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
18015         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
18016         character, return the number of bytes that belong together, not always
18017         1.
18018         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
18019         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
18020         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
18021         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
18022         number of bytes of an invalid character.
18023         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
18024         (main): Invoke it.
18025         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
18026         results.
18027         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
18028         malformed byte sequences.
18029         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
18030         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
18031         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
18032         Reported by Ben Pfaff and Paolo Bonzini.
18033
18034 2010-11-13  Bruno Haible  <bruno@clisp.org>
18035
18036         openat: Work around glibc bug with fchownat() and empty file names.
18037         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
18038         (gl_FUNC_FCHOWNAT): Invoke it.
18039         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
18040         * doc/posix-functions/fchownat.texi: Document the glibc bug.
18041         Reported by Gary V. Vaughan <gary@gnu.org>.
18042
18043 2010-11-13  Bruno Haible  <bruno@clisp.org>
18044
18045         openat: Ensure autoconf macro ordering.
18046         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
18047         gl_USE_SYSTEM_EXTENSIONS.
18048         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
18049
18050 2010-11-13  Bruno Haible  <bruno@clisp.org>
18051
18052         Update comments.
18053         * lib/unistr/u8-check.c: Update file name in comments.
18054         * lib/unistr/u8-mblen.c: Likewise.
18055         * lib/unistr/u8-prev.c: Likewise.
18056         * lib/unistr/u8-strmblen.c: Likewise.
18057         * lib/unistr/u8-strmbtouc.c: Likewise.
18058
18059 2010-11-13  Jim Meyering  <meyering@redhat.com>
18060
18061         tests: avoid test failure on Solaris 10 due to lack of PATH export
18062         * tests/test-update-copyright.sh: Don't forget to export PATH.
18063
18064         init.sh: ensure that IFS is defined, just in case...
18065         * tests/init.sh (setup_): Ensure that IFS is defined,
18066         so that saving and restoring it works as expected.  This
18067         appears to be useful at least for an old version of dash
18068         from a long time ago (RH 6).  See here for details:
18069         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
18070
18071         maint.mk: tighten "test a == b" check
18072         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
18073         test to files that contain something like #!/bin/sh.
18074         Without this, coreutils would get two false positives in
18075         the comments of C source files.
18076
18077 2010-11-12  Eric Blake  <eblake@redhat.com>
18078
18079         bootstrap: fix typo in previous attempt
18080         * build-aux/bootstrap (buildreq): Correct the grouping.
18081         Reported by Paul Eggert.
18082
18083         maintainer-makefile: prohibit test x == x
18084         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
18085         Based on a report by Matthias Bolte.
18086
18087         bootstrap: allow FreeBSD gzip
18088         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
18089         which has no '.' and goes to stderr.
18090         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
18091         Reported by Matthias Bolte.
18092
18093         maintainer-makefile: check for i18n setup
18094         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
18095         will likely work.
18096
18097 2010-11-12  Bruno Haible  <bruno@clisp.org>
18098
18099         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
18100         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
18101         * lib/nanosleep.c (nanosleep): Likewise.
18102
18103 2010-11-11  Bruno Haible  <bruno@clisp.org>
18104
18105         fcntl-h: Fix for use of C++ on glibc systems.
18106         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18107         also on glibc systems in C++ mode.
18108         Reported by Gary V. Vaughan <gary@gnu.org>.
18109
18110 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18111
18112         mknod: avoid false failure with dash
18113         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
18114
18115 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
18116
18117         unlink: Fix "is it should" typo in diagnostic.
18118         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
18119         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
18120
18121 2010-11-11  Bruno Haible  <bruno@clisp.org>
18122
18123         Tests for module 'strerror_r-posix'.
18124         * modules/strerror_r-posix-tests: New file.
18125         * tests/test-strerror_r.c: New file.
18126         * tests/test-string-c++.cc: Check the signature of strerror_r.
18127
18128         New module 'strerror_r-posix'.
18129         * lib/string.in.h (strerror_r): New declaration.
18130         * lib/strerror_r.c: New file.
18131         * m4/strerror_r.m4: New file.
18132         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
18133         of strerror_r.
18134         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
18135         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18136         * modules/strerror_r-posix: New file.
18137         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
18138         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
18139         * doc/posix-functions/strerror_r.texi: Mention the new module and the
18140         portability problems.
18141
18142 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
18143
18144         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
18145         line is also considered for output. Quoted function name in shell
18146         command, so temporary files for functions like MyClass::operator()
18147         are removed correctly without errors.
18148
18149 2010-11-09  Bruno Haible  <bruno@clisp.org>
18150
18151         * doc/posix-functions/strerror.texi: List more failing platforms.
18152
18153         * doc/posix-functions/strerror.texi: Add a comment.
18154
18155 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18156
18157         fdopendir: fix bug on MacOS X when low on file descriptors
18158
18159         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
18160         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
18161         All callers changed.
18162         (fdopendir): Invoke save_cwd at the top level, not after using
18163         multiple dup() calls to use up file descriptors.  Then retry
18164         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
18165         less than the maximum number of open file descriptors, because
18166         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
18167         on Mac OS X 10.6.4 for tar 1.24
18168         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
18169         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
18170         and for tar 1.25
18171         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
18172
18173 2010-11-07  Bruno Haible  <bruno@clisp.org>
18174
18175         vasnprintf: Support I flag on glibc systems.
18176         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
18177         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
18178         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
18179         snprintf function.
18180         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
18181         glibc systems.
18182         * tests/test-vasnprintf-posix3.c: New file.
18183         * modules/vasnprintf-posix-tests (Files): Add it.
18184         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
18185
18186 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18187
18188         [html] Fix copy/paste bug: Use unique name for compiler warnings.
18189         * MODULES.html.sh: For compiler warnings, use name
18190         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
18191
18192 2010-11-05  Eric Blake  <eblake@redhat.com>
18193
18194         ceil, floor: avoid spurious failure with icc
18195         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
18196         [denormals-as-zero] when optimizing without -mieee-fp option.
18197         * tests/test-floorf2.c (floorf_reference): Likewise.
18198         * tests/test-ceilf1.c (dummy): New function.
18199         (main): Use it to outsmart icc's optimization.
18200         * tests/test-floorf1.c (dummy, main): Likewise.
18201
18202         tests: require working signbit
18203         * modules/ceilf-tests (Depends-on): Add signbit.
18204         * modules/ceill-tests (Depends-on): Likewise.
18205         * modules/floorf-tests (Depends-on): Likewise.
18206         * modules/floorl-tests (Depends-on): Likewise.
18207         * modules/round-tests (Depends-on): Likewise.
18208         * modules/roundf-tests (Depends-on): Likewise.
18209         * modules/roundl-tests (Depends-on): Likewise.
18210         * modules/trunc-tests (Depends-on): Likewise.
18211         * modules/truncf-tests (Depends-on): Likewise.
18212         * modules/truncl-tests (Depends-on): Likewise.
18213
18214         strtod: work around icc bug
18215         * lib/strtod.c (minus_zero): Define to working value.
18216         (strtod): Use it to avoid icc bug.
18217
18218         copysign: enhance tests
18219         * modules/copysign-tests (Files): Add minus-zero.h.
18220         * tests/test-copysign.c (main): Also test zeros.
18221
18222 2010-11-04  Eric Blake  <eblake@redhat.com>
18223
18224         ceil, floor, round, trunc: enhance tests of -0
18225         * tests/test-ceilf1.c (main): Ensure correct sign of result.
18226         * tests/test-ceill.c (main): Likewise.
18227         * tests/test-floorf1.c (main): Likewise.
18228         * tests/test-floorl.c (main): Likewise.
18229         * tests/test-round1.c (main): Likewise.
18230         * tests/test-roundf1.c (main): Likewise.
18231         * tests/test-roundl.c (main): Likewise.
18232         * tests/test-trunc1.c (main): Likewise.
18233         * tests/test-truncf1.c (main): Likewise.
18234         * tests/test-truncl.c (main): Likewise.
18235
18236 2010-11-04  Eric Blake  <eblake@redhat.com>
18237
18238         frexp, tests: work around ICC bug with -zero
18239         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
18240         works with more compilers.
18241         * tests/minus-zero.h: New file.
18242         * modules/ceilf-tests (Files): Include it.
18243         * modules/ceill-tests (Files): Likewise.
18244         * modules/floorf-tests (Files): Likewise.
18245         * modules/floorl-tests (Files): Likewise.
18246         * modules/frexp-nolibm-tests (Files): Likewise.
18247         * modules/frexp-tests (Files): Likewise.
18248         * modules/frexpl-nolibm-tests (Files): Likewise.
18249         * modules/frexpl-tests (Files): Likewise.
18250         * modules/isnan-tests (Files): Likewise.
18251         * modules/isnand-nolibm-tests (Files): Likewise.
18252         * modules/isnand-tests (Files): Likewise.
18253         * modules/isnanf-nolibm-tests (Files): Likewise.
18254         * modules/isnanf-tests (Files): Likewise.
18255         * modules/isnanl-nolibm-tests (Files): Likewise.
18256         * modules/isnanl-tests (Files): Likewise.
18257         * modules/round-tests (Files): Likewise.
18258         * modules/roundf-tests (Files): Likewise.
18259         * modules/roundl-tests (Files): Likewise.
18260         * modules/ldexpl-tests (Files): Likewise.
18261         * modules/signbit-tests (Files): Likewise.
18262         * modules/snprintf-posix-tests (Files): Likewise.
18263         * modules/sprintf-posix-tests (Files): Likewise.
18264         * modules/strtod-tests (Files): Likewise.
18265         * modules/trunc-tests (Files): Likewise.
18266         * modules/truncf-tests (Files): Likewise.
18267         * modules/truncl-tests (Files): Likewise.
18268         * modules/vsnprintf-posix-tests (Files): Likewise.
18269         * modules/vsprintf-posix-tests (Files): Likewise.
18270         * modules/vasnprintf-posix-tests (Files): Likewise.
18271         * modules/vasprintf-posix-tests (Files): Likewise.
18272         * tests/test-ceilf1.c (main): Use it.
18273         * tests/test-ceill.c (main): Likewise.
18274         * tests/test-floorf1.c (main): Likewise.
18275         * tests/test-floorl.c (main): Likewise.
18276         * tests/test-frexp.c (main): Likewise.
18277         * tests/test-frexpl.c (main): Likewise.
18278         * tests/test-isnan.c (main): Likewise.
18279         * tests/test-isnand.h (main): Likewise.
18280         * tests/test-isnanf.h (main): Likewise.
18281         * tests/test-isnanl.h (main): Likewise.
18282         * tests/test-ldexpl.c (main): Likewise.
18283         * tests/test-round.c (main): Likewise.
18284         * tests/test-roundf.c (main): Likewise.
18285         * tests/test-roundl.c (main): Likewise.
18286         * tests/test-signbit.c (test_signbitf, test_signbitd)
18287         (test_signbitl): Likewise.
18288         * tests/test-snprintf-posix.h (test_function): Likewise.
18289         * tests/test-sprintf-posix.h (test_function): Likewise.
18290         * tests/test-strtod.c (main): Likewise.
18291         * tests/test-trunc1.c (main): Likewise.
18292         * tests/test-truncf1.c (main): Likewise.
18293         * tests/test-truncl.c (main): Likewise.
18294
18295         isnanl: work around icc bug
18296         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
18297
18298 2010-11-03  Eric Blake  <eblake@redhat.com>
18299
18300         tests: fix compiler warnings
18301         * tests/test-getopt.h (test_getopt): Fix condition.
18302         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18303         * tests/test-pipe2.c (main): Likewise.
18304         * tests/test-quotearg-simple.c (main): Avoid icc warning.
18305
18306         utimens: fix broken m4 test
18307         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
18308
18309 2010-10-28  Bruno Haible  <bruno@clisp.org>
18310
18311         posix_spawn*, getdtablesize: Relax license.
18312         * modules/posix_spawn (License): Change to LGPLv2+.
18313         * modules/posix_spawnp (License): Likewise.
18314         * modules/posix_spawn-internal (License): Likewise.
18315         * modules/posix_spawnattr_init (License): Likewise.
18316         * modules/posix_spawnattr_getflags (License): Likewise.
18317         * modules/posix_spawnattr_setflags (License): Likewise.
18318         * modules/posix_spawnattr_getpgroup (License): Likewise.
18319         * modules/posix_spawnattr_setpgroup (License): Likewise.
18320         * modules/posix_spawnattr_getschedparam (License): Likewise.
18321         * modules/posix_spawnattr_setschedparam (License): Likewise.
18322         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
18323         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
18324         * modules/posix_spawnattr_getsigdefault (License): Likewise.
18325         * modules/posix_spawnattr_setsigdefault (License): Likewise.
18326         * modules/posix_spawnattr_getsigmask (License): Likewise.
18327         * modules/posix_spawnattr_setsigmask (License): Likewise.
18328         * modules/posix_spawnattr_destroy (License): Likewise.
18329         * modules/posix_spawn_file_actions_init (License): Likewise.
18330         * modules/posix_spawn_file_actions_addclose (License): Likewise.
18331         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
18332         * modules/posix_spawn_file_actions_addopen (License): Likewise.
18333         * modules/posix_spawn_file_actions_destroy (License): Likewise.
18334         * modules/getdtablesize (License): Likewise.
18335         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
18336
18337 2010-10-26  Bruno Haible  <bruno@clisp.org>
18338
18339         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
18340         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
18341         Cygwin and mingw.
18342         Suggested by Eric Blake.
18343
18344 2010-10-26  Bruno Haible  <bruno@clisp.org>
18345
18346         stdio: Work around compilation error due to renameat() on Solaris 10.
18347         * lib/stdio.in.h: Include <unistd.h> on Solaris.
18348         * lib/renameat.c: Don't include <unistd.h> here.
18349         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
18350         Reported by Paul Eggert and Eric Blake.
18351
18352 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
18353
18354         renameat: port to Solaris 10, which declares renameat in unistd.h
18355
18356         * lib/renameat.c: Include unistd.h before stdio.h, because
18357         Solaris 10 declares renameat in unistd.h.  Problem encountered
18358         when building GNU tar 1.24 on Solaris 10.
18359
18360 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18361
18362         fdopendir: fix C89 compilation
18363         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
18364         compilers.
18365
18366 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
18367
18368         inttostr: simplify by removing unnecessary redundancy
18369         * lib/anytostr.c: Don't include verify.h.
18370         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
18371         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
18372         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
18373         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
18374         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
18375         Likewise.
18376         * modules/inttostr (Depends-on): Remove 'verify'.
18377
18378 2010-10-23  Bruno Haible  <bruno@clisp.org>
18379
18380         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
18381         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
18382         Reported by Eric Blake.
18383
18384 2010-10-23  Bruno Haible  <bruno@clisp.org>
18385
18386         Tests: Fix LOCALE_JA on MirBSD 10.
18387         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
18388         to an UTF-8 locale.
18389         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
18390         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18391         Reported by Eric Blake.
18392
18393 2010-10-21  Bruno Haible  <bruno@clisp.org>
18394
18395         nl_langinfo test: Avoid test failure on NetBSD 5.
18396         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
18397         Reported by Eric Blake.
18398
18399 2010-10-21  Eric Blake  <eblake@redhat.com>
18400
18401         c-stack: work around libsigsegv 2.8 bug
18402         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
18403         overflow on at least PowerPC64.
18404
18405 2010-10-17  Bruno Haible  <bruno@clisp.org>
18406
18407         userspec: Drop redundant file.
18408         * modules/userspec (Files): Remove lib/inttostr.h.
18409
18410 2010-10-17  Bruno Haible  <bruno@clisp.org>
18411
18412         nl_langinfo tests: Silence some warnings.
18413         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
18414         Reported by Jim Meyering.
18415
18416 2010-10-17  Bruno Haible  <bruno@clisp.org>
18417
18418         Make use of GCC's attribute __alloc_size__.
18419         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
18420         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
18421         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
18422         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
18423         __alloc_size__.
18424         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
18425         Suggested by Jim Meyering.
18426
18427 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
18428
18429         bootstrap: anchor .gitignore entries.
18430         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
18431         with...
18432         (insert_vc_ignore): ... this new function, which prepends `/' to
18433         all .gitignore entries before passing them to
18434         insert_sorted_if_absent.
18435
18436 2010-10-16  Bruno Haible  <bruno@clisp.org>
18437
18438         nextafter: Fix configure check.
18439         * modules/nextafter (configure.ac): Correct expected prototype.
18440
18441 2010-10-16  Bruno Haible  <bruno@clisp.org>
18442
18443         termios: Update documentation.
18444         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
18445
18446 2010-10-16  Bruno Haible  <bruno@clisp.org>
18447
18448         tests: Make them compile with TinyCC.
18449         * tests/test-strstr.c (main): Remove parentheses around array
18450         initializer.
18451
18452 2010-10-15  Eric Blake  <eblake@redhat.com>
18453
18454         ignore-value: make header idempotent
18455         * lib/ignore-value.h: Add double-inclusion guards.
18456         Reported by Stefan Berger.
18457
18458 2010-10-15  Jim Meyering  <meyering@redhat.com>
18459
18460         GNUmakefile: handle "stable" target, not "major"
18461         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
18462         lists in maint.mk and announce-gen.  Without this, "make stable"
18463         would fail to ensure that $(VERSION) is up to date.
18464
18465 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
18466
18467         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
18468         & co.
18469
18470 2010-10-14  Bruno Haible  <bruno@clisp.org>
18471
18472         vasnprintf: Don't set errno to 0.
18473         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
18474         block that sets it to 0.
18475         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18476
18477 2010-10-14  Bruno Haible  <bruno@clisp.org>
18478
18479         socketlib: Fix.
18480         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
18481         gl_PREREQ_SYS_H_WINSOCK2.
18482         Reported by Ian Beckwith <ianb@erislabs.net>.
18483
18484 2010-10-13  Jim Meyering  <meyering@redhat.com>
18485
18486         test-select-stdin.c: avoid warn_unused_result warnings
18487         * tests/test-select-stdin.c: Include "macros.h".
18488         ASSERT that read and fflush succeed.
18489
18490 2010-10-13  Jim Meyering  <meyering@redhat.com>
18491
18492         git-version-gen: do require git-VC'd files in cwd
18493         * build-aux/git-version-gen: Reject a git version string
18494         if there are no commits associated with the current directory.
18495         This avoids an unlikely false-positive (unrelated dir whose parent
18496         repository also contains a tag matching v*), as pointed out
18497         by Giuseppe Scrivano in
18498         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
18499
18500 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18501
18502         argv-iter: omit nonconforming declaration
18503         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
18504         enum arg_iter_err declaration, which doesn't conform to C99.
18505         Solaris 10 cc warns about this.
18506
18507 2010-10-13  Eric Blake  <eblake@redhat.com>
18508
18509         termios: fix compilation on mingw
18510         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
18511         (gl_TERMIOS_H): Adjust it on mingw.
18512         * modules/termios (Makefile.am): Substitute new key.
18513         * lib/termios.in.h (includes): Make include_next conditional.
18514         * doc/posix-headers/termios.texi (termios.h): Update
18515         documentation.
18516         Reported by Daniel P. Berrange.
18517
18518 2010-10-13  Jim Meyering  <meyering@redhat.com>
18519
18520         git-version-gen: don't require that .git/ be in the current dir
18521         * build-aux/git-version-gen: Adjust this script so that it works
18522         when run from any working directory beneath the top-level .git/-
18523         containing directory.  Inspired by a patch from Giuseppe Scrivano,
18524         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
18525
18526         test-select: avoid warn_unused_result warnings
18527         * tests/test-select.c: Include "macros.h".
18528         ASSERT that each call to read, write, and pipe succeeds.
18529         While not technically required, also check each "close".
18530         * modules/select-tests (Files): Add tests/macros.h.
18531
18532         test-symlinkat: remove declaration of unused local
18533         * tests/test-symlinkat.c (main): Remove unused local, "buf".
18534
18535         test-inttostr: avoid shadowing warnings
18536         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
18537         and use malloc rather than the stack for the same reason as
18538         mentioned in the comment justifying the other allocation.
18539
18540 2010-10-11  Bruno Haible  <bruno@clisp.org>
18541
18542         stdlib: Allow multiple gnulib generated replacements to coexist.
18543         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
18544         Reported by Sam Steingold <sds@gnu.org>.
18545
18546 2010-10-11  Jim Meyering  <meyering@redhat.com>
18547
18548         fix a documentation typo
18549         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
18550
18551 2010-10-11  Eric Blake  <eblake@redhat.com>
18552
18553         futimens: work around Solaris 11 bug
18554         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
18555         * tests/test-futimens.h (test_futimens): Enhance, rather than
18556         weaken test.
18557         * doc/posix-functions/futimens.texi (futimens): Document the bug.
18558
18559 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
18560
18561         Indentation.
18562         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
18563         higher-level operators more to the left.
18564
18565 2010-10-11  Jim Meyering  <meyering@redhat.com>
18566
18567         test-futimens: avoid unwarranted test failure on Solaris 5.11
18568         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
18569         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
18570         because it tries to dereference the NULL name argument.
18571
18572 2010-10-11  Bruno Haible  <bruno@clisp.org>
18573
18574         Indentation.
18575         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
18576         indentation.
18577
18578 2010-10-11  Jim Meyering  <meyering@redhat.com>
18579
18580         spawn.in.h: make indentation consistent with parentheses
18581         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
18582         Make indentation consistent with parentheses.
18583
18584 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
18585
18586         Fix mismatched parens in previous commit
18587         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
18588         parens.
18589
18590 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18591
18592         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
18593
18594         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
18595         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
18596         * lib/malloca.c: Include "verify.h".
18597         (verify1): Remove, replacing with a verify call.
18598         * lib/relocwrapper.c (verify1): Likewise.
18599         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
18600         Likewise.
18601         * modules/malloca (Depends-on): Add 'verify'.
18602         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
18603         * modules/vasnprintf (Depends-on): Add 'verify'.
18604         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18605         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18606         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18607         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18608         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18609         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18610         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18611
18612         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
18613
18614         Formerly the style was sometimes 2*X - 1, because the C standard
18615         was wrongly thought to disallow ?: in integral constant expressions.
18616         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
18617         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
18618         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18619         * lib/stdint.in.h (_verify_intmax_size): Likewise.
18620         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
18621         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
18622         verify that time_t cannot be floating.
18623
18624 2010-10-08  Eric Blake  <eblake@redhat.com>
18625
18626         time: enforce recent POSIX ruling that time_t is integral
18627         * lib/time.in.h (__time_t_must_be_integral): Detect any
18628         problematic systems, allowing the rest of gnulib to assume POSIX.
18629
18630 2010-10-08  Jim Meyering  <meyering@redhat.com>
18631
18632         fdopendir: fix a bug on systems lacking openat and /proc support
18633         OpenBSD 4.7 is one such system.  The most noticeable effect was
18634         failure of any application making nontrivial use of fts: rm, du,
18635         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
18636           ./rm: traversal failed: `a': Bad file descriptor
18637         Debugging that, you see that even though FD 6 was closed just
18638         prior to the opendir call in fd_clone_opendir, its resulting
18639         dir->dd_fd was 8, rather than the expected value of 6:
18640
18641         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
18642         93                close (fd);
18643         (gdb) n
18644         94                dir = fd_clone_opendir (dupfd);
18645         (gdb) n
18646         95                saved_errno = errno;
18647         (gdb) p dir->dd_fd
18648         $11 = 8
18649
18650         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
18651         The problem is that on OpenBSD, fd_clone_opendir has to resort
18652         to using the old-style save/restore CWD mechanism, due to its
18653         lack of openat/proc support, and *that* would steal the FD (6)
18654         that opendir was supposed to use.
18655
18656         The fix is to squirrel away the desired FD so that save_cwd uses a
18657         different one, and then free the dest FD right before calling opendir.
18658         That guarantees opendir will use the required file descriptor.
18659
18660         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
18661
18662 2010-10-08  Bruno Haible  <bruno@clisp.org>
18663
18664         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
18665         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
18666
18667 2010-10-08  Bruno Haible  <bruno@clisp.org>
18668
18669         nanosleep: Make replacement POSIX compliant.
18670         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
18671         is out of range.
18672         Reported by Jim Meyering.
18673
18674 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18675
18676         bootstrap: add hook for altering gnulib.mk, for Bison
18677         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
18678         the Bison bootstrapping process can rewrite file names and variables
18679         in this file before later parts of 'bootstrap' use the file.
18680         Bison wants to include lib/gnulib.mk from the top-level makefile,
18681         so it needs the file names in this file to be relative to the top
18682         level, not relative to lib; plus it needs variable names to be
18683         rewritten.
18684         (slurp): Use the new function.
18685
18686         bootstrap: reformat for readability
18687         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
18688
18689 2010-10-08  Eric Blake  <eblake@redhat.com>
18690
18691         docs: update cygwin progress
18692         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
18693         1.7.7.
18694         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
18695         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
18696         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
18697         * doc/posix-functions/carg.texi (carg): Likewise.
18698         * doc/posix-functions/cargf.texi (cargf): Likewise.
18699         * doc/posix-functions/casin.texi (casin): Likewise.
18700         * doc/posix-functions/casinf.texi (casinf): Likewise.
18701         * doc/posix-functions/casinh.texi (casinh): Likewise.
18702         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
18703         * doc/posix-functions/catan.texi (catan): Likewise.
18704         * doc/posix-functions/catanf.texi (catanf): Likewise.
18705         * doc/posix-functions/catanh.texi (catanh): Likewise.
18706         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
18707         * doc/posix-functions/ccos.texi (ccos): Likewise.
18708         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
18709         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
18710         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
18711         * doc/posix-functions/cexp.texi (cexp): Likewise.
18712         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
18713         * doc/posix-functions/cimag.texi (cimag): Likewise.
18714         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
18715         * doc/posix-functions/clog.texi (clog): Likewise.
18716         * doc/posix-functions/clogf.texi (clogf): Likewise.
18717         * doc/posix-functions/conj.texi (conj): Likewise.
18718         * doc/posix-functions/conjf.texi (conjf): Likewise.
18719         * doc/posix-functions/cpow.texi (cpow): Likewise.
18720         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
18721         * doc/posix-functions/cproj.texi (cproj): Likewise.
18722         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
18723         * doc/posix-functions/creal.texi (creal): Likewise.
18724         * doc/posix-functions/crealf.texi (crealf): Likewise.
18725         * doc/posix-functions/csin.texi (csin): Likewise.
18726         * doc/posix-functions/csinf.texi (csinf): Likewise.
18727         * doc/posix-functions/csinh.texi (csinh): Likewise.
18728         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
18729         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
18730         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
18731         * doc/posix-functions/ctan.texi (ctan): Likewise.
18732         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
18733         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
18734         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
18735         * doc/posix-headers/complex.texi (complex.h): Likewise.
18736
18737 2010-10-07  Jim Meyering  <meyering@redhat.com>
18738
18739         parse-datetime: avoid compilation failure on OpenBSD 4.7
18740         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
18741         This works around a compilation failure on OpenBSD 4.7:
18742         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
18743
18744 2010-10-07  Eric Blake  <eblake@redhat.com>
18745
18746         docs: update cygwin progress
18747         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
18748         1.7.6.
18749         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
18750         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
18751         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
18752         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
18753         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
18754         Likewise.
18755         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
18756         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
18757         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
18758         Likewise.
18759         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
18760         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
18761         Likewise.
18762         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
18763         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
18764         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
18765         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
18766         Likewise.
18767         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
18768         Likewise.
18769         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
18770
18771         docs: update parse-datetime history
18772         * doc/parse-datetime.texi (Authors of parse_datetime): Better
18773         documentation of this function's history and alternatives.
18774
18775         cygwin: use more robust version check
18776         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
18777         exclude an eventual cygwin 1.9.1.
18778         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18779         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18780         (gl_FUNC_STRCASESTR): Likewise.
18781         Reported by Bruno Haible.
18782
18783 2010-10-06  Bruno Haible  <bruno@clisp.org>
18784
18785         string, sys_select: Avoid #including large headers unless necessary.
18786         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
18787         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
18788         OSF/1, BeOS, Haiku.
18789         Reported by Jim Meyering.
18790
18791 2010-10-05  Eric Blake  <eblake@redhat.com>
18792
18793         memmem, strstr, strcasestr: fix bug with long periodic needle
18794         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
18795         periodic needle having false positive.
18796         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
18797         and cygwin 1.7.7.
18798         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
18799         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
18800         (gl_FUNC_STRCASESTR): Likewise.
18801         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
18802         * tests/test-memmem.c (main): Expose the bug.
18803         * tests/test-strcasestr.c (main): Likewise.
18804         * tests/test-strstr.c (main): Likewise.
18805         * tests/test-c-strcasestr.c (main): Likewise.
18806         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
18807         * doc/posix-functions/strstr.texi (strstr): Likewise.
18808         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
18809         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
18810
18811 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18812
18813         parse-datetime: do some more renaming
18814         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
18815         parse_datetime, not get_date.  Mention the renaming.
18816         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
18817         in comments.
18818         * m4/bison.m4: Likewise.
18819
18820 2010-10-05  Eric Blake  <eblake@redhat.com>
18821
18822         parse-datetime: better name than get_date
18823         * NEWS: Reword the deprecation notice.
18824         * modules/get_date: Rename to modules/parse-datetime.
18825         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
18826         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
18827         * lib/get_date.y: Rename to lib/parse-datetime.y.
18828         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
18829         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
18830         * doc/getdate.texi: Provide fallback wrapper.
18831         * lib/getdate.h: Move guts, and wrap...
18832         * lib/parse-datetime.h: ...new file.
18833         * lib/parse-datetime.y (get_date): Rename...
18834         (parse_datetime): ...to this.
18835         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
18836         (gl_PARSE_DATETIME): ...to this.
18837         * doc/posix-functions/getdate.texi (get_date): Provide fallback
18838         documentation.
18839         * modules/getdate (Files): Provide fallback docs and header.
18840         (Notice, Depends-on): Update references.
18841         * tests/test-parse-datetime.c: Likewise.
18842         * DEPENDENCIES: Likewise.
18843         * MODULES.html.sh (Date and time <time.h>): Likewise.
18844         * doc/parse-datetime.texi (Date input formats)
18845         (Authors of parse_datetime): Likewise.
18846         * modules/parse-datetime (Files, configure.ac, Makefile.am)
18847         (Include): Likewise.
18848         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
18849         * gnulib-tool: Likewise.
18850         * m4/bison.m4 (gl_BISON): Likewise.
18851         Suggested by Bruno Haible.
18852
18853 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
18854
18855         more ports to Solaris tr, which needs [] around ranges
18856         * gnulib-tool: Solaris tr needs [] around ranges.
18857         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
18858         * tests/test-pipe-filter-gi1.c (main): Likewise.
18859         * tests/test-pipe-filter-ii1.c (main): Likewise.
18860
18861 2010-10-05  Eric Blake  <eblake@redhat.com>
18862
18863         bootstrap: fix Solaris regression
18864         * build-aux/bootstrap (check_versions): Solaris tr still needs []
18865         around ranges.
18866         Reported by Pádraig Brady.
18867
18868         bootstrap: work with pkg-config
18869         * build-aux/bootstrap (check_versions): Also transliterate - in
18870         prerequisite name.
18871         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
18872         prerequisites that were already found, to avoid confusion.
18873         Reported by Justin Clift.
18874
18875         faccessat: remove unused wrappers
18876         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
18877         presence of these wrappers dragged in -lgen on Solaris.
18878         Reported by Clemens Brogi; fix suggested by Paul Eggert.
18879
18880 2010-10-05  Jim Meyering  <meyering@redhat.com>
18881
18882         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
18883         * Makefile (sc_pragma_columns): New syntax-check rule.
18884
18885 2010-10-04  Bruno Haible  <bruno@clisp.org>
18886
18887         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
18888         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
18889         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
18890         Reported by Bruce Korb and Eric Blake.
18891
18892 2010-10-04  Bruno Haible  <bruno@clisp.org>
18893
18894         threadlib: Make option --with-libpth-prefix work.
18895         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
18896         use $LIBPTH, not just -lpth.
18897
18898 2010-10-04  Bruno Haible  <bruno@clisp.org>
18899
18900         Avoid line length limitation from HP NonStop system header files.
18901         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
18902         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
18903         * lib/ctype.in.h: Likewise.
18904         * lib/dirent.in.h: Likewise.
18905         * lib/errno.in.h: Likewise.
18906         * lib/fcntl.in.h: Likewise.
18907         * lib/float.in.h: Likewise.
18908         * lib/getopt.in.h: Likewise.
18909         * lib/iconv.in.h: Likewise.
18910         * lib/inttypes.in.h: Likewise.
18911         * lib/langinfo.in.h: Likewise.
18912         * lib/locale.in.h: Likewise.
18913         * lib/math.in.h: Likewise.
18914         * lib/netdb.in.h: Likewise.
18915         * lib/netinet_in.in.h: Likewise.
18916         * lib/poll.in.h: Likewise.
18917         * lib/pthread.in.h: Likewise.
18918         * lib/pty.in.h: Likewise.
18919         * lib/sched.in.h: Likewise.
18920         * lib/se-selinux.in.h: Likewise.
18921         * lib/search.in.h: Likewise.
18922         * lib/signal.in.h: Likewise.
18923         * lib/spawn.in.h: Likewise.
18924         * lib/stdarg.in.h: Likewise.
18925         * lib/stddef.in.h: Likewise.
18926         * lib/stdint.in.h: Likewise.
18927         * lib/stdio.in.h: Likewise.
18928         * lib/stdlib.in.h: Likewise.
18929         * lib/string.in.h: Likewise.
18930         * lib/strings.in.h: Likewise.
18931         * lib/sys_file.in.h: Likewise.
18932         * lib/sys_ioctl.in.h: Likewise.
18933         * lib/sys_select.in.h: Likewise.
18934         * lib/sys_socket.in.h: Likewise.
18935         * lib/sys_stat.in.h: Likewise.
18936         * lib/sys_time.in.h: Likewise.
18937         * lib/sys_times.in.h: Likewise.
18938         * lib/sys_utsname.in.h: Likewise.
18939         * lib/sys_wait.in.h: Likewise.
18940         * lib/sysexits.in.h: Likewise.
18941         * lib/termios.in.h: Likewise.
18942         * lib/time.in.h: Likewise.
18943         * lib/unistd.in.h: Likewise.
18944         * lib/wchar.in.h: Likewise.
18945         * lib/wctype.in.h: Likewise.
18946         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
18947         * modules/ctype (Makefile.am): Likewise.
18948         * modules/dirent (Makefile.am): Likewise.
18949         * modules/errno (Makefile.am): Likewise.
18950         * modules/fcntl-h (Makefile.am): Likewise.
18951         * modules/float (Makefile.am): Likewise.
18952         * modules/getopt-posix (Makefile.am): Likewise.
18953         * modules/iconv-h (Makefile.am): Likewise.
18954         * modules/inttypes (Makefile.am): Likewise.
18955         * modules/langinfo (Makefile.am): Likewise.
18956         * modules/locale (Makefile.am): Likewise.
18957         * modules/math (Makefile.am): Likewise.
18958         * modules/netdb (Makefile.am): Likewise.
18959         * modules/netinet_in (Makefile.am): Likewise.
18960         * modules/poll-h (Makefile.am): Likewise.
18961         * modules/pthread (Makefile.am): Likewise.
18962         * modules/pty (Makefile.am): Likewise.
18963         * modules/sched (Makefile.am): Likewise.
18964         * modules/search (Makefile.am): Likewise.
18965         * modules/selinux-h (Makefile.am): Likewise.
18966         * modules/signal (Makefile.am): Likewise.
18967         * modules/spawn (Makefile.am): Likewise.
18968         * modules/stdarg (Makefile.am): Likewise.
18969         * modules/stddef (Makefile.am): Likewise.
18970         * modules/stdint (Makefile.am): Likewise.
18971         * modules/stdio (Makefile.am): Likewise.
18972         * modules/stdlib (Makefile.am): Likewise.
18973         * modules/string (Makefile.am): Likewise.
18974         * modules/strings (Makefile.am): Likewise.
18975         * modules/sys_file (Makefile.am): Likewise.
18976         * modules/sys_ioctl (Makefile.am): Likewise.
18977         * modules/sys_select (Makefile.am): Likewise.
18978         * modules/sys_socket (Makefile.am): Likewise.
18979         * modules/sys_stat (Makefile.am): Likewise.
18980         * modules/sys_time (Makefile.am): Likewise.
18981         * modules/sys_times (Makefile.am): Likewise.
18982         * modules/sys_utsname (Makefile.am): Likewise.
18983         * modules/sys_wait (Makefile.am): Likewise.
18984         * modules/sysexits (Makefile.am): Likewise.
18985         * modules/termios (Makefile.am): Likewise.
18986         * modules/time (Makefile.am): Likewise.
18987         * modules/unistd (Makefile.am): Likewise.
18988         * modules/wchar (Makefile.am): Likewise.
18989         * modules/wctype (Makefile.am): Likewise.
18990
18991 2010-10-04  Bruno Haible  <bruno@clisp.org>
18992
18993         read-file tests: Avoid a test failure on NonStop Kernel.
18994         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
18995         a regular file.
18996         Reported by Joachim Schmitz <schmitz@hp.com>.
18997
18998 2010-10-03  Bruno Haible  <bruno@clisp.org>
18999
19000         gnulib-tool: Fixes for --create-testdir with --libtool.
19001         * gnulib-tool (func_get_automake_snippet): Don't augment
19002         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
19003         an executable.
19004         (func_create_testdir): Handle module 'alloca' like func_import.
19005         Reported by Bruce Korb <bruce.korb@gmail.com>.
19006
19007 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
19008
19009         Avoid some lines longer than 80 characters.
19010         * lib/stdint.in.h: Break long comment lines.
19011         * lib/math.in.h: Likewise.
19012         (_GL_NUM_UINT_WORDS): New macro, for readability.
19013         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
19014         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
19015         * lib/stdlib.in.h: Likewise.
19016         * lib/spawn.in.h: Likewise.
19017         * lib/sys_socket.in.h: Update an URL.
19018         * lib/sys_stat.in.h: Break long line.
19019
19020 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
19021
19022         Improve pmccabe2html.
19023         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
19024         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
19025         when the sources change. Remove the line in the HTML about "Used
19026         ranges" (which implied that there might be other unused ranges),
19027         rename "Resume" to "Summary" (easier to understand for more users).
19028         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
19029         styles, and some unnecessary blank lines.
19030
19031 2010-10-03  Bruno Haible  <bruno@clisp.org>
19032             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
19033
19034         acl: Add support for ACLs on NonStop Kernel.
19035         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
19036         Check whether the function aclsort() exists.
19037         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
19038         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
19039         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19040         (acl_nontrivial [HAVE_ACLSORT]: New function.
19041         (file_has_acl): Implement for NonStop Kernel.
19042         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19043         (qset_acl): Implement for NonStop Kernel.
19044         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
19045         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
19046         (main): Implement for NonStop Kernel.
19047         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
19048         Kernel. Handle this flavor.
19049         * tests/test-set-mode-acl.sh: Likewise.
19050         * tests/test-copy-acl.sh: Likewise.
19051         * tests/test-copy-file.sh: Likewise.
19052
19053 2010-10-03  Bruno Haible  <bruno@clisp.org>
19054
19055         Info about ACLs on NonStop Kernel.
19056         * doc/acl-resources.txt: Add info about NonStop Kernel.
19057         References by Joachim Schmitz <schmitz@hp.com>.
19058
19059 2010-10-02  Bruno Haible  <bruno@clisp.org>
19060
19061         Define missing EDQUOT on NonStop Kernel.
19062         * lib/errno.in.h (EDQUOT): Assign a value if missing.
19063         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
19064         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
19065         missing.
19066         * doc/posix-headers/errno.texi: Mention the NSK bug.
19067         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
19068         Reported by Joachim Schmitz <schmitz@hp.com>.
19069
19070 2010-10-02  Bruno Haible  <bruno@clisp.org>
19071
19072         Update doc for POSIX:2008.
19073         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
19074         Update URL of POSIX specification.
19075
19076 2010-10-02  Bruno Haible  <bruno@clisp.org>
19077
19078         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
19079         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
19080         from gnulib, not from Automake.
19081
19082 2010-10-02  Bruno Haible  <bruno@clisp.org>
19083
19084         New module 'system-posix'.
19085         * modules/system-posix: New file.
19086         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
19087         module is present.
19088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
19089         GNULIB_SYSTEM_POSIX.
19090         * modules/stdlib (Depends-on): Remove sys_wait.
19091         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
19092         * doc/posix-functions/system.texi: Mention the new module.
19093         * doc/posix-headers/stdlib.texi: Likewise.
19094         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
19095         define test_sys_wait_macros to a no-op.
19096         Reported by Sam Steingold <sds@gnu.org>.
19097
19098 2010-09-30  Bruno Haible  <bruno@clisp.org>
19099
19100         More renaming from 'getdate' to 'get_date'.
19101         * doc/get_date.texi: Renamed from doc/getdate.texi.
19102         * modules/get_date (Files): Update.
19103         * MODULES.html.sh (Date and time <time.h>): Update.
19104         * DEPENDENCIES: Update.
19105         * gnulib-tool: Update comment.
19106         * m4/bison.m4 (gl_BISON): Likewise.
19107         * m4/get_date.m4 (gl_GET_DATE): Likewise.
19108
19109 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
19110
19111         bootstrap: support ACLOCAL_FLAGS during aclocal
19112         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
19113         can add additional -I dir for third-party .m4 files.
19114
19115 2010-09-30  Eric Blake  <eblake@redhat.com>
19116
19117         bootstrap: use glibtoolize on MacOS
19118         * build-aux/bootstrap (check_versions): Convert libtool into
19119         libtoolize.
19120         (tool search): Move libtool check earlier, and look for
19121         glibtoolize for MacOS.
19122         (gnulib_tool_options): Auto-add --libtool when appropriate.
19123         Reported by Justin Clift.
19124
19125         poll: fix typo that broke test on MacOS
19126         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
19127         Reported by Justin Clift.
19128
19129         getdate: rename to get_date
19130         Note: getdate.h is not renamed, to minimize client impact.
19131         * modules/getdate: Mark obsolete.  Move old contents...
19132         * modules/get_date: ...to new module name.
19133         * modules/getdate-tests: Move...
19134         * modules/get_date-tests: ...here.
19135         * m4/getdate.m4: Move...
19136         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
19137         * lib/getdate.y: Move...
19138         * lib/get_date.y: ...here.
19139         * tests/test-getdate.c: Move...
19140         * tests/test-get_date.c: ...here.
19141         * doc/posix-functions/getdate.texi (getdate): Update name.
19142         * NEWS: Mention the change.
19143
19144 2010-09-29  Bruno Haible  <bruno@clisp.org>
19145
19146         Separate the module 'waitpid' from the module 'sys_wait'.
19147         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
19148         present.
19149         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
19150         gl_MODULE_INDICATOR_FOR_TESTS.
19151         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
19152         * modules/sys_wait (Depends-on): Remove waitpid.
19153         (Makefile.am): Substitute GNULIB_WAITPID.
19154         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
19155         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
19156         signature only if the 'waitpid' module is present.
19157         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
19158         * NEWS: Mention the change.
19159         * modules/grantpt (Depends-on): Add waitpid.
19160         * modules/wait-process (Depends-on): Likewise.
19161
19162 2010-09-29  Bruno Haible  <bruno@clisp.org>
19163
19164         More tests for module 'sys_wait'.
19165         * modules/sys_wait-c++-tests: New file.
19166         * tests/test-sys_wait-c++.cc: New file.
19167         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
19168         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19169
19170 2010-09-29  Bruno Haible  <bruno@clisp.org>
19171
19172         New module 'waitpid'.
19173         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
19174         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
19175         Don't include <process.h>.
19176         (waitpid): Declare only, using modern idiom.
19177         * m4/waitpid.m4: New file.
19178         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
19179         * modules/waitpid: New file.
19180         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
19181         (Makefile.am): Update.
19182         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
19183
19184 2010-09-28  Bruno Haible  <bruno@clisp.org>
19185
19186         poll: Assume ANSI C.
19187         * lib/poll.c (poll): Use an ANSI C declaration.
19188
19189 2010-09-28  Bruno Haible  <bruno@clisp.org>
19190
19191         poll-h: Create poll.h on all platforms.
19192         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
19193         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
19194         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
19195         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
19196         (gl_REPLACE_POLL_H): Don't set POLL_H.
19197         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
19198         * modules/poll-h (Depends-on): Add include_next.
19199         (Makefile.am): Create poll.h unconditionally. Substitute also
19200         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
19201
19202 2010-09-28  Bruno Haible  <bruno@clisp.org>
19203
19204         Tests for module 'poll-h'.
19205         * modules/poll-h-c++-tests: New file.
19206         * tests/test-poll-h-c++.cc: New file.
19207
19208         Tests for module 'poll-h'.
19209         * modules/poll-h-tests: New file.
19210         * tests/test-poll-h.c: New file.
19211
19212 2010-09-28  Bruno Haible  <bruno@clisp.org>
19213
19214         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
19215         * modules/poll-h (Depends-on): Add 'extensions'.
19216
19217 2010-09-28  Bruno Haible  <bruno@clisp.org>
19218
19219         New module 'poll-h'.
19220         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
19221         (poll): Use modern idiom.
19222         * modules/poll-h: New file.
19223         * modules/poll (Files): Remove lib/poll.in.h.
19224         (Depends-on): Add poll-h.
19225         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
19226         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
19227         * m4/poll_h.m4: New file.
19228         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
19229         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
19230         and invoke gl_REPLACE_POLL_H.
19231         * lib/poll.c: Use common idiom.
19232         * tests/test-poll.c: Likewise.
19233         * doc/posix-headers/poll.texi: Mention the poll-h module.
19234         Suggested by Eric Blake.
19235
19236 2010-09-26  Bruno Haible  <bruno@clisp.org>
19237
19238         sys_wait: Implement WSTOPSIG.
19239         * lib/sys_wait.in.h (WSTOPSIG): New macro.
19240         Reported by Simon Josefsson.
19241
19242 2010-09-26  Simon Josefsson  <simon@josefsson.org>
19243
19244         stdlib, sys_wait: Avoid compilation error on mingw.
19245         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
19246
19247 2010-09-26  Bruno Haible  <bruno@clisp.org>
19248
19249         stdlib tests: Avoid code duplication.
19250         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
19251         * modules/sys_wait-tests (Files): Likewise.
19252         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
19253         * tests/test-stdlib.c: Include test-sys_wait.h.
19254         (main): Invoke test_sys_wait_macros.
19255         * tests/test-sys_wait.c: Include test-sys_wait.h.
19256         (main): Invoke test_sys_wait_macros.
19257
19258 2010-09-25  Simon Josefsson  <simon@josefsson.org>
19259
19260         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
19261         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
19262         sure Windows sockets are working before calling getaddrinfo.
19263         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
19264         * doc/gnulib.texi (Windows sockets): Fix typo.
19265
19266 2010-09-25  Bruno Haible  <bruno@clisp.org>
19267
19268         Tests for module 'regex-quote'.
19269         * modules/regex-quote-tests: New file.
19270         * tests/test-regex-quote.c: New file.
19271
19272         New module 'regex-quote'.
19273         * lib/regex-quote.h: New file.
19274         * lib/regex-quote.c: New file.
19275         * modules/regex-quote: New file.
19276         Suggested by Reuben Thomas <rrt@sc3d.org>.
19277
19278 2010-09-24  Bruno Haible  <bruno@clisp.org>
19279
19280         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
19281         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
19282
19283 2010-09-23  Bruno Haible  <bruno@clisp.org>
19284
19285         setenv: Relax license.
19286         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
19287         Blake.
19288         Requested by Eric Blake.
19289
19290 2010-09-22  Bruno Haible  <bruno@clisp.org>
19291
19292         termios: Relax license.
19293         * modules/termios (License): Change to LGPLv2+.
19294         Requested by Eric Blake.
19295
19296 2010-09-22  Bruno Haible  <bruno@clisp.org>
19297
19298         threadlib: Allow the package to change the default to 'no'.
19299         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
19300         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
19301         Reported by Paul Eggert.
19302
19303 2010-09-22  Pádraig Brady  <P@draigbrady.com>
19304             Bruno Haible  <bruno@clisp.org>
19305
19306         Fix endless loop in mbmemcasecoll.
19307         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
19308         byte.
19309         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
19310
19311 2010-09-22  Bruno Haible  <bruno@clisp.org>
19312
19313         Tests for module 'memcoll'.
19314         * modules/memcoll-tests: New file.
19315         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
19316
19317         memcoll, xmemcoll: Clarify size vs. length.
19318         * modules/memcoll.c (memcoll0): Clarify specification.
19319         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
19320         passed to collate_error.
19321
19322 2010-09-22  Bruno Haible  <bruno@clisp.org>
19323
19324         Tests for module 'memcasecmp'.
19325         * modules/memcasecmp-tests: New file.
19326         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
19327
19328 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19329
19330         * lib/pthread.in.h: Add split double-inclusion guard, and include
19331         system <pthread.h> if there is one.  Use @@-style as in other
19332         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
19333         pthread.h doesn't.
19334         (pthread_mutexattr_destroy, pthread_mutexattr_init):
19335         (pthread_mutexattr_settype, pthread_mutex_trylock):
19336         New static inline functions, if there's no system <pthread.h>.
19337         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
19338         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
19339         Approximate with mutexes if the system lacks spinlocks, as in
19340         MacOS.
19341         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
19342         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
19343         @@-style.  Check for spinlocks separately.
19344         (gl_PTHREAD_DEFAULTS): New macro.
19345         * modules/pthread: Redo to use a more typical style for in.h files.
19346
19347 2010-09-21  Eric Blake  <eblake@redhat.com>
19348
19349         net_if: enhance tests
19350         * tests/test-net_if.c (main): Move signature checks earlier.
19351         Print failures to stderr.
19352         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
19353         Document the bug that we do not yet fix.
19354
19355 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19356
19357         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
19358         about gnulib, not GSS.
19359
19360 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
19361
19362         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
19363         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
19364         for Emacs.
19365         * build-aux/pmccabe2html: Make Makefile.am example code more
19366         cut-and-paste friendly.
19367
19368 2010-09-21  Simon Josefsson  <simon@josefsson.org>
19369
19370         * tests/test-net_if.c: New file.
19371         * modules/net_if-tests: New file.
19372
19373 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
19374
19375         pthread: add pthread_spin_destroy
19376         * lib/pthread.in.h (pthread_spin_destroy): New function.
19377
19378 2010-09-19  Bruno Haible  <bruno@clisp.org>
19379
19380         gnulib-tool: Fix --help output.
19381         * gnulib-tool (func_usage): Fix help message.
19382         Reported by Reuben Thomas <rrt@sc3d.org>.
19383
19384 2010-09-18  Jim Meyering  <meyering@redhat.com>
19385
19386         maint.mk: avoid unexpanded \n in two diagnostics
19387         * top/maint.mk (sc_prohibit_always_true_header_tests):
19388         Don't use a literal \n in a halt=... assignment.  It would not be
19389         expanded, and the two \n bytes would appear in the diagnostic output
19390         rather than the desired newline.  Use halt=$$(printf ... instead.
19391         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19392
19393 2010-09-18  Bruno Haible  <bruno@clisp.org>
19394
19395         netinet_in: Doc tweak.
19396         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
19397         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19398
19399 2010-09-18  Jim Meyering  <meyering@redhat.com>
19400
19401         init.sh: correct an outdated comment
19402         * tests/init.sh (create_exe_shims_):  s/function/alias/
19403
19404         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
19405         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
19406         a file named "*.exe" is removed between the glob expansion and the
19407         processing of that oddly named file.
19408
19409 2010-09-17  Eric Blake  <eblake@redhat.com>
19410
19411         mirbsd: add some more support
19412         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
19413         in BSD family.
19414         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
19415         devices as OpenBSD.
19416         * m4/host-os.m4 (mirbsd): Add MirBSD.
19417
19418         tests: fix unportable assumption on sys/wait.h
19419         * tests/test-sys_wait.c (main): Relax test.
19420         * tests/test-stdlib.c (main): Likewise.
19421
19422         init.sh: accomodate directory with no .exes
19423         * tests/init.sh: Accomodate directory containing only scripts.
19424
19425         tests: avoid compiler warning
19426         * tests/test-stdlib.c (main): Use the variable.
19427
19428         fdutimens, fdutimensat: update signature, again
19429         * lib/utimens.h (gl_futimens): Delete, and move signature...
19430         (fdutimens): ...here.
19431         (fdutimensat): Rearrange signature.
19432         (lutimensat): Rename variable for clarity.
19433         * lib/fdutimensat.c (fdutimensat): Update signature.
19434         * lib/utimens.c (fdutimens): Likewise.
19435         (gl_futimens): Delete.
19436         (utimens, lutimens): Update callers.
19437         * lib/futimens.c (futimens): Likewise.
19438         * tests/test-fdutimensat.c: Likewise.
19439         * tests/test-utimens.c: Likewise.
19440         * tests/test-futimens.h: Update comment.
19441         * NEWS: Mention this.
19442         Suggested by Paul Eggert.
19443
19444 2010-09-17  Bruno Haible  <bruno@clisp.org>
19445
19446         Take over the maintenance of some older macros from Autoconf.
19447         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
19448         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
19449         GNU Autoconf.
19450         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
19451         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
19452
19453 2010-09-17  Eric Blake  <eblake@redhat.com>
19454
19455         fdutimensat: drop atflag validation
19456         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
19457         with valid fd, to close a race scenario where futimens is
19458         unsupported and FILE was replaced by a symlink.
19459         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
19460         accordingly.
19461         Suggested by Paul Eggert.
19462
19463 2010-09-16  Bruno Haible  <bruno@clisp.org>
19464
19465         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
19466         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
19467
19468 2010-09-16  Bruno Haible  <bruno@clisp.org>
19469
19470         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
19471         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
19472         login_tty exists.
19473         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19474
19475 2010-09-16  Bruno Haible  <bruno@clisp.org>
19476
19477         login_tty: Make the replacement code work on BSD systems.
19478         * lib/login_tty.c: Include <sys/ioctl.h>.
19479         (login_tty): Use ioctl TIOCSCTTY when available.
19480         * modules/login_tty (Depends-on): Add sys_ioctl.
19481         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19482
19483 2010-09-16  Bruno Haible  <bruno@clisp.org>
19484
19485         login_tty: Stricter unit test.
19486         * modules/login_tty-tests (Depends-on): Add tcgetsid.
19487         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
19488         and tcgetsid() after login_tty.
19489         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19490
19491 2010-09-16  Bruno Haible  <bruno@clisp.org>
19492
19493         New module 'tcgetsid'.
19494         * lib/tcgetsid.c: New file.
19495         * m4/tcgetsid.m4: New file.
19496         * modules/tcgetsid: New file.
19497         * modules/termios (Depends-on): Add c++defs, warn-on-use.
19498         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
19499         GNULIB_TCGETSID, HAVE_TCGETSID.
19500         * lib/termios.in.h: Include <sys/types.h>.
19501         (tcgetsid): New declaration.
19502         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
19503         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
19504         * doc/posix-functions/tcgetsid.texi: Mention the new module.
19505         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
19506
19507 2010-09-16  Bruno Haible  <bruno@clisp.org>
19508
19509         Tests for module 'termios'.
19510         * modules/termios-c++-tests: New file.
19511         * modules/termios-tests: New file.
19512         * tests/test-termios-c++.cc: New file.
19513         * tests/test-termios.c: New file.
19514
19515         New module 'termios'.
19516         * modules/termios: New file.
19517         * lib/termios.in.h: New file.
19518         * m4/termios_h.m4: New file.
19519         * doc/posix-headers/termios.texi: Mention the new module.
19520
19521 2010-09-16  Eric Blake  <eblake@redhat.com>
19522
19523         fdutimensat: add an atflag parameter
19524         * lib/fdutimensat.c (fdutimensat): Add new parameter.
19525         * lib/utimens.h (fdutimensat): Update prototype.
19526         * tests/test-fdutimensat.c: Adjust test to match.
19527         * NEWS: Document the change.
19528         Suggested by Paul Eggert.
19529
19530 2010-09-16  Bruno Haible  <bruno@clisp.org>
19531
19532         Fix typos in comments.
19533         * lib/striconveh.h: Fix typo in comment.
19534         * lib/login_tty.c (login_tty): Likewise.
19535
19536 2010-09-15  Bruno Haible  <bruno@clisp.org>
19537
19538         stdlib: clarify MirBSD WEXITSTATUS bug
19539         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
19540         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19541
19542 2010-09-15  Eric Blake  <eblake@redhat.com>
19543
19544         stdlib: work around MirBSD WEXITSTATUS bug
19545         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
19546         * modules/stdlib (Depends-on): Add sys_wait.
19547         * tests/test-sys_wait.c (main): Enhance test.
19548         * tests/test-stdlib.c (main): Likewise.
19549         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
19550
19551         docs: mention MacOS issue with WEXITSTATUS(constant)
19552         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
19553         issue.
19554         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19555
19556         strnlen: add tests
19557         * modules/strnlen-tests: New file.
19558         * tests/test-strnlen.c: Likewise.
19559
19560 2010-09-14  Bruno Haible  <bruno@clisp.org>
19561
19562         unistr/base: Avoid link errors when module 'libunistring' is also used.
19563         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
19564         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
19565         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
19566         Declare also when HAVE_LIBUNISTRING is set.
19567         Reported by Pádraig Brady <P@draigbrady.com>.
19568
19569 2010-09-14  Eric Blake  <eblake@redhat.com>
19570
19571         test-rawmemchr: make more robust
19572         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
19573         (Depends-on, configure.ac): Add needed prerequisites to use it.
19574         * modules/memchr-tests (Files, Depends-on, configure.ac):
19575         Likewise, to avoid implicit reliance on memchr module prereqs.
19576         * tests/test-memchr.c (main): Ensure proper masking.
19577         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
19578         reads.
19579
19580         memchr: detect glibc Alpha bug
19581         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
19582         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
19583         Alpha.
19584         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
19585         * tests/test-memchr.c (main): Enhance test.
19586         Reported by Nelson H. F. Beebe.
19587
19588 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19589
19590         fts, getcwd, glob: audit for dirfd returning -1
19591         * lib/fts.c (opendir): Remove #define; no longer used.
19592         (opendirat): New arg PDIR_FD.  All callers changed.
19593         (fts_build, _opendir2): Use new opendirat to avoid the need for
19594         dirfd, or for checking whether dirfd returns a negative value.
19595         Don't use opendir; always use openat followed by fdopendir.
19596         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
19597         it.
19598         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
19599         returns -1 here.
19600         * modules/fts (Depends-on): Remove dirfd.
19601         * modules/getcwd (Depends-on): Likewise.
19602
19603 2010-09-13  Eric Blake  <eblake@redhat.com>
19604
19605         float: fix broken MirBSD header
19606         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
19607         * doc/posix-headers/float.texi (float.h): Document it.
19608
19609 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
19610
19611         fts: use O_NOFOLLOW to avoid race condition when opening a directory
19612         * lib/fts.c (opendirat): New arg extra_flags.
19613         (__opendir2): Use it to avoid following symlinks when opening
19614         a directory, if symlinks are not supposed to be followed.  See
19615         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
19616
19617         fdopendir: preserve argument fd before returning
19618         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
19619         (fdopendir_with_dup, fd_clone_opendir): New static functions.
19620         (fdopendir): Use them, arranging for FD to be open to the same
19621         directory that it was when it started.  (It might be temporarily
19622         closed while fdopendir is running, so this not thread- or
19623         signal-safe.)  Be careful to do the right thing even when file
19624         descriptors are scarce and dup fails with errno == EMFILE.  See
19625         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
19626
19627 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
19628
19629         regex: Pass the system regex if its only problem is 32-bit regoff_t.
19630         * NEWS: Document change.
19631         * m4/regex.m4: Disable test for regoff_t size.
19632
19633 2010-09-13  Jim Meyering  <meyering@redhat.com>
19634
19635         fts: don't operate on an invalid file descriptor after failed dup
19636         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
19637         negative file descriptor.
19638
19639 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
19640
19641         savedir: add streamsavedir, deprecate fdsavedir
19642         * NEWS: Mention deprecation of fdsavedir.
19643         * lib/savedir.c (streamsavedir): New extern function, whose name
19644         ends in "savedir" to be consistent with the others.  This differs
19645         from savedirstream in that it doesn't close its argument.  The
19646         next version of GNU tar will use this instead of fdsavedir, to
19647         avoid some race conditions and conserve file descriptors.
19648         (savedirstream): Reimplement as a wrapper around streamsavedir.
19649         (fdsavedir): Add a comment deprecating this function.  As far as
19650         I know, only GNU tar used it, and GNU tar doesn't need it any more.
19651         * lib/savedir.h (streamsavedir): New decl.
19652         (fdsavedir): Add a comment deprecating this.
19653
19654 2010-09-10  Bruno Haible  <bruno@clisp.org>
19655
19656         langinfo: Fix last commit.
19657         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
19658         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
19659         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19660
19661 2010-09-10  Bruno Haible  <bruno@clisp.org>
19662
19663         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
19664         * lib/progreloc.c (O_EXEC): Define fallback.
19665
19666 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19667
19668         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
19669         * NEWS: Document recent changes to fcntl-h.
19670         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
19671         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
19672         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
19673         Similarly for O_SEARCH; this last was already true, but not documented.
19674         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
19675         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
19676         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
19677         Likewise.
19678         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
19679         is zero, not whether it is defined.
19680         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
19681         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
19682         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
19683
19684 2010-09-10  Bruno Haible  <bruno@clisp.org>
19685
19686         langinfo, nl_langinfo: Fix for IRIX 5.3.
19687         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
19688         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
19689         HAVE_LANGINFO_YESEXPR.
19690         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
19691         HAVE_LANGINFO_YESEXPR.
19692         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
19693         HAVE_LANGINFO_T_FMT_AMPM is 0.
19694         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
19695         HAVE_LANGINFO_YESEXPR is 0.
19696         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
19697         NOEXPR.
19698         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
19699         * doc/posix-functions/nl_langinfo.texi: Likewise.
19700         Reported by Eric Blake.
19701
19702 2010-09-10  Bruno Haible  <bruno@clisp.org>
19703
19704         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
19705         * doc/glibc-functions/login_tty.texi: Mention the include file problem
19706         on FreeBSD 8.0 and OpenBSD 4.6.
19707         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
19708         * m4/pty_h.m4 (gl_PTY_H): Likewise.
19709         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
19710         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
19711         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
19712         ac_includes_default.
19713         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
19714
19715 2010-09-09  Eric Blake  <eblake@redhat.com>
19716
19717         strsignal: work around NetBSD bug
19718         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
19719         * lib/string.in.h (includes): Likewise.
19720         * doc/posix-functions/strsignal.texi (strsignal): Document the
19721         bug.
19722         Reported by Nelson H. F. Beebe.
19723
19724         gnulib-tool: work with NetBSD /bin/sh
19725         * gnulib-tool (func_cache_var, func_cache_lookup_module)
19726         (func_get_description, func_get_comment, func_get_status)
19727         (func_get_notice, func_get_applicability, func_get_filelist)
19728         (func_get_dependencies, func_get_autoconf_early_snippet)
19729         (func_get_autoconf_snippet, func_get_automake_snippet)
19730         (func_get_include_directive, func_get_link_directive)
19731         (func_get_license, func_get_maintainer, func_import): Avoid
19732         shell syntax errors from parsing syntax extensions.
19733
19734 2010-09-09  Bruno Haible  <bruno@clisp.org>
19735
19736         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19737         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
19738         a reliable way to determine whether the 'alias' command works.
19739
19740 2010-09-08  Jim Meyering  <meyering@redhat.com>
19741
19742         init.sh: penalize a set-x-impaired shell; don't disqualify it
19743         * tests/init.sh: Too many shells corrupt application stderr when
19744         you set -x, so we can't afford to disqualify them, since at least
19745         on Irix-6.5, that would disqualify all bourne shells.
19746         Instead, use a two-pass approach.
19747         On the first pass, try to find a shell that meets the stricter
19748         condition that set -x does not corrupt stderr.
19749         If no shell meets the stricter condition, retest each candidate
19750         shell, but without that extra condition.  Finally, when
19751         VERBOSE=yes is requested and set -x might cause trouble, simply
19752         issue a warning and refrain from enabling debug output.
19753
19754 2010-09-08  Eric Blake  <eblake@redhat.com>
19755
19756         unsetenv: fix OpenBSD bug
19757         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
19758         * doc/posix-functions/unsetenv.texi (unsetenv): Update
19759         documentation.
19760         Reported by Jim Meyering.
19761
19762         strtod: work around IRIX 6.5 bug
19763         * lib/strtod.c (strtod): Reparse number on shorter string if
19764         exponent parse was invalid.
19765         * tests/test-strtod.c (main): Add check for "0x1p 2".
19766         Reported by Tom G. Christensen.
19767
19768         getopt: optimize previous patch
19769         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
19770         empty variable.  Speed up awk script.
19771         Reported by Paolo Bonzini.
19772
19773 2010-09-08  Jim Meyering  <meyering@redhat.com>
19774
19775         test.sh: disqualify shells for which set -x corrupts stderr
19776         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
19777         and OpenBSD 4.7.  They make it so with "set -x", environment settings
19778         appear in stderr output.  For example, this command:
19779             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
19780         prints "P=1" on those two systems:
19781
19782 2010-09-08  Bruno Haible  <bruno@clisp.org>
19783
19784         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
19785         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
19786         commands, because some shells ignore redirections when there is an
19787         error in the command lookup.
19788         Reported by Eric Blake.
19789
19790 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
19791
19792         * lib/regex.h: Fix a mention of `regex_compile' (should be
19793         `re_compile_pattern').
19794         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
19795         (re_set_registers): Correct name of parameter in comment.
19796
19797         * doc/regex.texi: Add documentation for missing syntax flags.
19798         Remove commented-out documentation of defunct syntax option
19799         RE_NO_EMPTY_ALTS.
19800         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
19801         Add documentation of re_set_registers.
19802         Document trick to re-use a pattern buffer by setting fastmap manually.
19803         Update documentation of struct re_pattern_buffer per public members.
19804         Uncomment documentation of equivalence class operators and
19805         collating symbol operators, since they are now implemented,
19806         Explain leftmost-longest matching in relation to alternatives.
19807         Tidy documentation of substring matching.
19808         Remove POSIX documentation, which is done better in
19809         glibc, and refer the reader there. Keep BSD API documentation, as
19810         that is not readily available elsewhere.
19811
19812 2010-09-07  Eric Blake  <eblake@redhat.com>
19813
19814         getopt: handle POSIXLY_CORRECT set but not exported
19815         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
19816         export state of POSIXLY_CORRECT, due to bash set -o posix.
19817         Reported by Dustin J. Mitchell.
19818
19819 2010-09-05  Bruno Haible  <bruno@clisp.org>
19820
19821         gnulib-tool: Highlight the changed options.
19822         * gnulib-tool (func_usage): Display the --import, --add-import,
19823         --remove-import explanations in bold font.
19824
19825 2010-09-06  Karl Berry  <karl@gnu.org>
19826
19827         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
19828
19829 2010-09-05  Bruno Haible  <bruno@clisp.org>
19830
19831         uniwidth/width: Update comment.
19832         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
19833         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
19834
19835 2010-09-05  Bruno Haible  <bruno@clisp.org>
19836
19837         isinf, isnan: Relax license.
19838         * modules/isinf (License): Change from GPL to LGPL, with consent from
19839         Ben Pfaff.
19840         * modules/isnan (License): Likewise.
19841         Requested by Ludovic Courtès.
19842
19843 2010-09-04  Bruno Haible  <bruno@clisp.org>
19844
19845         gnulib-tool: Help migration from --import to --add-import or --update.
19846         * gnulib-tool: Emit a verbose error message when --import is used
19847         without any module name.
19848
19849 2010-09-04  Bruno Haible  <bruno@clisp.org>
19850
19851         Update doc about gnulib-tool.
19852         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
19853         'gnulib-tool --update' in more detail.
19854         Reported by Eric Blake.
19855
19856 2010-09-04  Bruno Haible  <bruno@clisp.org>
19857
19858         gnulib-tool: Change --import. New options --add/remove-import.
19859         * gnulib-tool: New options --add-import, --remove-import.
19860         (func_usage): Document them.
19861         (have_associative): Define always.
19862         (func_import): In import mode, don't merge the specified settings with
19863         the cached settings. Implement remove-import mode.
19864         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
19865         Explain when to use them versus --import.
19866         (Simple update): Use --add-import instead of --import.
19867         * NEWS: Mention the change.
19868
19869 2010-09-04  Bruno Haible  <bruno@clisp.org>
19870
19871         * doc/gnulib-tool.texi (Initial import): Update paragraph about
19872         separate gnulib.mk.
19873
19874 2010-09-04  Bruno Haible  <bruno@clisp.org>
19875
19876         gnulib-tool: Don't talk about CVS any more.
19877         * gnulib-tool (func_usage, func_import): Write "version control"
19878         instead of CVS.
19879
19880 2010-09-04  Jim Meyering  <meyering@redhat.com>
19881
19882         maint.mk: avoid obscure sc_copyright_check failure in coreutils
19883         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
19884         false positives (whose names may be ill-chosen) when searching
19885         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
19886         would cause a false-positive.
19887
19888         avoid coreutils "make distcheck" failure
19889         Coreutils tests with an absolute build directory name that contains
19890         a space.  Not quoting this directory name caused a failure.
19891         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
19892         * tests/test-vc-list-files-cvs.sh: Likewise.
19893
19894 2010-09-04  Bruno Haible  <bruno@clisp.org>
19895
19896         gnulib-tool: Avoid error when run in a package without Makefile.am.
19897         * gnulib-tool: When collecting the m4dirs in a package that does not
19898         have a Makefile.am, eliminate those directories that contain no
19899         gnulib-cache.m4. Fix expression that counts these directories.
19900
19901 2010-09-04  Bruno Haible  <bruno@clisp.org>
19902
19903         update-copyright test: Improve output when perl is missing or too old.
19904         * tests/test-update-copyright.sh: Move test of Perl version down after
19905         the test whether Perl exists. Provide an explanation relating Perl's
19906         error message to Automake's SKIP: message.
19907
19908 2010-09-04  Bruno Haible  <bruno@clisp.org>
19909
19910         Don't augment PATH in TESTS_ENVIRONMENT.
19911         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
19912         set abs_aux_dir instead of augmenting PATH.
19913         * modules/vc-list-files-tests (Makefile.am): Likewise.
19914         * tests/test-update-copyright.sh: Augment PATH here.
19915         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
19916         path_prepend_.
19917         * tests/test-vc-list-files-git.sh: Likewise.
19918
19919 2010-09-04  Jim Meyering  <meyering@redhat.com>
19920
19921         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
19922         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
19923
19924 2010-09-04  Bruno Haible  <bruno@clisp.org>
19925
19926         strdup: Fix compilation error in C++ mode.
19927         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
19928         the macro.
19929
19930 2010-09-04  Bruno Haible  <bruno@clisp.org>
19931
19932         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
19933         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
19934         macro into a function.
19935         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19936
19937 2010-09-04  Bruno Haible  <bruno@clisp.org>
19938
19939         Set PATH_SEPARATOR the same way autoconf does.
19940         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
19941         the value of PATH_SEPARATOR the same way autoconf-generated configure
19942         scripts do.
19943         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
19944         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19945
19946 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19947
19948         Set PATH_SEPARATOR the same way autoconf does.
19949         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
19950         the same way autoconf-generated configure scripts do.
19951         * posix-modules: Likewise.
19952
19953 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
19954
19955         hash: fix safe_hasher const typo
19956         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
19957         const; otherwise, there is a type error later.
19958
19959 2010-09-02  Jim Meyering  <meyering@redhat.com>
19960
19961         test-update-copyright.sh: require perl 5.8.0
19962         * tests/test-update-copyright.sh: Require 5.8.0,
19963         which Tom G. Christensen has confirmed is adequate,
19964         while 5.6.1 is not.
19965
19966 2010-09-02  Eric Blake  <eblake@redhat.com>
19967
19968         tests: init.sh improvements for re-exec'ing with zsh
19969         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
19970         -vx through shell re-exec.
19971         Reported by Tom G. Christensen.
19972
19973         wctype: fix typo in previous commit
19974         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
19975         Reported by Ludovic Courtès.
19976
19977 2010-09-02  Jim Meyering  <meyering@redhat.com>
19978
19979         test-update-copyright.sh: skip test if Perl is too old
19980         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
19981         Reported by Tom G. Christensen.
19982
19983 2010-09-02  Bruno Haible  <bruno@clisp.org>
19984
19985         wctype: Avoid compilation error on IRIX 6.5.30.
19986         * lib/wctype.in.h (iswblank): Declare with a replacement if
19987         REPLACE_ISWBLANK is set.
19988         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
19989         declared. Set REPLACE_ISWBLANK.
19990         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
19991         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
19992         * doc/posix-headers/wctype.texi: Likewise.
19993         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19994
19995 2010-09-01  Bruno Haible  <bruno@clisp.org>
19996
19997         New module 'socketlib'.
19998         * modules/socketlib: New file.
19999         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
20000         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
20001         * modules/sockets (Depends-on): Add socketlib.
20002         Suggested by Sam Steingold <sds@gnu.org>.
20003
20004 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20005
20006         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
20007
20008         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
20009         when one needs search access to a directory but not read access.
20010         On systems where it is available, it works in some cases where
20011         O_RDONLY does not, namely on directories that are searchable but
20012         not readable, and which need only to be searchable.  If O_SEARCH
20013         is not available, fall back to the traditional method of using
20014         O_RDONLY.
20015
20016         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
20017         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
20018         when opening a directory that needs only to be searchable.
20019         * lib/chdir-safer.c (chdir_no_follow): Likewise.
20020         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
20021         * lib/openat-proc.c (openat_proc_name): Likewise.
20022         * lib/openat.c (openat_needs_fchdir): Likewise.
20023         * lib/save-cwd.c (save_cwd): Likewise.
20024         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
20025
20026 2010-08-28  Bruno Haible  <bruno@clisp.org>
20027
20028         New module 'host-cpu-c-abi'.
20029         * modules/host-cpu-c-abi: New file.
20030         * m4/host-cpu-c-abi.m4: New file, based on part of
20031         clisp/src/m4/general.m4.
20032         Requested by Sam Steingold <sds@gnu.org>.
20033
20034 2010-08-31  Eric Blake  <eblake@redhat.com>
20035         and Jim Meyering  <meyering@redhat.com>
20036
20037         hash: factor, and guard against misbehaving hasher function
20038         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
20039         of table->hasher's return value.  Also protect against a hash value
20040         so large that adding it to table->bucket results in a NULL pointer.
20041         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
20042         Use it in place of open-coded check-and-abort.
20043
20044 2010-08-30  Bruno Haible  <bruno@clisp.org>
20045
20046         hash: silence spurious clang warning
20047         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
20048         Reported by Eric Blake.
20049
20050 2010-08-30  Eric Blake  <eblake@redhat.com>
20051
20052         strstr, memmem, strcasestr: avoid leaked shell message
20053         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
20054         FreeBSD.
20055         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20056         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20057
20058         tests: silence clang warning
20059         * tests/test-malloca.c (do_allocation): Avoid dead store.
20060
20061 2010-08-29  Bruno Haible  <bruno@clisp.org>
20062
20063         gettext: Fix recent mistake.
20064         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
20065
20066 2010-08-29  Bruno Haible  <bruno@clisp.org>
20067
20068         selinux-h: Offer a --without-selinux option.
20069         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
20070         --without-selinux was specified, skip all tests and define
20071         HAVE_SELINUX_SELINUX_H to 0.
20072         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
20073         set LIB_SELINUX to empty.
20074         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
20075         gl_LIBSELINUX. If --without-selinux was specified, replace
20076         selinux/context.h.
20077         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
20078
20079 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20080             Bruno Haible  <bruno@clisp.org>
20081
20082         Make the module 'realloc-gnu' work again on AIX and OSF/1.
20083         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
20084         of HAVE_REALLOC.
20085         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
20086         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
20087         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
20088         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20089
20090 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20091             Bruno Haible  <bruno@clisp.org>
20092
20093         Make the module 'calloc-gnu' work again on AIX and OSF/1.
20094         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
20095         HAVE_CALLOC.
20096         * lib/xmalloc.c: Update accordingly.
20097         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
20098         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
20099         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
20100
20101 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20102             Bruno Haible  <bruno@clisp.org>
20103
20104         Make the module 'malloc-gnu' work again on AIX and OSF/1.
20105         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
20106         HAVE_MALLOC.
20107         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
20108         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20109         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
20110
20111 2010-08-29  Bruno Haible  <bruno@clisp.org>
20112
20113         Update modules list.
20114         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20115         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
20116         (String handling <string.h>): Add astrxfrm.
20117         (File system functions): Add readlinkat.
20118
20119 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20120
20121         Tests for module 'realloc-gnu'.
20122         * modules/realloc-gnu-tests: New file.
20123         * tests/test-realloc-gnu.c: New file.
20124
20125         Tests for module 'calloc-gnu'.
20126         * modules/calloc-gnu-tests: New file.
20127         * tests/test-calloc-gnu.c: New file.
20128
20129         Tests for module 'malloc-gnu'.
20130         * modules/malloc-gnu-tests: New file.
20131         * tests/test-malloc-gnu.c: New file.
20132
20133 2010-08-28  Bruno Haible  <bruno@clisp.org>
20134
20135         Rename module 'realloc' -> 'realloc-gnu'.
20136         * modules/realloc-gnu: New file, copied from modules/realloc.
20137         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
20138         obsolete.
20139         * modules/mgetgroups (Depends-on): Update.
20140         * doc/posix-functions/realloc.texi: Update.
20141         * NEWS: Mention the change.
20142
20143         Rename module 'calloc' -> 'calloc-gnu'.
20144         * modules/calloc-gnu: New file, copied from modules/calloc.
20145         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
20146         obsolete.
20147         * doc/posix-functions/calloc.texi: Update.
20148         * NEWS: Mention the change.
20149
20150         Rename module 'malloc' -> 'malloc-gnu'.
20151         * modules/malloc-gnu: New file, copied from modules/malloc.
20152         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
20153         obsolete.
20154         * modules/argp (Depends-on): Update.
20155         * modules/regex (Depends-on): Update.
20156         * doc/posix-functions/malloc.texi: Update.
20157         * NEWS: Mention the change.
20158
20159 2010-08-28  Eric Blake  <eblake@redhat.com>
20160
20161         pread, pwrite: add missing dependency
20162         * modules/pread (Depends-on): Add extensions.
20163         * modules/pwrite (Depends-on): Likewise.
20164
20165 2010-08-28  Bruno Haible  <bruno@clisp.org>
20166
20167         unistr/u*-strchr: Fix tests dependencies.
20168         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
20169         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
20170         Reported by Ian Beckwith <ianb@erislabs.net>.
20171
20172 2010-08-28  Bruno Haible  <bruno@clisp.org>
20173
20174         read-file: Don't occupy too much unused memory.
20175         * lib/read-file.c (fread_file): Shrink the buffer at the end.
20176
20177 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
20178             Eric Blake  <eblake@redhat.com>
20179             Bruno Haible  <bruno@clisp.org>
20180
20181         read-file: Avoid memory reallocations with regular files.
20182         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
20183         (fread_file): With regular files, use the remaining length as the
20184         initial buffer size.  Check against overflow.
20185         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
20186         sys_stat.
20187
20188 2010-08-28  Bruno Haible  <bruno@clisp.org>
20189
20190         ftello: Relax license.
20191         * modules/ftello (License): Relax to LGPLv2+.
20192         Reported by Eric Blake.
20193
20194 2010-08-28  Bruno Haible  <bruno@clisp.org>
20195
20196         Avoid relocwrapper link errors due to gnulib replacement functions.
20197         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
20198         function.
20199         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20200
20201 2010-08-28  Bruno Haible  <bruno@clisp.org>
20202
20203         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
20204         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
20205         defined.
20206         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
20207         Suggested by Eric Blake.
20208
20209 2010-08-28  Bruno Haible  <bruno@clisp.org>
20210
20211         sys_socket, netdb: Ensure socklen_t gets defined.
20212         * modules/sys_socket (Depends-on): Add socklen.
20213         * modules/netdb (Depends-on): Likewise.
20214         * modules/getaddrinfo (Depends-on): Remove socklen.
20215         * modules/getsockopt (Depends-on): Likewise.
20216         * modules/setsockopt (Depends-on): Likewise.
20217         * tests/test-sys_socket.c: Check that socklen_t is defined.
20218         * tests/test-netdb.c: Likewise.
20219         * m4/socklen.m4: Update comments.
20220         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20221
20222 2010-08-27  Eric Blake  <eblake@redhat.com>
20223
20224         login_tty: add missing dependency
20225         * modules/login_tty (Depends-on): Add pty.
20226
20227 2010-08-26  Eric Blake  <eblake@redhat.com>
20228
20229         lib-symbol-versions: fix m4 quoting
20230         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
20231         format for AC_LINK_IFELSE.
20232
20233         glob: fix compile test
20234         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
20235
20236         btowc: fix missing file
20237         * modules/btowc (Files): Also ship locale-fr.m4.
20238
20239         lseek: fix link test
20240         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
20241         AC_LINK_IFELSE.
20242
20243         include_next: silence autoconf 2.68 warning
20244         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
20245         AC_COMPILE_IFELSE as special.
20246         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
20247         autoconf < 2.68.
20248
20249         acl: fix compilation test
20250         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
20251         AC_COMPILE_IFELSE.
20252
20253 2010-08-26  Bruno Haible  <bruno@clisp.org>
20254
20255         Modernize AC_TRY_RUN invocations.
20256         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
20257         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20258         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
20259         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
20260         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
20261         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20262         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20263         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20264         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20265         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20266         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20267         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20268         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20269         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20270         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20271         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20272         gl_MBRLEN_NUL_RETVAL): Likewise.
20273         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20274         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20275         Likewise.
20276         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20277         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20278         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20279         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20280         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
20281         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
20282         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
20283         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
20284         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
20285         Likewise.
20286         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20287         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
20288         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20289         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20290         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20291         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20292         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20293         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
20294         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20295         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20296
20297 2010-08-26  Bruno Haible  <bruno@clisp.org>
20298
20299         Modernize AC_TRY_LINK invocations.
20300         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
20301         AC_TRY_LINK.
20302         * m4/argp.m4 (gl_ARGP): Likewise.
20303         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
20304         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
20305         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
20306         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20307         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20308         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
20309         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
20310         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
20311         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20312         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20313         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20314         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
20315         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
20316         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20317         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20318         * m4/hostent.m4 (gl_HOSTENT): Likewise.
20319         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20320         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
20321         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20322         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
20323         Likewise.
20324         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
20325         Likewise.
20326         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
20327         Likewise.
20328         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20329         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
20330         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
20331         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
20332         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
20333         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
20334         * m4/servent.m4 (gl_SERVENT): Likewise.
20335         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
20336         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
20337         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
20338         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
20339         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20340         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
20341         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20342         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20343         * modules/tsearch-tests (configure.ac): Likewise.
20344
20345 2010-08-26  Bruno Haible  <bruno@clisp.org>
20346
20347         Modernize AC_TRY_COMPILE invocations.
20348         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
20349         AC_TRY_COMPILE.
20350         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
20351         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
20352         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20353         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
20354         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20355         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20356         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
20357         * m4/lock.m4 (gl_LOCK): Likewise.
20358         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20359         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20360         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
20361         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20362         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20363         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
20364         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20365         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
20366         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20367         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20368         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20369         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20370         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
20371         extraneous semicolon.
20372
20373 2010-08-26  Jim Meyering  <meyering@redhat.com>
20374
20375         stat-time: relax license LGPL
20376         * modules/stat-time (License): Change from GPL to LGPL,
20377         with consent from all contributors, for use in libguile.
20378         Requested by Ludovic Courtès.
20379
20380 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
20381
20382         poll: return immediately on POLLHUP.
20383         * lib/poll.c (poll): Always set timeout before wait_timeout is
20384         computed.
20385
20386 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20387
20388         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
20389         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
20390         rmdir ("dir/.//"), unlinkat.
20391
20392 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20393
20394         stdbool: avoid spurious failure with modern xlc
20395         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20396
20397 2010-08-24  Bruno Haible  <bruno@clisp.org>
20398
20399         getloadavg: simplify code
20400         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
20401         gl_have_func. Update comments.
20402
20403 2010-08-24  Eric Blake  <eblake@redhat.com>
20404
20405         getloadavg: don't define SVR4 on cygwin
20406         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
20407         only define SVR4 when -lkvm is required.
20408         Reported by Yaakov Selkowitz.
20409
20410 2010-08-24  Bruno Haible  <bruno@clisp.org>
20411
20412         priv-set: fix comment
20413         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
20414
20415 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20416
20417         priv-set: fix comments
20418         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
20419         to match code, as suggested by David Bartley in:
20420         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
20421
20422 2010-08-23  Eric Blake  <eblake@redhat.com>
20423
20424         stdbool: avoid rejecting clang
20425         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
20426         * tests/test-stdbool.c: Enable more tests if using the system
20427         <stdbool.h> instead of the gnulib replacement.
20428         (main): Move xlc bug test to a runtime test for all compilers.
20429         Reported by Anders Kaseorg.
20430
20431         argz: fix shell quoting issue
20432         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
20433         Reported by Charles Wilson.
20434
20435 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
20436             Erik Faye-Lund <kusmabite@gmail.com>
20437
20438         poll, select: handle ERROR_BROKEN_PIPE.
20439         * lib/poll.c (win32_compute_revents): Return POLLHUP when
20440         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20441         * lib/select.c (win32_compute_revents): Do not mark a pipe
20442         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
20443
20444 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
20445
20446         fts: allow compilation with C++
20447         * lib/fts_.h: Specify extern "C" linkage with C++.
20448
20449 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20450
20451         Fix gnulib-tool sed script de-commentation for AIX sed.
20452         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
20453         sed.
20454
20455 2010-08-17  Eric Blake  <eblake@redhat.com>
20456
20457         test-stddef: test for (some) offsetof bugs
20458         * tests/test-stddef.c: Enhance test to ensure correct type of
20459         offsetof.
20460         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
20461         that we are not fixing at this time.
20462
20463 2010-08-15  Bruno Haible  <bruno@clisp.org>
20464
20465         stpncpy: Allow stpncpy to be defined as a macro.
20466         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
20467         if it's already correctly declared.
20468         * lib/string.in.h (stpncpy): Undefine before redefining.
20469         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
20470
20471 2010-08-14  Bruno Haible  <bruno@clisp.org>
20472
20473         Rename module 'memxfrm' to 'amemxfrm'.
20474         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
20475         (amemxfrm): Renamed from memxfrm.
20476         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
20477         (amemxfrm): Renamed from memxfrm.
20478         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
20479         * NEWS: Mention the change.
20480         * MODULES.html.sh (String handling <string.h>): Update.
20481         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
20482         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
20483         * lib/unicase/u16-casexfrm.c: Likewise.
20484         * lib/unicase/u32-casexfrm.c: Likewise.
20485         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
20486         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
20487         * lib/uninorm/u16-normxfrm.c: Likewise.
20488         * lib/uninorm/u32-normxfrm.c: Likewise.
20489         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
20490         memxfrm.
20491         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
20492         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
20493         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
20494         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
20495         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
20496         Suggested by Paul Eggert.
20497
20498 2010-08-14  Bruno Haible  <bruno@clisp.org>
20499
20500         Tests for module 'astrxfrm'.
20501         * modules/astrxfrm-tests: New file.
20502         * tests/test-astrxfrm.c: New file.
20503
20504         New module 'astrxfrm'.
20505         * lib/astrxfrm.h: New file.
20506         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
20507         * modules/astrxfrm: New file.
20508
20509 2010-08-14  Reuben Thomas <rrt@sc3d.org>
20510
20511         regex: Tweak doc.
20512         * doc/regex.texi (Overview): Don't mention regex.c.
20513         (GNU Regular Expression Compiling): Likewise.
20514         (Match-end-of-line Operator): Mention 'not_eol'.
20515
20516 2010-08-14  Brian Gough  <bjg@gnu.org>
20517             Bruno Haible  <bruno@clisp.org>
20518
20519         git-merge-changelog: add doc relating to use with bzr and hg.
20520         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
20521
20522 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
20523
20524         pthread: fix pthread.h creation for srcdir != builddir
20525         * modules/pthread (Makefile.am): Fix the rule to work also in a
20526         non-srcdir build.
20527
20528 2010-08-13  Karl Berry  <karl@gnu.org>
20529
20530         * doc/regex.texi (Predefined Syntaxes): @smallexample.
20531         * doc/posix-*/*: force line break before @url of POSIX
20532         specifications.
20533         Suggested by Werner Lemberg.
20534
20535 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
20536
20537         strtod: fix const diagnostic
20538         * lib/strtod.c (strtod): Don't assign const char * to char *,
20539         as this elicits a warning from GCC when warnings are enabled.
20540
20541 2010-08-10  Pádraig Brady <P@draigbrady.com>
20542         and Eric Blake  <eblake@redhat.com>
20543
20544         copy-acl: ignore ENOTSUP on HP-UX
20545         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
20546         so that it is available for HP-UX.
20547         * lib/copy-acl.c (qcopy_acl): Use it.
20548         Reported by Patrick M. Callahan.
20549
20550 2010-08-10  Eric Blake  <eblake@redhat.com>
20551
20552         open, chown: relax license
20553         * modules/open (License): Change to LGPLv2+, with consent by all
20554         authors, for use in augeas.
20555         * modules/chown (License): Likewise.
20556         * modules/lchown (Likewise): Likewise.
20557         Requested by Adam Stokes.
20558
20559 2010-08-09  Karl Berry  <karl@gnu.org>
20560
20561         * build-aux/ar-lib: new file, import from Automake.
20562         * config/srclist.txt: autocheck for updates.
20563
20564 2010-08-09  Eric Blake  <eblake@redhat.com>
20565
20566         readlinkat: adjust client modules
20567         * modules/areadlinkat (Depends-on): Use readlinkat, not
20568         symlinkat.
20569         * modules/areadlinkat-with-size (Depends-on): Likewise.
20570
20571         mknod: be more vocal about danger of running tests as root
20572         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
20573         root, since that is just asking for problems.
20574         Suggested by Bruno Haible, based on a report by Rainer Tammer.
20575
20576         readlinkat: split into its own module
20577         * modules/symlinkat: Split readlinkat...
20578         * modules/readlinkat: ...into separate module.
20579         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
20580         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
20581         * lib/symlinkat.c (readlinkat): Move...
20582         * lib/readlinkat.c: ...into new file.
20583         * modules/symlinkat-tests: Split readlinkat test...
20584         * modules/readlinkat-tests: ...into separate module.
20585         * tests/test-symlinkat.c: Split...
20586         * tests/test-readlinkat.c: ...into new file.
20587         * NEWS: Document the split.
20588         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20589         * lib/unistd.in.h (readlinkat): Likewise.
20590         Suggested by Bruno Haible.
20591
20592 2010-08-08  Bruno Haible  <bruno@clisp.org>
20593
20594         memxfrm: Speed up.
20595         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
20596         that usually only one call to strxfrm is necessary for each string
20597         part.
20598         Reported by Paul Eggert <eggert@cs.ucla.edu>.
20599
20600 2010-08-07  Karl Berry  <karl@gnu.org>
20601
20602         * doc/posix-headers/limits.texi,
20603         * doc/posix-functions/malloc.texi,
20604         * doc/posix-functions/strsignal.texi: missing @item.
20605         * doc/ld-version-script.texi: spurious leading i.
20606         * doc/regex.texi (Interval Operators): no commas inside @var.
20607
20608 2010-08-01  Bruno Haible  <bruno@clisp.org>
20609
20610         Integrate the regex documentation.
20611         * doc/gnulib.texi: Define 'cn' index.
20612         (Regular expressions): New a chapter that includes regex.texi and
20613         regexprops-generic.texi.
20614         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
20615         syntax.
20616
20617         Whitespace cleanup.
20618         * doc/regex.texi: Remove trailing spaces.
20619
20620         Add regex documentation.
20621         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
20622         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
20623         Written by Kathy A. Hargreaves and Karl Berry.
20624
20625 2010-08-01  Bruno Haible  <bruno@clisp.org>
20626
20627         link: Update documentation.
20628         * doc/posix-functions/link.texi: Update regarding Solaris.
20629
20630 2010-07-31  Bruno Haible  <bruno@clisp.org>
20631
20632         Update modules list.
20633         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
20634         (String handling <string.h>): Add memcmp2, memxfrm.
20635         (Container data structures): Add xlist, xsublist, xoset.
20636         (Core language properties): Add alignof, unused-parameter.
20637         (Process control, Numeric conversion functions <stdlib.h>): Renamed
20638         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
20639         (Unibyte characters <ctype.h>): New section.
20640         (String handling <string.h>): New section.
20641         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
20642         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
20643         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
20644         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
20645         tan, tanh, tanl, y0, y1, yn.
20646         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
20647         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
20648         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
20649         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
20650         unlockpt, vdprintf, vdprintf-posix.
20651         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
20652         (File system functions): Add concat-filename, sys_file, sys_ioctl,
20653         xconcat-filename.
20654         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
20655         getdtablesize, pipe2, pipe2-safer.
20656         (Security): New section.
20657         (Networking functions): Add accept4.
20658         (Signal handling): Add sigpipe.
20659         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
20660         mbmemcasecoll.
20661         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
20662         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
20663         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
20664         pipe-filter-ii.
20665         (Misc): Add argp-version-etc, login_tty, parse-duration.
20666
20667 2010-07-31  Bruno Haible  <bruno@clisp.org>
20668
20669         Improve doc in MODULES.html.
20670         * modules/linkat (Description): Add the word "function".
20671         * modules/mkfifo (Description): Likewise.
20672         * modules/mknod (Description): Likewise.
20673         * modules/remove (Description): Likewise.
20674         * modules/renameat (Description): Likewise.
20675         * modules/stat (Description): Likewise.
20676         * modules/symlink (Description): Likewise.
20677         * modules/unlink (Description): Likewise.
20678
20679 2010-07-31  Bruno Haible  <bruno@clisp.org>
20680
20681         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
20682         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
20683         option --enable/disable-c++ instead of --enable/disable-cxx.
20684         * NEWS: Mention the change.
20685
20686 2010-07-31  Bruno Haible  <bruno@clisp.org>
20687
20688         readlink, areadlink: Relax test a bit.
20689         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
20690         alternative to ENOTDIR.
20691         * tests/test-areadlink.h (test_areadlink): Likewise.
20692         Reported by Rainer Tammer.
20693
20694 2010-07-31  Bruno Haible  <bruno@clisp.org>
20695
20696         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
20697         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
20698         character, perform the search using U_STRCHR.
20699         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
20700         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
20701         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
20702         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
20703         Suggested by Paolo Bonzini.
20704
20705 2010-07-31  Bruno Haible  <bruno@clisp.org>
20706
20707         unistr/u*-strstr: Fix dependencies.
20708         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
20709         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
20710         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
20711
20712 2010-07-31  Bruno Haible  <bruno@clisp.org>
20713
20714         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
20715         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
20716         the beginning of the loop.
20717         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
20718         cases in 'switch' statement.
20719
20720         unistr/u8-strchr: Fix several bugs.
20721         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
20722         the string. When not found, return NULL, not a pointer near the end.
20723
20724         More tests for unistr/u8-strchr.
20725         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
20726         that the function does not read past the first occurrence of the byte
20727         being searched.
20728         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
20729         * tests/unistr/test-u16-strchr.c (main): New function.
20730         * tests/unistr/test-u32-strchr.c (main): New function.
20731
20732 2010-07-31  Bruno Haible  <bruno@clisp.org>
20733
20734         posix-modules: Ignore backup files of documentation files.
20735         * posix-modules: grep only through files named *.texi.
20736
20737 2010-07-31  Bruno Haible  <bruno@clisp.org>
20738
20739         symlinkat: Fix documentation.
20740         * doc/posix-functions/readlinkat.texi: Fix module name.
20741
20742 2010-07-31  Bruno Haible  <bruno@clisp.org>
20743
20744         fchownat: Replace also when chown has the trailing slash bug.
20745         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
20746         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
20747         introduced on 2010-04-10.
20748         Reported by Rainer Tammer.
20749
20750 2010-07-31  Bruno Haible  <bruno@clisp.org>
20751
20752         linkat: Work around AIX 7.1 bug.
20753         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
20754         whether linkat handles trailing slash correctly. If not, replace linkat
20755         and define LINKAT_TRAILING_SLASH_BUG.
20756         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
20757         check whether (fd1,file1) points to a directory if file1 or file2 ends
20758         in a slash. Code taken from lib/link.c.
20759         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
20760         Reported by Rainer Tammer.
20761
20762 2010-07-31  Bruno Haible  <bruno@clisp.org>
20763
20764         Correctly determine whether pow is available in libc on AIX 7 with xlc.
20765         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
20766         This disables an xlc optimization that was causing wrong test results.
20767         Reported by Rainer Tammer.
20768
20769 2010-07-31  Bruno Haible  <bruno@clisp.org>
20770
20771         iconv: Work around AIX 6.1..7.1 bug.
20772         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
20773         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
20774         cross-compiling, guess no on all versions of AIX.
20775         Reported by Rainer Tammer.
20776
20777 2010-07-31  Bruno Haible  <bruno@clisp.org>
20778
20779         readlink: Relax test a bit.
20780         * tests/test-readlink.h (test_readlink): Allow different errno value
20781         when readlink is called with a file name that ends in / and refers to
20782         a file.
20783         Suggested by Eric Blake.
20784         Reported by Rainer Tammer.
20785
20786 2010-07-31  Bruno Haible  <bruno@clisp.org>
20787
20788         copysign: Does not require -lm on glibc systems.
20789         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
20790         gl_COMMON_DOUBLE_MATHFUNC.
20791         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
20792
20793 2010-07-31  Bruno Haible  <bruno@clisp.org>
20794
20795         duplocale: Work around AIX 7.1 bug.
20796         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
20797         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
20798         * lib/duplocale.c (rpl_duplocale): Update comment.
20799         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
20800         Reported by Rainer Tammer.
20801
20802 2010-07-30  Bruno Haible  <bruno@clisp.org>
20803
20804         dirfd: Avoid link error on AIX 7.1.
20805         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
20806         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
20807         exist, set REPLACE_DIRFD.
20808         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
20809         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
20810         * doc/posix-functions/dirfd.texi: Update.
20811         Reported by Rainer Tammer.
20812
20813 2010-07-30  Eric Blake  <eblake@redhat.com>
20814
20815         strtod: next round of AIX fixes
20816         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
20817         exponent.
20818         * tests/test-strtod.c (main): Enhance tests.
20819         * doc/posix-functions/strtod.texi (strtod): Document next bug.
20820         Reported by Rainer Tammer.
20821
20822         futimens: fix configure check
20823         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
20824         Reported by Bruno Haible.
20825
20826 2010-07-30  Bruno Haible  <bruno@clisp.org>
20827
20828         getline: Update regarding AIX.
20829         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
20830         Reported by Rainer Tammer.
20831
20832 2010-07-30  Bruno Haible  <bruno@clisp.org>
20833
20834         wcwidth: Drop replacement on AIX 7.
20835         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
20836         AIX 7.
20837         Reported by Rainer Tammer.
20838
20839 2010-07-30  Bruno Haible  <bruno@clisp.org>
20840
20841         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
20842         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
20843         a 'char *'.
20844         Reported by Rainer Tammer.
20845
20846 2010-07-30  Bruno Haible  <bruno@clisp.org>
20847
20848         unlink: Update regarding AIX.
20849         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
20850         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
20851         Reported by Rainer Tammer.
20852
20853 2010-07-30  Bruno Haible  <bruno@clisp.org>
20854
20855         symlink: Update regarding AIX.
20856         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
20857         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
20858         Reported by Rainer Tammer.
20859
20860 2010-07-30  Bruno Haible  <bruno@clisp.org>
20861
20862         strndup: Update regarding AIX.
20863         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
20864         AIX 7.
20865         Reported by Rainer Tammer.
20866
20867 2010-07-30  Bruno Haible  <bruno@clisp.org>
20868
20869         stat: Update regarding AIX.
20870         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
20871         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
20872         Reported by Rainer Tammer.
20873
20874 2010-07-30  Bruno Haible  <bruno@clisp.org>
20875
20876         truncl: Fix autoconf test.
20877         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
20878         whether truncl works.
20879         Reported by Rainer Tammer.
20880
20881 2010-07-30  Bruno Haible  <bruno@clisp.org>
20882
20883         round: Update regarding AIX.
20884         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
20885         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
20886         Reported by Rainer Tammer.
20887
20888 2010-07-30  Bruno Haible  <bruno@clisp.org>
20889
20890         rename: Update regarding AIX.
20891         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
20892         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20893         Reported by Rainer Tammer.
20894
20895 2010-07-30  Bruno Haible  <bruno@clisp.org>
20896
20897         printf.m4: Update regarding AIX.
20898         * m4/printf.m4: Update comments regarding AIX.
20899         Reported by Rainer Tammer.
20900
20901 2010-07-30  Bruno Haible  <bruno@clisp.org>
20902
20903         iconv: Update regarding AIX.
20904         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
20905         AIX 7.
20906         Reported by Rainer Tammer.
20907
20908 2010-07-30  Bruno Haible  <bruno@clisp.org>
20909
20910         getopt: Update regarding AIX.
20911         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
20912         no on AIX.
20913         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
20914         Reported by Rainer Tammer.
20915
20916 2010-07-30  Bruno Haible  <bruno@clisp.org>
20917
20918         ldexpl; Update regarding AIX.
20919         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
20920         on AIX 7.
20921         Reported by Rainer Tammer.
20922
20923 2010-07-30  Bruno Haible  <bruno@clisp.org>
20924
20925         frexpl: Update regarding AIX.
20926         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
20927         on AIX 7.
20928         Reported by Rainer Tammer.
20929
20930 2010-07-30  Bruno Haible  <bruno@clisp.org>
20931
20932         open, fopen: Update regarding AIX.
20933         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
20934         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
20935         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
20936         * doc/posix-functions/fopen.texi: Likewise.
20937         Reported by Rainer Tammer.
20938
20939 2010-07-30  Bruno Haible  <bruno@clisp.org>
20940
20941         chown: Update doc regarding AIX.
20942         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
20943         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
20944         Reported by Rainer Tammer.
20945
20946 2010-07-30  Eric Blake  <eblake@redhat.com>
20947
20948         strtod: fix bug in replacement function on AIX
20949         * lib/strtod.c (strtod): Special case broken "0x" parse in
20950         underlying strtod.
20951         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
20952         * doc/posix-functions/strtod.texi (strtod): Likewise.
20953         Reported by Rainer Tammer.
20954
20955 2010-07-30  Bruno Haible  <bruno@clisp.org>
20956
20957         mbrlen: Fix cross-compilation guess for AIX.
20958         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
20959         guess. Leftover from 2008-12-22.
20960
20961 2010-07-30  Bruno Haible  <bruno@clisp.org>
20962
20963         mbrtowc: Fix cross-compilation guess for AIX.
20964         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
20965         guess. Leftover from 2008-12-21.
20966
20967 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
20968
20969         init.sh: work around trap limitation of some shells
20970         * tests/init.sh (setup_): Move exit trap outside of shell function.
20971
20972 2010-07-29  Eric Blake  <eblake@redhat.com>
20973
20974         strtod: aid debugging
20975         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
20976         understanding why strtod is rejected.
20977
20978 2010-07-28  Bruno Haible  <bruno@clisp.org>
20979
20980         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
20981         * lib/unistr/u8-chr.c: Include <string.h>.
20982         * tests/unistr/test-u8-chr.c: Likewise.
20983         * tests/unistr/test-u16-chr.c: Likewise.
20984         * tests/unistr/test-u32-chr.c: Likewise.
20985         * tests/unistr/test-u8-strchr.c: Likewise.
20986         * tests/unistr/test-u16-strchr.c: Likewise.
20987         * tests/unistr/test-u32-strchr.c: Likewise.
20988         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
20989         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
20990         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
20991         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
20992
20993 2010-07-28  Bruno Haible  <bruno@clisp.org>
20994
20995         Use spaces for indentation, not tabs.
20996         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20997
20998 2010-07-27  Bruno Haible  <bruno@clisp.org>
20999
21000         mbspcasecmp: Fix function specification.
21001         * lib/string.in.h (mbspcasecmp): Fix specification comment.
21002         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
21003         Reported by Eric Blake <eblake@redhat.com>.
21004
21005 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
21006
21007         timespec: use cast and not conditional, as truncation isn't possible
21008         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
21009         instead of a conditional.  Comment about the situation in more detail.
21010         This undoes most of the 2009-10-29 patch.
21011
21012 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
21013
21014         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
21015         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
21016         * lib/unistr/u8-strchr.c: Likewise.
21017         * modules/unistr/u8-chr: Depend on memchr.
21018
21019         unistr/u*-strchr: add tests
21020         * modules/unistr/u8-strchr-tests: New file.
21021         * modules/unistr/u16-strchr-tests: New file.
21022         * modules/unistr/u32-strchr-tests: New file.
21023         * tests/unistr/test-strchr.h: New file.
21024         * tests/unistr/test-u8-strchr.c: New file.
21025         * tests/unistr/test-u16-strchr.c: New file.
21026         * tests/unistr/test-u32-strchr.c: New file.
21027
21028         unistr/u*-chr: test multibyte sequences more
21029         * tests/unistr/test-chr.h: Do complete testing of the characters in the
21030         test vector.
21031         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
21032         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
21033         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
21034
21035         unistr/u*-chr: test multibyte sequences
21036         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
21037
21038         unistr/u*-chr: prepare for multibyte tests
21039         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
21040         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
21041         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
21042         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
21043         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
21044         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
21045
21046 2010-07-18  Bruno Haible  <bruno@clisp.org>
21047
21048         unistr/u8-strchr: Optimize non-ASCII argument case.
21049         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
21050         because the first byte often matches anyway.
21051         Reported by Pádraig Brady <P@draigbrady.com>.
21052
21053 2010-07-15  Karl Berry  <karl@gnu.org>
21054
21055         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
21056
21057 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
21058
21059         getcwd: on Solaris, work better if ancestors are inaccessible
21060         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
21061         buffer and size, try again with a large buffer.  This works better
21062         on Solaris, since its getcwd succeeds even if the path to the root
21063         is inaccessible, and this is helpful in common cases such as .zfs
21064         hidden directories.  Problem reported by J Chapman Flack in
21065         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
21066         Use system getcwd if it's declared, not merely if it's partly
21067         working; use the partly-working test only to avoid needless effort
21068         if the system getcwd fails.
21069         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
21070         comment that was already obsolete and is now even more obsolete.
21071         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
21072         now might call strdup.
21073
21074 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
21075
21076         pthread: Add enough so that coreutils/src/sort.c compiles.
21077         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
21078         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
21079         gnulib. Include <sched.h> and <time.h>, as per POSIX.
21080         Include <sys/types.h>, in case it defines pthread_t.
21081         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
21082         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
21083         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
21084         (pthread_rwlockattr_t, pthread_spinlock_t):
21085         New typedefs, if HAVE_PTHREAD_T is not defined.
21086         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
21087         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
21088         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
21089         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
21090         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
21091         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
21092         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
21093         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
21094         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
21095         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
21096         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
21097         New macros.
21098         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
21099         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
21100         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
21101         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
21102         (pthread_spin_unlock): New dummy functions.
21103         (pthread_create): Return EAGAIN; don't set errno.
21104         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
21105         require AC_C_INLINE.
21106         * modules/pthread (Depends-on): Add sched, time.
21107         (pthread.h): Use AM_V_GEN.
21108
21109 2010-07-13  Bruno Haible  <bruno@clisp.org>
21110
21111         striconveh: Don't malloc memory if the result buffer is sufficient.
21112         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
21113         buffer if its size is sufficient.
21114         Reported by Ludovic Courtès <ludo@gnu.org>.
21115
21116 2010-07-13  Bruno Haible  <bruno@clisp.org>
21117
21118         strtod: Add safety check.
21119         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
21120
21121 2010-07-12  Bruno Haible  <bruno@clisp.org>
21122
21123         Unify tests that set gl_cv_func_ldexpl_no_libm.
21124         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
21125         gl_FUNC_LDEXPL.
21126         (gl_FUNC_LDEXPL): Invoke it.
21127         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21128
21129 2010-07-12  Bruno Haible  <bruno@clisp.org>
21130
21131         Unify tests that set gl_cv_func_ldexp_no_libm.
21132         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
21133         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
21134         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
21135         (configure.ac): Simply invoke gl_FUNC_LDEXP.
21136         * modules/strtod (Files): Add m4/ldexp.m4.
21137
21138 2010-07-12  Bruno Haible  <bruno@clisp.org>
21139
21140         Unify tests that set gl_cv_func_frexpl_no_libm.
21141         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
21142         gl_FUNC_FREXPL_NO_LIBM.
21143         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
21144         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
21145
21146 2010-07-12  Bruno Haible  <bruno@clisp.org>
21147
21148         Unify tests that set gl_cv_func_frexp_no_libm.
21149         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
21150         gl_FUNC_FREXP_NO_LIBM.
21151         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
21152         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
21153
21154 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21155
21156         memcoll: clarify sizes versus lengths, document better, and tweak perf
21157         * lib/memcoll.c (strcoll_loop, memcoll0):
21158         Improve quality of descriptive comments.  Name variables
21159         consistently as to whether they are lengths (which do not include
21160         terminating null) versus sizes (which do).
21161         * lib/xmemcoll.c (xmemcoll0): Likewise.
21162         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
21163         returned when s1size == 0; this is easier to compile and saves
21164         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
21165
21166 2010-07-12  Bruno Haible  <bruno@clisp.org>
21167
21168         Tests for module '_Exit'.
21169         * modules/_Exit-tests: New file.
21170         * tests/test-_Exit.sh: New file.
21171         * tests/test-_Exit.c: New file.
21172
21173         New module '_Exit'.
21174         * lib/stdlib.in.h (__attribute__): New macro.
21175         (_Exit): New declaration.
21176         * lib/_Exit.c: New file.
21177         * m4/_Exit.m4: New file.
21178         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
21179         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
21180         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
21181         * modules/_Exit: New file.
21182         * tests/test-stdlib-c++.cc (_Exit): Check signature.
21183         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
21184
21185 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
21186
21187         strtod: make it more-accurate typically, and don't require libm
21188         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
21189         Include limits.h.  Don't include string.h.
21190         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
21191         (locale_isspace): New function, so that no casts are needed to
21192         check whether *s is a space.
21193         (ldexp): Provide an unused dummy if not available.
21194         (scale_radix_exp, parse_number, underlying_strtod): New functions.
21195         (strtod): Use them.  This implementation prefers to use the
21196         underlying strtod if available, falling back on our own code
21197         only to fix known bugs.  This is more likely to produce an
21198         accurate result.  Also, it avoids the use of libm functions.
21199         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
21200         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
21201         was absent, but it caused a test failure with coreutils.
21202         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
21203         with libm.
21204         * modules/strtod (Makefile.am, Link): libm is no longer needed.
21205         * modules/strtod-tests (Makefile.am): Likewise.
21206
21207 2010-07-11  Pádraig Brady  <P@draigBrady.com>
21208             Bruno Haible  <bruno@clisp.org>
21209
21210         unistr/u8-strchr: Optimize ASCII argument case.
21211         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
21212
21213 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21214
21215         (x)memcoll: minor tweaks
21216         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
21217         is after the type that it qualifies.
21218         (memcoll0): Likewise.
21219         * lib/memcoll.h (memcoll0): Likewise.
21220         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
21221         * lib/xmemcoll.h (xmemcoll0): Likewise.
21222         * lib/memcoll.c (memcoll0): Correct the comment.  This function
21223         differs from memcoll in that the NUL byte is part of the argument.
21224         Omit the abort-checks, as performance is a real issue here.  Plus,
21225         the checks were wrong anyway (an off-by-one error).  Omit local
21226         variable 'diff', as it's a bit clearer that way.
21227         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
21228         no longer needed.
21229
21230 2010-07-08  Chen Guo <chenguo4@yahoo.com>
21231
21232         (x)memcoll: speedup when input is known to be NUL delimited
21233         * lib/memcoll.c: Include stdlib.
21234         (memcoll0): New function.
21235         (strcoll_loop): New function, refactored for use in both memcoll
21236         and memcoll0.
21237         * lib/memcoll.h (memcoll0): Add prototype.
21238         * lib/xmemcoll.c (xmemcoll0): New function.
21239         (collate_error): New function, refactored for use in both xmemcoll
21240         and xmemcoll0.
21241         * lib/xmemcoll.h (xmemcoll0): Add prototype.
21242         * m4/memcoll.m4: add inline invocation.
21243
21244 2010-07-06  Pádraig Brady  <P@draigBrady.com>
21245
21246         * build-aux/bootstrap: Remove any local translations
21247         from the translation project synchronization directory,
21248         so that local only translations are not distributed.
21249
21250 2010-07-04  Bruno Haible  <bruno@clisp.org>
21251
21252         fsusage: Clarify which code applies to which platforms.
21253         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
21254         platform.
21255         * lib/fsusage.c (get_fs_usage): Likewise.
21256
21257 2010-07-04  Bruno Haible  <bruno@clisp.org>
21258
21259         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
21260         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
21261         Reported by Martin Lambers <marlam@marlam.de>.
21262
21263 2010-07-04  Jim Meyering  <meyering@redhat.com>
21264
21265         hash: once again explicitly disallow insertion of NULL
21266         * lib/hash.c (hash_insert0): Reinstate just-removed test:
21267         inserting a NULL pointer cannot work with these functions.
21268         Add a comment with details.
21269         This reverts part of the 2010-07-01 commit, 5bef1a35
21270         "hash: extend module to deal with non-pointer keys".
21271
21272 2010-07-01  Bruno Haible  <bruno@clisp.org>
21273
21274         stdbool: Update doc.
21275         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
21276         Info from Christian Weisgerber <naddy@mips.inka.de>.
21277
21278 2010-07-01  Jim Meyering  <meyering@redhat.com>
21279
21280         hash: extend module to deal with non-pointer keys
21281         * lib/hash.c (hash_insert0): New interface, much like hash_insert
21282         but that allows insertion of non-pointer entries.
21283         Do not disallow an ENTRY value of NULL.
21284         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
21285         * lib/hash.h (hash_insert0): Declare.
21286
21287 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21288
21289         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
21290         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
21291         not present (i.e. with autoconf 2.59 and when using gettextize, not
21292         gnulib), require AC_GNU_SOURCE instead.
21293
21294 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
21295
21296         idpriv-drop: Fix tests.
21297         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
21298         not to the test-idpriv-droptemp program.
21299
21300 2010-06-29  Bruno Haible  <bruno@clisp.org>
21301
21302         string: Fix syntax error with g++ 2.96.
21303         * lib/string.in.h (__pure__): Remove definition.
21304         (_GL_ATTRIBUTE_PURE): New macro.
21305         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
21306         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
21307         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21308
21309 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
21310
21311         unitypes: Fix bug introduced on 2010-05-18.
21312         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
21313
21314 2010-06-22  Eric Blake  <eblake@redhat.com>
21315
21316         memmem: slight optimization
21317         * lib/str-two-way.h (critical_factorization): Update comments.
21318         Reduce work during factorization phase.
21319         Reported by Carlos Bueno <carlos@bueno.org>.
21320
21321 2010-06-21  Bruno Haible  <bruno@clisp.org>
21322
21323         Fix HAVE_CALLOC_POSIX misnomer.
21324         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
21325         !HAVE_CALLOC_POSIX.
21326         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
21327         HAVE_CALLOC_POSIX.
21328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
21329         instead of HAVE_CALLOC_POSIX.
21330         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
21331         HAVE_CALLOC_POSIX.
21332
21333         Use modern idiom for calloc() replacement.
21334         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
21335         AC_FUNC_CALLOC.
21336         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
21337         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
21338         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21339         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
21340         (gl_REPLACE_CALLOC): New macro.
21341
21342 2010-06-21  Bruno Haible  <bruno@clisp.org>
21343
21344         Fix HAVE_REALLOC_POSIX misnomer.
21345         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
21346         !HAVE_REALLOC_POSIX.
21347         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
21348         HAVE_REALLOC_POSIX.
21349         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
21350         instead of HAVE_REALLOC_POSIX.
21351         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
21352         HAVE_REALLOC_POSIX.
21353
21354         Use modern idiom for realloc() replacement.
21355         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
21356         AC_FUNC_REALLOC.
21357         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
21358         Autoconf's AC_FUNC_REALLOC.
21359         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21360         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
21361         (gl_REPLACE_REALLOC): New macro.
21362         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21363
21364 2010-06-21  Bruno Haible  <bruno@clisp.org>
21365
21366         Fix HAVE_MALLOC_POSIX misnomer.
21367         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
21368         !HAVE_MALLOC_POSIX.
21369         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
21370         HAVE_MALLOC_POSIX.
21371         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
21372         instead of HAVE_MALLOC_POSIX.
21373         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
21374         HAVE_MALLOC_POSIX.
21375
21376         Use modern idiom for malloc() replacement.
21377         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
21378         AC_FUNC_MALLOC.
21379         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
21380         Autoconf's AC_FUNC_MALLOC.
21381         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
21382         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
21383         (gl_REPLACE_MALLOC): New macro.
21384         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
21385
21386 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
21387
21388         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
21389         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
21390         This macro takes 3 arguments, not 4.
21391
21392 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
21393
21394         ipv6: fix detection under mingw
21395         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
21396         in6_addr.
21397
21398 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
21399
21400         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
21401         that strtod() works when cross-compiling to a glibc version known
21402         to work.
21403
21404 2010-06-15  Bruno Haible  <bruno@clisp.org>
21405
21406         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
21407
21408 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
21409
21410         select: Correct timeout.
21411         * lib/select.c (rpl_select): Compute wait_timeout correctly.
21412
21413 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21414
21415         git-version-gen: init shell var to avoid env var influence
21416         * build-aux/git-version-gen (v): Init shell var to empty.
21417
21418 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
21419
21420         priv-set: Don't assume that priv.h exists merely because getppriv does.
21421         See Jan Andersen's bug report about AIX 5L in
21422         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
21423         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
21424         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
21425         * lib/priv-set.h: Likewise.
21426         * tests/test-priv-set.c: Likewise.
21427
21428 2010-06-13  Bruno Haible  <bruno@clisp.org>
21429
21430         relocatable: Make it easier to test whether to install wrappers.
21431         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
21432         RELOCATABLE_VIA_WRAPPER.
21433
21434 2010-06-13  Bruno Haible  <bruno@clisp.org>
21435
21436         gnulib-tool: Display specified modules and dependencies differently.
21437         * gnulib-tool (func_show_module_list): New function.
21438         (func_import, func_create_testdir): Invoke it.
21439         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
21440
21441 2010-06-13  Bruno Haible  <bruno@clisp.org>
21442
21443         gnulib-tool: Align code of func_import and func_create_testdir.
21444         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
21445         specified_modules.
21446
21447 2010-06-12  Jim Meyering  <meyering@redhat.com>
21448
21449         test-inttostr: avoid spurious failure on Solaris 9
21450         * tests/test-inttostr.c (main): Skip the test when snprintf fails
21451         to accept "%ju".  Reported by Bruno Haible.
21452
21453 2010-06-11  Jim Meyering  <meyering@redhat.com>
21454
21455         test-sys_socket: mark variables as used more readably
21456         * tests/test-sys_socket.c (main): Mark otherwise unused variables
21457         as "used" explicitly via (void) statement casts.  This is more
21458         readable than using them in an artificial return expression.
21459         Suggestion from Bruno Haible.
21460
21461 2010-06-11  Bruno Haible  <bruno@clisp.org>
21462
21463         Avoid some more warnings from "gcc -Wwrite-strings".
21464         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
21465         to 'const char *'.
21466         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
21467         * tests/test-c-strcasestr.c (main): Likewise.
21468         * tests/test-mbscasestr1.c (main): Likewise.
21469         * tests/test-mbscasestr2.c (main): Likewise.
21470         * tests/test-memmem.c (main): Likewise.
21471         * tests/test-strstr.c (main): Likewise.
21472         * tests/test-strcasestr.c (main): Likewise.
21473
21474 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21475
21476         init.sh: change framework_failure_ to fail with status 99, not 1
21477         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
21478         automake's parallel-tests rule that this is an unexpected failure,
21479         even if the test is listed in XFAIL_TESTS.
21480
21481 2010-06-11  Jim Meyering  <meyering@redhat.com>
21482
21483         test-inttostr: avoid warnings about 4-6KB literal strings
21484         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
21485         Include "macros.h", for its definition of ASSERT.
21486         (CK): s/assert/ASSERT/
21487         * modules/inttostr-tests (Files): Add macros.h.
21488
21489         init.sh: don't use $ME_ or skip_ before they are defined
21490         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
21491         their first uses.  Also hoist their companions: warn_, fail_,
21492         framework_failure_, $stderr_fileno.  Prompted by a patch from
21493         Stefano Lattarini.
21494
21495         test-sys_socket: avoid set-but-not-used warnings from gcc
21496         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
21497         avoid warning about set-but-not-used variables.
21498
21499         test-xvasprintf: avoid 'const' discard warnings
21500         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
21501         "const" when assigning from literal strings.
21502         (test_xasprintf): Add "void" in function argument list to placate
21503         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
21504
21505         tests: avoid compilation warnings in argmatch and exclude tests...
21506         in packages that define ARGMATCH_DIE_DECL, like coreutils.
21507         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
21508         Since it always exits, declare with the "noreturn" attribute.
21509         * tests/test-argmatch.c: Likewise.
21510
21511         tests: avoid 'const' discard warnings in mbsstr tests
21512         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
21513         * tests/test-mbsstr2.c (main): Likewise.
21514
21515         test-verify: avoid warning from gcc's -Wmissing-declarations
21516         * tests/test-verify.c (function): Declare to be static.
21517
21518         test-inttostr.c: include <string.h> for use of strcmp
21519         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
21520
21521         test-linkat: avoid failed assertion on "other" architectures
21522         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
21523         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
21524         sparc: https://bugs.launchpad.net/bugs/591968
21525
21526 2010-06-11  Jim Meyering  <meyering@redhat.com>
21527
21528         printf.m4: avoid autoconf's "Expanded Before Required" warning
21529         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
21530         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
21531         autoconf warning.
21532
21533 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
21534
21535         Replacement header templates are now named with ".in", not "_".
21536         * doc/gnulib-intro.texi: Correct.
21537
21538 2010-06-10  Jim Meyering  <meyering@redhat.com>
21539
21540         inttostr-tests: depend on snprintf, not snprintf-posix
21541         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
21542         snprintf-posix, to avoid this aclocal failure:
21543           missing file gnulib-tests/vasnprintf.c
21544           configure.ac:45: error: expected source file, required through \
21545           AC_LIBSOURCES, not found
21546
21547 2010-06-10  Jim Meyering  <meyering@redhat.com>
21548
21549         inttostr: add a new function, inttostr, and tests
21550         The namesake function was not available.  The existence of the
21551         template file, inttostr.c makes its addition nontrivial.
21552         * lib/anytostr.c: Rename from inttostr.c.
21553         (anytostr): Rename from inttostr.
21554         * lib/inttostr.c: New file.
21555         * modules/inttostr (Files): Add anytostr.c.
21556         (Makefile.am): Set lib_SOURCES instead of ...
21557         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
21558         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
21559         * lib/offtostr.c: Likewise.
21560         * lib/uinttostr.c: Likewise.
21561         * lib/umaxtostr.c: Likewise.
21562         * modules/inttostr-tests: New file.
21563         * tests/test-inttostr.c: New file.  Test these functions.
21564
21565 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
21566             Bruno Haible  <bruno@clisp.org>
21567
21568         Add "Extending Gnulib" chapter to manual.
21569         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
21570         chapter.
21571         (Extending Gnulib): New chapter.
21572         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
21573         chapter.
21574
21575 2010-06-09  Bruno Haible  <bruno@clisp.org>
21576
21577         Avoid relocwrapper link errors due to gnulib replacement functions.
21578         * lib/areadlink.c: Use the system's malloc, realloc functions.
21579         (areadlink): Set errno to ENOMEM explicitly.
21580         * modules/areadlink (Depends-on): Remove malloc-posix.
21581         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21582
21583 2010-06-09  Bruno Haible  <bruno@clisp.org>
21584
21585         Avoid relocwrapper link errors due to gnulib replacement functions.
21586         * lib/canonicalize-lgpl.c: Use the system's malloc function.
21587         * lib/malloca.c: Likewise.
21588         * lib/relocatable.c: Likewise.
21589         * lib/progreloc.c: Use the system's malloc, sprintf functions.
21590         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
21591         * lib/setenv.c: Use the system's malloc, realloc functions.
21592         * lib/strerror.c: Use the system's sprintf function.
21593         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21594
21595 2010-06-04  Bruno Haible  <bruno@clisp.org>
21596
21597         Prefer documented low-level autoconf macro names.
21598         * m4/lib-link.m4: Use m4_translit instead of translit.
21599         * m4/environ.m4: Likewise.
21600         * m4/mathfunc.m4: Likewise.
21601         * m4/onceonly.m4: Likewise.
21602         * m4/stdint.m4: Likewise.
21603         Suggested by Eric Blake.
21604
21605 2010-06-04  Martin Lambers  <marlam@marlam.de>
21606             Bruno Haible  <bruno@clisp.org>
21607
21608         havelib: Allow library names with '+' characters.
21609         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
21610         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
21611
21612 2010-06-09  Bruno Haible  <bruno@clisp.org>
21613
21614         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
21615         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
21616         realloc failed.
21617
21618 2010-06-08  Peter Simons  <simons@cryp.to>
21619
21620         maint.mk: make the news-check rule more configurable
21621         * top/maint.mk (news-check-lines-spec): New variable.
21622         (news-check): Use "sed -n 1,10p" in place of "head".
21623
21624 2010-06-07  Jim Meyering  <meyering@redhat.com>
21625
21626         do-release-commit-and-tag: fix typo in --help
21627         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
21628
21629         regex: avoid new dead-code warning with gcc-4.6.0
21630         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
21631         if-block containing a while-loop.  It's been unused for at least
21632         5 years.
21633
21634 2010-06-05  Bruno Haible  <bruno@clisp.org>
21635
21636         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
21637         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
21638
21639 2010-06-04  Bruno Haible  <bruno@clisp.org>
21640
21641         Update to GNU gettext 0.18.1.
21642         * modules/gettext (configure.ac): Require gettext infrastructure from
21643         version 0.18.1.
21644
21645 2010-06-03  Bruno Haible  <bruno@clisp.org>
21646
21647         Don't use AC_LIBOBJ with file names in subdirectories.
21648         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
21649         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
21650         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
21651         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
21652         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
21653         gl_LIBUNISTRING_LIBSOURCE.
21654         (Makefile.am): Augment lib_SOURCES here, conditionally.
21655         * NEWS: Drop requirement for Automake option 'subdir-objects'.
21656
21657 2010-06-03  Bruno Haible  <bruno@clisp.org>
21658
21659         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
21660         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
21661         expansion does not end with a newline.
21662         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
21663         unnecessary newline.
21664
21665 2010-06-03  Bruno Haible  <bruno@clisp.org>
21666
21667         Reduce dependencies.
21668         * tests/test-quotearg.h: New file, extracted from
21669         tests/test-quotearg.c.
21670         * tests/test-quotearg-simple.c: New file, extracted from
21671         tests/test-quotearg.c.
21672         * tests/test-quotearg.c: Don't include <ctype.h>.
21673         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
21674         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
21675         use_quote_double_quotes, use_quotearg_colon): Moved to
21676         tests/test-quotearg.h.
21677         (results_g, flag_results, custom_quotes, custom_results): Moved
21678         to tests/test-quotearg-simple.c.
21679         (main): Moved the part that does not depend on gettext to
21680         tests/test-quotearg-simple.c. Return 77 if the test cannot be
21681         performed.
21682         * modules/quotearg-simple: New file.
21683         * modules/quotearg-simple-tests: New file.
21684         * modules/quotearg (Depends-on): Add quotearg-simple.
21685         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
21686         (Files): Add tests/test-quotearg.h.
21687         Reported by Paolo Bonzini.
21688
21689 2010-06-03  Bruno Haible  <bruno@clisp.org>
21690
21691         Reduce dependencies.
21692         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
21693
21694 2010-06-03  Bruno Haible  <bruno@clisp.org>
21695
21696         time: Undefine more broken macros.
21697         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
21698         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
21699         Reported by Eric Blake.
21700
21701 2010-06-03  Bruno Haible  <bruno@clisp.org>
21702
21703         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
21704         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
21705         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
21706         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
21707         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
21708         Reported by Ludovic Courtès <ludo@gnu.org>.
21709
21710 2010-06-02  Eric Blake  <eblake@redhat.com>
21711
21712         time: work with mingw + pthreads-win32 library
21713         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
21714         if timespec is defined only in pthread.h.
21715         * modules/time (Makefile.am): Substitute it.
21716         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
21717         <pthread.h>, when needed.
21718         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
21719         from the library.
21720
21721 2010-05-31  Bruno Haible  <bruno@clisp.org>
21722
21723         Avoid expanding two macros in the wrong order.
21724         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
21725         gl_LIBUNISTRING if it is defined.
21726         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
21727         autoconf >= 2.64.
21728         Reported by Ludovic Courtès <ludo@gnu.org>.
21729
21730 2010-05-27  Jim Meyering  <meyering@redhat.com>
21731
21732         maint.mk: also prohibit "#undef" of always-defined symbols
21733         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
21734         Allow more than one space before the symbol name.
21735         (sc_prohibit_always-defined_macros): Use grep's -E, now that
21736         the regexp uses alternation.
21737
21738 2010-05-26  Eric Blake  <eblake@redhat.com>
21739
21740         maint.mk: avoid echo -e
21741         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
21742         Convert all uses of echo -* to printf.
21743         Reported by Matthias Bolte.
21744
21745 2010-05-25  Bruno Haible  <bruno@clisp.org>
21746
21747         Update to GNU gettext 0.18, part 2.
21748         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
21749         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
21750
21751 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21752
21753         Add missing include in test-pwrite.c.
21754         * tests/test-pwrite.c: Include string.h, for strcmp.
21755
21756 2010-05-24  Bruno Haible  <bruno@clisp.org>
21757
21758         * NEWS: Mention requirement for Automake option 'subdir-objects'.
21759
21760 2010-05-24  Bruno Haible  <bruno@clisp.org>
21761
21762         Don't use conversion with transliteration in u{8,16,32}_strcoll.
21763         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
21764         iconveh_error argument.
21765         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
21766         U_STRCONV_TO_LOCALE.
21767         * lib/unistr/u16-strcoll.c: Likewise.
21768         * lib/unistr/u32-strcoll.c: Likewise.
21769         * modules/unistr/u8-strcoll (Depends-on): Add
21770         uniconv/u8-strconv-to-enc, localcharset. Remove
21771         uniconv/u8-strconv-to-locale.
21772         (configure.ac): Bump version number.
21773         * modules/unistr/u16-strcoll (Depends-on): Add
21774         uniconv/u16-strconv-to-enc, localcharset. Remove
21775         uniconv/u16-strconv-to-locale.
21776         (configure.ac): Bump version number.
21777         * modules/unistr/u32-strcoll (Depends-on): Add
21778         uniconv/u32-strconv-to-enc, localcharset. Remove
21779         uniconv/u32-strconv-to-locale.
21780         (configure.ac): Bump version number.
21781
21782 2010-05-24  Bruno Haible  <bruno@clisp.org>
21783
21784         Avoid a test failure on NetBSD 5.0.
21785         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
21786         an iconv() bug.
21787
21788 2010-05-24  Bruno Haible  <bruno@clisp.org>
21789
21790         Adjust #include directive style.
21791         * modules/regex (Includes): Recommend to write <regex.h>.
21792
21793 2010-05-24  Bruno Haible  <bruno@clisp.org>
21794
21795         regex: Don't require alloca.
21796         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
21797         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
21798         only inside if (0).
21799
21800 2010-05-23  Jim Meyering  <meyering@redhat.com>
21801
21802         test-renameat.c: include <sys/stat.h>
21803         * tests/test-renameat.c: Include <sys/stat.h>; required for
21804         definition of S_IS* macros.
21805
21806 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
21807
21808         Update maintainer documentation for 'relocatable-prog' module.
21809         * doc/relocatable-maint.texi: Update.
21810         Comments by Bruno Haible.
21811
21812 2010-05-23  Bruno Haible  <bruno@clisp.org>
21813
21814         git-merge-changelog: Enable --split-merged-entry by default.
21815         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
21816         (usage): Don't mention this option any more.
21817         Reported by Ralf Wildenhues.
21818
21819 2010-05-23  Jim Meyering  <meyering@redhat.com>
21820
21821         test-pwrite: do not leave behind a test file named "out"
21822         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
21823         The trivial-looking use of init.sh is really necessary.
21824         It ensures that the temporary file, "out", is created in
21825         a temporary directory, and removed upon termination.
21826         * tests/test-pwrite.sh: Re-add file.
21827         * modules/pwrite-tests: Reference it.
21828
21829 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21830
21831         Fix output redirection buglet in init.sh.
21832         * tests/init.sh: Fix redirection of stderr.
21833
21834 2010-05-20  Simon Josefsson  <simon@josefsson.org>
21835
21836         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
21837
21838 2010-05-17  Simon Josefsson  <simon@josefsson.org>
21839
21840         * modules/valgrind-tests: New file.
21841         * m4/valgrind-tests.m4: New file.
21842         * doc/valgrind-tests.texi: New file.
21843         * doc/gnulib.texi (Running self-tests under valgrind): New
21844         section.
21845
21846 2010-05-19  Bruno Haible  <bruno@clisp.org>
21847
21848         Clean up dead code in recent commit.
21849         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
21850         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
21851         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
21852         Suggested by Paolo Bonzini.
21853
21854 2010-05-19  Bruno Haible  <bruno@clisp.org>
21855
21856         Avoid valgrind error reports from libunistring.
21857         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
21858         * modules/libunistring (Files): Add it.
21859         * modules/libunistring-optional (Files): Likewise.
21860
21861 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
21862             Bruno Haible  <bruno@clisp.org>
21863
21864         New module 'libunistring-optional'.
21865         * modules/libunistring-optional: New file.
21866         * m4/libunistring-base.m4: New file.
21867         * m4/libunistring-optional.m4: New file.
21868         * lib/unicase.in.h: Renamed from lib/unicase.h.
21869         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
21870         * lib/unictype.in.h: Renamed from lib/unictype.h.
21871         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
21872         * lib/uniname.in.h: Renamed from lib/uniname.h.
21873         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
21874         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
21875         * lib/unistr.in.h: Renamed from lib/unistr.h.
21876         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
21877         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
21878         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
21879         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
21880         gl_LIBUNISTRING. If the library was found, determine the installed
21881         version and set LIBUNISTRING_VERSION.
21882         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
21883         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
21884         handle a configuration option --with-included-libunistring.
21885         * modules/libunistring (Files): Add m4/absolute-header.m4.
21886         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
21887         Add m4/libunistring-base.m4.
21888         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21889         (Makefile.am): Build unicase.h from unicase.in.h.
21890         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
21891         Add m4/libunistring-base.m4.
21892         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21893         (Makefile.am): Build uniconv.h from uniconv.in.h.
21894         * modules/unictype/base (Files): Use unictype.in.h instead of
21895         unictype.h. Add m4/libunistring-base.m4.
21896         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21897         (Makefile.am): Build unictype.h from unictype.in.h.
21898         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
21899         Add m4/libunistring-base.m4.
21900         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21901         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
21902         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
21903         Add m4/libunistring-base.m4.
21904         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21905         (Makefile.am): Build uniname.h from uniname.in.h.
21906         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
21907         Add m4/libunistring-base.m4.
21908         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21909         (Makefile.am): Build uninorm.h from uninorm.in.h.
21910         * modules/unistdio/base (Files): Use unistdio.in.h instead of
21911         unistdio.h. Add m4/libunistring-base.m4.
21912         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21913         (Makefile.am): Build unistdio.h from unistdio.in.h.
21914         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
21915         Add m4/libunistring-base.m4.
21916         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21917         (Makefile.am): Build unistr.h from unistr.in.h.
21918         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
21919         Add m4/libunistring-base.m4.
21920         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21921         (Makefile.am): Build unitypes.h from unitypes.in.h.
21922         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
21923         Add m4/libunistring-base.m4.
21924         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21925         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
21926         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
21927         uniwidth.h. Add m4/libunistring-base.m4.
21928         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
21929         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
21930         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
21931         instead of augmenting lib_SOURCES.
21932         * modules/unicase/empty-suffix-context: Likewise.
21933         * modules/unicase/locale-language: Likewise.
21934         * modules/unicase/tolower: Likewise.
21935         * modules/unicase/totitle: Likewise.
21936         * modules/unicase/toupper: Likewise.
21937         * modules/unicase/u8-casecmp: Likewise.
21938         * modules/unicase/u8-casecoll: Likewise.
21939         * modules/unicase/u8-casefold: Likewise.
21940         * modules/unicase/u8-casexfrm: Likewise.
21941         * modules/unicase/u8-ct-casefold: Likewise.
21942         * modules/unicase/u8-ct-tolower: Likewise.
21943         * modules/unicase/u8-ct-totitle: Likewise.
21944         * modules/unicase/u8-ct-toupper: Likewise.
21945         * modules/unicase/u8-is-cased: Likewise.
21946         * modules/unicase/u8-is-casefolded: Likewise.
21947         * modules/unicase/u8-is-lowercase: Likewise.
21948         * modules/unicase/u8-is-titlecase: Likewise.
21949         * modules/unicase/u8-is-uppercase: Likewise.
21950         * modules/unicase/u8-prefix-context: Likewise.
21951         * modules/unicase/u8-suffix-context: Likewise.
21952         * modules/unicase/u8-tolower: Likewise.
21953         * modules/unicase/u8-totitle: Likewise.
21954         * modules/unicase/u8-toupper: Likewise.
21955         * modules/unicase/u16-casecmp: Likewise.
21956         * modules/unicase/u16-casecoll: Likewise.
21957         * modules/unicase/u16-casefold: Likewise.
21958         * modules/unicase/u16-casexfrm: Likewise.
21959         * modules/unicase/u16-ct-casefold: Likewise.
21960         * modules/unicase/u16-ct-tolower: Likewise.
21961         * modules/unicase/u16-ct-totitle: Likewise.
21962         * modules/unicase/u16-ct-toupper: Likewise.
21963         * modules/unicase/u16-is-cased: Likewise.
21964         * modules/unicase/u16-is-casefolded: Likewise.
21965         * modules/unicase/u16-is-lowercase: Likewise.
21966         * modules/unicase/u16-is-titlecase: Likewise.
21967         * modules/unicase/u16-is-uppercase: Likewise.
21968         * modules/unicase/u16-prefix-context: Likewise.
21969         * modules/unicase/u16-suffix-context: Likewise.
21970         * modules/unicase/u16-tolower: Likewise.
21971         * modules/unicase/u16-totitle: Likewise.
21972         * modules/unicase/u16-toupper: Likewise.
21973         * modules/unicase/u32-casecmp: Likewise.
21974         * modules/unicase/u32-casecoll: Likewise.
21975         * modules/unicase/u32-casefold: Likewise.
21976         * modules/unicase/u32-casexfrm: Likewise.
21977         * modules/unicase/u32-ct-casefold: Likewise.
21978         * modules/unicase/u32-ct-tolower: Likewise.
21979         * modules/unicase/u32-ct-totitle: Likewise.
21980         * modules/unicase/u32-ct-toupper: Likewise.
21981         * modules/unicase/u32-is-cased: Likewise.
21982         * modules/unicase/u32-is-casefolded: Likewise.
21983         * modules/unicase/u32-is-lowercase: Likewise.
21984         * modules/unicase/u32-is-titlecase: Likewise.
21985         * modules/unicase/u32-is-uppercase: Likewise.
21986         * modules/unicase/u32-prefix-context: Likewise.
21987         * modules/unicase/u32-suffix-context: Likewise.
21988         * modules/unicase/u32-tolower: Likewise.
21989         * modules/unicase/u32-totitle: Likewise.
21990         * modules/unicase/u32-toupper: Likewise.
21991         * modules/unicase/ulc-casecmp: Likewise.
21992         * modules/unicase/ulc-casecoll: Likewise.
21993         * modules/unicase/ulc-casexfrm: Likewise.
21994         * modules/uniconv/u8-conv-from-enc: Likewise.
21995         * modules/uniconv/u8-conv-to-enc: Likewise.
21996         * modules/uniconv/u8-strconv-from-enc: Likewise.
21997         * modules/uniconv/u8-strconv-from-locale: Likewise.
21998         * modules/uniconv/u8-strconv-to-enc: Likewise.
21999         * modules/uniconv/u8-strconv-to-locale: Likewise.
22000         * modules/uniconv/u16-conv-from-enc: Likewise.
22001         * modules/uniconv/u16-conv-to-enc: Likewise.
22002         * modules/uniconv/u16-strconv-from-enc: Likewise.
22003         * modules/uniconv/u16-strconv-from-locale: Likewise.
22004         * modules/uniconv/u16-strconv-to-enc: Likewise.
22005         * modules/uniconv/u16-strconv-to-locale: Likewise.
22006         * modules/uniconv/u32-conv-from-enc: Likewise.
22007         * modules/uniconv/u32-conv-to-enc: Likewise.
22008         * modules/uniconv/u32-strconv-from-enc: Likewise.
22009         * modules/uniconv/u32-strconv-from-locale: Likewise.
22010         * modules/uniconv/u32-strconv-to-enc: Likewise.
22011         * modules/uniconv/u32-strconv-to-locale: Likewise.
22012         * modules/unictype/bidicategory-byname: Likewise.
22013         * modules/unictype/bidicategory-name: Likewise.
22014         * modules/unictype/bidicategory-of: Likewise.
22015         * modules/unictype/bidicategory-test: Likewise.
22016         * modules/unictype/block-list: Likewise.
22017         * modules/unictype/block-test: Likewise.
22018         * modules/unictype/category-C: Likewise.
22019         * modules/unictype/category-Cc: Likewise.
22020         * modules/unictype/category-Cf: Likewise.
22021         * modules/unictype/category-Cn: Likewise.
22022         * modules/unictype/category-Co: Likewise.
22023         * modules/unictype/category-Cs: Likewise.
22024         * modules/unictype/category-L: Likewise.
22025         * modules/unictype/category-Ll: Likewise.
22026         * modules/unictype/category-Lm: Likewise.
22027         * modules/unictype/category-Lo: Likewise.
22028         * modules/unictype/category-Lt: Likewise.
22029         * modules/unictype/category-Lu: Likewise.
22030         * modules/unictype/category-M: Likewise.
22031         * modules/unictype/category-Mc: Likewise.
22032         * modules/unictype/category-Me: Likewise.
22033         * modules/unictype/category-Mn: Likewise.
22034         * modules/unictype/category-N: Likewise.
22035         * modules/unictype/category-Nd: Likewise.
22036         * modules/unictype/category-Nl: Likewise.
22037         * modules/unictype/category-No: Likewise.
22038         * modules/unictype/category-P: Likewise.
22039         * modules/unictype/category-Pc: Likewise.
22040         * modules/unictype/category-Pd: Likewise.
22041         * modules/unictype/category-Pe: Likewise.
22042         * modules/unictype/category-Pf: Likewise.
22043         * modules/unictype/category-Pi: Likewise.
22044         * modules/unictype/category-Po: Likewise.
22045         * modules/unictype/category-Ps: Likewise.
22046         * modules/unictype/category-S: Likewise.
22047         * modules/unictype/category-Sc: Likewise.
22048         * modules/unictype/category-Sk: Likewise.
22049         * modules/unictype/category-Sm: Likewise.
22050         * modules/unictype/category-So: Likewise.
22051         * modules/unictype/category-Z: Likewise.
22052         * modules/unictype/category-Zl: Likewise.
22053         * modules/unictype/category-Zp: Likewise.
22054         * modules/unictype/category-Zs: Likewise.
22055         * modules/unictype/category-and: Likewise.
22056         * modules/unictype/category-and-not: Likewise.
22057         * modules/unictype/category-byname: Likewise.
22058         * modules/unictype/category-name: Likewise.
22059         * modules/unictype/category-none: Likewise.
22060         * modules/unictype/category-of: Likewise.
22061         * modules/unictype/category-or: Likewise.
22062         * modules/unictype/category-test: Likewise.
22063         * modules/unictype/combining-class: Likewise.
22064         * modules/unictype/ctype-alnum: Likewise.
22065         * modules/unictype/ctype-alpha: Likewise.
22066         * modules/unictype/ctype-blank: Likewise.
22067         * modules/unictype/ctype-cntrl: Likewise.
22068         * modules/unictype/ctype-digit: Likewise.
22069         * modules/unictype/ctype-graph: Likewise.
22070         * modules/unictype/ctype-lower: Likewise.
22071         * modules/unictype/ctype-print: Likewise.
22072         * modules/unictype/ctype-punct: Likewise.
22073         * modules/unictype/ctype-space: Likewise.
22074         * modules/unictype/ctype-upper: Likewise.
22075         * modules/unictype/ctype-xdigit: Likewise.
22076         * modules/unictype/decimal-digit: Likewise.
22077         * modules/unictype/digit: Likewise.
22078         * modules/unictype/mirror: Likewise.
22079         * modules/unictype/numeric: Likewise.
22080         * modules/unictype/property-alphabetic: Likewise.
22081         * modules/unictype/property-ascii-hex-digit: Likewise.
22082         * modules/unictype/property-bidi-arabic-digit: Likewise.
22083         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
22084         * modules/unictype/property-bidi-block-separator: Likewise.
22085         * modules/unictype/property-bidi-boundary-neutral: Likewise.
22086         * modules/unictype/property-bidi-common-separator: Likewise.
22087         * modules/unictype/property-bidi-control: Likewise.
22088         * modules/unictype/property-bidi-embedding-or-override: Likewise.
22089         * modules/unictype/property-bidi-eur-num-separator: Likewise.
22090         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
22091         * modules/unictype/property-bidi-european-digit: Likewise.
22092         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
22093         * modules/unictype/property-bidi-left-to-right: Likewise.
22094         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
22095         * modules/unictype/property-bidi-other-neutral: Likewise.
22096         * modules/unictype/property-bidi-pdf: Likewise.
22097         * modules/unictype/property-bidi-segment-separator: Likewise.
22098         * modules/unictype/property-bidi-whitespace: Likewise.
22099         * modules/unictype/property-byname: Likewise.
22100         * modules/unictype/property-combining: Likewise.
22101         * modules/unictype/property-composite: Likewise.
22102         * modules/unictype/property-currency-symbol: Likewise.
22103         * modules/unictype/property-dash: Likewise.
22104         * modules/unictype/property-decimal-digit: Likewise.
22105         * modules/unictype/property-default-ignorable-code-point: Likewise.
22106         * modules/unictype/property-deprecated: Likewise.
22107         * modules/unictype/property-diacritic: Likewise.
22108         * modules/unictype/property-extender: Likewise.
22109         * modules/unictype/property-format-control: Likewise.
22110         * modules/unictype/property-grapheme-base: Likewise.
22111         * modules/unictype/property-grapheme-extend: Likewise.
22112         * modules/unictype/property-grapheme-link: Likewise.
22113         * modules/unictype/property-hex-digit: Likewise.
22114         * modules/unictype/property-hyphen: Likewise.
22115         * modules/unictype/property-id-continue: Likewise.
22116         * modules/unictype/property-id-start: Likewise.
22117         * modules/unictype/property-ideographic: Likewise.
22118         * modules/unictype/property-ids-binary-operator: Likewise.
22119         * modules/unictype/property-ids-trinary-operator: Likewise.
22120         * modules/unictype/property-ignorable-control: Likewise.
22121         * modules/unictype/property-iso-control: Likewise.
22122         * modules/unictype/property-join-control: Likewise.
22123         * modules/unictype/property-left-of-pair: Likewise.
22124         * modules/unictype/property-line-separator: Likewise.
22125         * modules/unictype/property-logical-order-exception: Likewise.
22126         * modules/unictype/property-lowercase: Likewise.
22127         * modules/unictype/property-math: Likewise.
22128         * modules/unictype/property-non-break: Likewise.
22129         * modules/unictype/property-not-a-character: Likewise.
22130         * modules/unictype/property-numeric: Likewise.
22131         * modules/unictype/property-other-alphabetic: Likewise.
22132         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
22133         * modules/unictype/property-other-grapheme-extend: Likewise.
22134         * modules/unictype/property-other-id-continue: Likewise.
22135         * modules/unictype/property-other-id-start: Likewise.
22136         * modules/unictype/property-other-lowercase: Likewise.
22137         * modules/unictype/property-other-math: Likewise.
22138         * modules/unictype/property-other-uppercase: Likewise.
22139         * modules/unictype/property-paired-punctuation: Likewise.
22140         * modules/unictype/property-paragraph-separator: Likewise.
22141         * modules/unictype/property-pattern-syntax: Likewise.
22142         * modules/unictype/property-pattern-white-space: Likewise.
22143         * modules/unictype/property-private-use: Likewise.
22144         * modules/unictype/property-punctuation: Likewise.
22145         * modules/unictype/property-quotation-mark: Likewise.
22146         * modules/unictype/property-radical: Likewise.
22147         * modules/unictype/property-sentence-terminal: Likewise.
22148         * modules/unictype/property-soft-dotted: Likewise.
22149         * modules/unictype/property-space: Likewise.
22150         * modules/unictype/property-terminal-punctuation: Likewise.
22151         * modules/unictype/property-test: Likewise.
22152         * modules/unictype/property-titlecase: Likewise.
22153         * modules/unictype/property-unassigned-code-value: Likewise.
22154         * modules/unictype/property-unified-ideograph: Likewise.
22155         * modules/unictype/property-uppercase: Likewise.
22156         * modules/unictype/property-variation-selector: Likewise.
22157         * modules/unictype/property-white-space: Likewise.
22158         * modules/unictype/property-xid-continue: Likewise.
22159         * modules/unictype/property-xid-start: Likewise.
22160         * modules/unictype/property-zero-width: Likewise.
22161         * modules/unictype/scripts: Likewise.
22162         * modules/unictype/syntax-c-ident: Likewise.
22163         * modules/unictype/syntax-c-whitespace: Likewise.
22164         * modules/unictype/syntax-java-ident: Likewise.
22165         * modules/unictype/syntax-java-whitespace: Likewise.
22166         * modules/unilbrk/u8-possible-linebreaks: Likewise.
22167         * modules/unilbrk/u8-width-linebreaks: Likewise.
22168         * modules/unilbrk/u16-possible-linebreaks: Likewise.
22169         * modules/unilbrk/u16-width-linebreaks: Likewise.
22170         * modules/unilbrk/u32-possible-linebreaks: Likewise.
22171         * modules/unilbrk/u32-width-linebreaks: Likewise.
22172         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
22173         * modules/unilbrk/ulc-width-linebreaks: Likewise.
22174         * modules/uniname/uniname: Likewise.
22175         * modules/uninorm/canonical-decomposition: Likewise.
22176         * modules/uninorm/composition: Likewise.
22177         * modules/uninorm/decomposing-form: Likewise.
22178         * modules/uninorm/decomposition: Likewise.
22179         * modules/uninorm/filter: Likewise.
22180         * modules/uninorm/nfc: Likewise.
22181         * modules/uninorm/nfd: Likewise.
22182         * modules/uninorm/nfkc: Likewise.
22183         * modules/uninorm/nfkd: Likewise.
22184         * modules/uninorm/u8-normalize: Likewise.
22185         * modules/uninorm/u8-normcmp: Likewise.
22186         * modules/uninorm/u8-normcoll: Likewise.
22187         * modules/uninorm/u8-normxfrm: Likewise.
22188         * modules/uninorm/u16-normalize: Likewise.
22189         * modules/uninorm/u16-normcmp: Likewise.
22190         * modules/uninorm/u16-normcoll: Likewise.
22191         * modules/uninorm/u16-normxfrm: Likewise.
22192         * modules/uninorm/u32-normalize: Likewise.
22193         * modules/uninorm/u32-normcmp: Likewise.
22194         * modules/uninorm/u32-normcoll: Likewise.
22195         * modules/uninorm/u32-normxfrm: Likewise.
22196         * modules/unistdio/u8-asnprintf: Likewise.
22197         * modules/unistdio/u8-asprintf: Likewise.
22198         * modules/unistdio/u8-snprintf: Likewise.
22199         * modules/unistdio/u8-sprintf: Likewise.
22200         * modules/unistdio/u8-u8-asnprintf: Likewise.
22201         * modules/unistdio/u8-u8-asprintf: Likewise.
22202         * modules/unistdio/u8-u8-snprintf: Likewise.
22203         * modules/unistdio/u8-u8-sprintf: Likewise.
22204         * modules/unistdio/u8-u8-vasnprintf: Likewise.
22205         * modules/unistdio/u8-u8-vasprintf: Likewise.
22206         * modules/unistdio/u8-u8-vsnprintf: Likewise.
22207         * modules/unistdio/u8-u8-vsprintf: Likewise.
22208         * modules/unistdio/u8-vasnprintf: Likewise.
22209         * modules/unistdio/u8-vasprintf: Likewise.
22210         * modules/unistdio/u8-vsnprintf: Likewise.
22211         * modules/unistdio/u8-vsprintf: Likewise.
22212         * modules/unistdio/u16-asnprintf: Likewise.
22213         * modules/unistdio/u16-asprintf: Likewise.
22214         * modules/unistdio/u16-snprintf: Likewise.
22215         * modules/unistdio/u16-sprintf: Likewise.
22216         * modules/unistdio/u16-u16-asnprintf: Likewise.
22217         * modules/unistdio/u16-u16-asprintf: Likewise.
22218         * modules/unistdio/u16-u16-snprintf: Likewise.
22219         * modules/unistdio/u16-u16-sprintf: Likewise.
22220         * modules/unistdio/u16-u16-vasnprintf: Likewise.
22221         * modules/unistdio/u16-u16-vasprintf: Likewise.
22222         * modules/unistdio/u16-u16-vsnprintf: Likewise.
22223         * modules/unistdio/u16-u16-vsprintf: Likewise.
22224         * modules/unistdio/u16-vasnprintf: Likewise.
22225         * modules/unistdio/u16-vasprintf: Likewise.
22226         * modules/unistdio/u16-vsnprintf: Likewise.
22227         * modules/unistdio/u16-vsprintf: Likewise.
22228         * modules/unistdio/u32-asnprintf: Likewise.
22229         * modules/unistdio/u32-asprintf: Likewise.
22230         * modules/unistdio/u32-snprintf: Likewise.
22231         * modules/unistdio/u32-sprintf: Likewise.
22232         * modules/unistdio/u32-u32-asnprintf: Likewise.
22233         * modules/unistdio/u32-u32-asprintf: Likewise.
22234         * modules/unistdio/u32-u32-snprintf: Likewise.
22235         * modules/unistdio/u32-u32-sprintf: Likewise.
22236         * modules/unistdio/u32-u32-vasnprintf: Likewise.
22237         * modules/unistdio/u32-u32-vasprintf: Likewise.
22238         * modules/unistdio/u32-u32-vsnprintf: Likewise.
22239         * modules/unistdio/u32-u32-vsprintf: Likewise.
22240         * modules/unistdio/u32-vasnprintf: Likewise.
22241         * modules/unistdio/u32-vasprintf: Likewise.
22242         * modules/unistdio/u32-vsnprintf: Likewise.
22243         * modules/unistdio/u32-vsprintf: Likewise.
22244         * modules/unistdio/ulc-asnprintf: Likewise.
22245         * modules/unistdio/ulc-asprintf: Likewise.
22246         * modules/unistdio/ulc-fprintf: Likewise.
22247         * modules/unistdio/ulc-snprintf: Likewise.
22248         * modules/unistdio/ulc-sprintf: Likewise.
22249         * modules/unistdio/ulc-vasnprintf: Likewise.
22250         * modules/unistdio/ulc-vasprintf: Likewise.
22251         * modules/unistdio/ulc-vfprintf: Likewise.
22252         * modules/unistdio/ulc-vsnprintf: Likewise.
22253         * modules/unistdio/ulc-vsprintf: Likewise.
22254         * modules/unistr/u8-check: Likewise.
22255         * modules/unistr/u8-chr: Likewise.
22256         * modules/unistr/u8-cmp: Likewise.
22257         * modules/unistr/u8-cmp2: Likewise.
22258         * modules/unistr/u8-cpy: Likewise.
22259         * modules/unistr/u8-cpy-alloc: Likewise.
22260         * modules/unistr/u8-endswith: Likewise.
22261         * modules/unistr/u8-mblen: Likewise.
22262         * modules/unistr/u8-mbsnlen: Likewise.
22263         * modules/unistr/u8-mbtouc: Likewise.
22264         * modules/unistr/u8-mbtouc-unsafe: Likewise.
22265         * modules/unistr/u8-mbtoucr: Likewise.
22266         * modules/unistr/u8-move: Likewise.
22267         * modules/unistr/u8-next: Likewise.
22268         * modules/unistr/u8-prev: Likewise.
22269         * modules/unistr/u8-set: Likewise.
22270         * modules/unistr/u8-startswith: Likewise.
22271         * modules/unistr/u8-stpcpy: Likewise.
22272         * modules/unistr/u8-stpncpy: Likewise.
22273         * modules/unistr/u8-strcat: Likewise.
22274         * modules/unistr/u8-strchr: Likewise.
22275         * modules/unistr/u8-strcmp: Likewise.
22276         * modules/unistr/u8-strcoll: Likewise.
22277         * modules/unistr/u8-strcpy: Likewise.
22278         * modules/unistr/u8-strcspn: Likewise.
22279         * modules/unistr/u8-strdup: Likewise.
22280         * modules/unistr/u8-strlen: Likewise.
22281         * modules/unistr/u8-strmblen: Likewise.
22282         * modules/unistr/u8-strmbtouc: Likewise.
22283         * modules/unistr/u8-strncat: Likewise.
22284         * modules/unistr/u8-strncmp: Likewise.
22285         * modules/unistr/u8-strncpy: Likewise.
22286         * modules/unistr/u8-strnlen: Likewise.
22287         * modules/unistr/u8-strpbrk: Likewise.
22288         * modules/unistr/u8-strrchr: Likewise.
22289         * modules/unistr/u8-strspn: Likewise.
22290         * modules/unistr/u8-strstr: Likewise.
22291         * modules/unistr/u8-strtok: Likewise.
22292         * modules/unistr/u8-to-u16: Likewise.
22293         * modules/unistr/u8-to-u32: Likewise.
22294         * modules/unistr/u8-uctomb: Likewise.
22295         * modules/unistr/u16-check: Likewise.
22296         * modules/unistr/u16-chr: Likewise.
22297         * modules/unistr/u16-cmp: Likewise.
22298         * modules/unistr/u16-cmp2: Likewise.
22299         * modules/unistr/u16-cpy: Likewise.
22300         * modules/unistr/u16-cpy-alloc: Likewise.
22301         * modules/unistr/u16-endswith: Likewise.
22302         * modules/unistr/u16-mblen: Likewise.
22303         * modules/unistr/u16-mbsnlen: Likewise.
22304         * modules/unistr/u16-mbtouc: Likewise.
22305         * modules/unistr/u16-mbtouc-unsafe: Likewise.
22306         * modules/unistr/u16-mbtoucr: Likewise.
22307         * modules/unistr/u16-move: Likewise.
22308         * modules/unistr/u16-next: Likewise.
22309         * modules/unistr/u16-prev: Likewise.
22310         * modules/unistr/u16-set: Likewise.
22311         * modules/unistr/u16-startswith: Likewise.
22312         * modules/unistr/u16-stpcpy: Likewise.
22313         * modules/unistr/u16-stpncpy: Likewise.
22314         * modules/unistr/u16-strcat: Likewise.
22315         * modules/unistr/u16-strchr: Likewise.
22316         * modules/unistr/u16-strcmp: Likewise.
22317         * modules/unistr/u16-strcoll: Likewise.
22318         * modules/unistr/u16-strcpy: Likewise.
22319         * modules/unistr/u16-strcspn: Likewise.
22320         * modules/unistr/u16-strdup: Likewise.
22321         * modules/unistr/u16-strlen: Likewise.
22322         * modules/unistr/u16-strmblen: Likewise.
22323         * modules/unistr/u16-strmbtouc: Likewise.
22324         * modules/unistr/u16-strncat: Likewise.
22325         * modules/unistr/u16-strncmp: Likewise.
22326         * modules/unistr/u16-strncpy: Likewise.
22327         * modules/unistr/u16-strnlen: Likewise.
22328         * modules/unistr/u16-strpbrk: Likewise.
22329         * modules/unistr/u16-strrchr: Likewise.
22330         * modules/unistr/u16-strspn: Likewise.
22331         * modules/unistr/u16-strstr: Likewise.
22332         * modules/unistr/u16-strtok: Likewise.
22333         * modules/unistr/u16-to-u32: Likewise.
22334         * modules/unistr/u16-to-u8: Likewise.
22335         * modules/unistr/u16-uctomb: Likewise.
22336         * modules/unistr/u32-check: Likewise.
22337         * modules/unistr/u32-chr: Likewise.
22338         * modules/unistr/u32-cmp: Likewise.
22339         * modules/unistr/u32-cmp2: Likewise.
22340         * modules/unistr/u32-cpy: Likewise.
22341         * modules/unistr/u32-cpy-alloc: Likewise.
22342         * modules/unistr/u32-endswith: Likewise.
22343         * modules/unistr/u32-mblen: Likewise.
22344         * modules/unistr/u32-mbsnlen: Likewise.
22345         * modules/unistr/u32-mbtouc: Likewise.
22346         * modules/unistr/u32-mbtouc-unsafe: Likewise.
22347         * modules/unistr/u32-mbtoucr: Likewise.
22348         * modules/unistr/u32-move: Likewise.
22349         * modules/unistr/u32-next: Likewise.
22350         * modules/unistr/u32-prev: Likewise.
22351         * modules/unistr/u32-set: Likewise.
22352         * modules/unistr/u32-startswith: Likewise.
22353         * modules/unistr/u32-stpcpy: Likewise.
22354         * modules/unistr/u32-stpncpy: Likewise.
22355         * modules/unistr/u32-strcat: Likewise.
22356         * modules/unistr/u32-strchr: Likewise.
22357         * modules/unistr/u32-strcmp: Likewise.
22358         * modules/unistr/u32-strcoll: Likewise.
22359         * modules/unistr/u32-strcpy: Likewise.
22360         * modules/unistr/u32-strcspn: Likewise.
22361         * modules/unistr/u32-strdup: Likewise.
22362         * modules/unistr/u32-strlen: Likewise.
22363         * modules/unistr/u32-strmblen: Likewise.
22364         * modules/unistr/u32-strmbtouc: Likewise.
22365         * modules/unistr/u32-strncat: Likewise.
22366         * modules/unistr/u32-strncmp: Likewise.
22367         * modules/unistr/u32-strncpy: Likewise.
22368         * modules/unistr/u32-strnlen: Likewise.
22369         * modules/unistr/u32-strpbrk: Likewise.
22370         * modules/unistr/u32-strrchr: Likewise.
22371         * modules/unistr/u32-strspn: Likewise.
22372         * modules/unistr/u32-strstr: Likewise.
22373         * modules/unistr/u32-strtok: Likewise.
22374         * modules/unistr/u32-to-u16: Likewise.
22375         * modules/unistr/u32-to-u8: Likewise.
22376         * modules/unistr/u32-uctomb: Likewise.
22377         * modules/uniwbrk/u8-wordbreaks: Likewise.
22378         * modules/uniwbrk/u16-wordbreaks: Likewise.
22379         * modules/uniwbrk/u32-wordbreaks: Likewise.
22380         * modules/uniwbrk/ulc-wordbreaks: Likewise.
22381         * modules/uniwbrk/wordbreak-property: Likewise.
22382         * modules/uniwidth/u8-strwidth: Likewise.
22383         * modules/uniwidth/u8-width: Likewise.
22384         * modules/uniwidth/u16-strwidth: Likewise.
22385         * modules/uniwidth/u16-width: Likewise.
22386         * modules/uniwidth/u32-strwidth: Likewise.
22387         * modules/uniwidth/u32-width: Likewise.
22388         * modules/uniwidth/width: Likewise.
22389         * modules/unicase/cased-tests (Makefile.am): Link all test programs
22390         with $(LIBUNISTRING).
22391         * modules/unicase/ignorable-tests: Likewise.
22392         * modules/unicase/locale-language-tests: Likewise.
22393         * modules/unicase/tolower-tests: Likewise.
22394         * modules/unicase/totitle-tests: Likewise.
22395         * modules/unicase/toupper-tests: Likewise.
22396         * modules/unicase/u8-casecmp-tests: Likewise.
22397         * modules/unicase/u8-casecoll-tests: Likewise.
22398         * modules/unicase/u8-casefold-tests: Likewise.
22399         * modules/unicase/u8-is-cased-tests: Likewise.
22400         * modules/unicase/u8-is-casefolded-tests: Likewise.
22401         * modules/unicase/u8-is-lowercase-tests: Likewise.
22402         * modules/unicase/u8-is-titlecase-tests: Likewise.
22403         * modules/unicase/u8-is-uppercase-tests: Likewise.
22404         * modules/unicase/u8-tolower-tests: Likewise.
22405         * modules/unicase/u8-totitle-tests: Likewise.
22406         * modules/unicase/u8-toupper-tests: Likewise.
22407         * modules/unicase/u16-casecmp-tests: Likewise.
22408         * modules/unicase/u16-casecoll-tests: Likewise.
22409         * modules/unicase/u16-casefold-tests: Likewise.
22410         * modules/unicase/u16-is-cased-tests: Likewise.
22411         * modules/unicase/u16-is-casefolded-tests: Likewise.
22412         * modules/unicase/u16-is-lowercase-tests: Likewise.
22413         * modules/unicase/u16-is-titlecase-tests: Likewise.
22414         * modules/unicase/u16-is-uppercase-tests: Likewise.
22415         * modules/unicase/u16-tolower-tests: Likewise.
22416         * modules/unicase/u16-totitle-tests: Likewise.
22417         * modules/unicase/u16-toupper-tests: Likewise.
22418         * modules/unicase/u32-casecmp-tests: Likewise.
22419         * modules/unicase/u32-casecoll-tests: Likewise.
22420         * modules/unicase/u32-casefold-tests: Likewise.
22421         * modules/unicase/u32-is-cased-tests: Likewise.
22422         * modules/unicase/u32-is-casefolded-tests: Likewise.
22423         * modules/unicase/u32-is-lowercase-tests: Likewise.
22424         * modules/unicase/u32-is-titlecase-tests: Likewise.
22425         * modules/unicase/u32-is-uppercase-tests: Likewise.
22426         * modules/unicase/u32-tolower-tests: Likewise.
22427         * modules/unicase/u32-totitle-tests: Likewise.
22428         * modules/unicase/u32-toupper-tests: Likewise.
22429         * modules/unicase/ulc-casecmp-tests: Likewise.
22430         * modules/unicase/ulc-casecoll-tests: Likewise.
22431         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
22432         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
22433         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
22434         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
22435         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
22436         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
22437         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
22438         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
22439         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
22440         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
22441         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
22442         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
22443         * modules/unictype/bidicategory-byname-tests: Likewise.
22444         * modules/unictype/bidicategory-name-tests: Likewise.
22445         * modules/unictype/bidicategory-of-tests: Likewise.
22446         * modules/unictype/bidicategory-test-tests: Likewise.
22447         * modules/unictype/block-list-tests: Likewise.
22448         * modules/unictype/block-of-tests: Likewise.
22449         * modules/unictype/block-test-tests: Likewise.
22450         * modules/unictype/category-C-tests: Likewise.
22451         * modules/unictype/category-Cc-tests: Likewise.
22452         * modules/unictype/category-Cf-tests: Likewise.
22453         * modules/unictype/category-Cn-tests: Likewise.
22454         * modules/unictype/category-Co-tests: Likewise.
22455         * modules/unictype/category-Cs-tests: Likewise.
22456         * modules/unictype/category-L-tests: Likewise.
22457         * modules/unictype/category-Ll-tests: Likewise.
22458         * modules/unictype/category-Lm-tests: Likewise.
22459         * modules/unictype/category-Lo-tests: Likewise.
22460         * modules/unictype/category-Lt-tests: Likewise.
22461         * modules/unictype/category-Lu-tests: Likewise.
22462         * modules/unictype/category-M-tests: Likewise.
22463         * modules/unictype/category-Mc-tests: Likewise.
22464         * modules/unictype/category-Me-tests: Likewise.
22465         * modules/unictype/category-Mn-tests: Likewise.
22466         * modules/unictype/category-N-tests: Likewise.
22467         * modules/unictype/category-Nd-tests: Likewise.
22468         * modules/unictype/category-Nl-tests: Likewise.
22469         * modules/unictype/category-No-tests: Likewise.
22470         * modules/unictype/category-P-tests: Likewise.
22471         * modules/unictype/category-Pc-tests: Likewise.
22472         * modules/unictype/category-Pd-tests: Likewise.
22473         * modules/unictype/category-Pe-tests: Likewise.
22474         * modules/unictype/category-Pf-tests: Likewise.
22475         * modules/unictype/category-Pi-tests: Likewise.
22476         * modules/unictype/category-Po-tests: Likewise.
22477         * modules/unictype/category-Ps-tests: Likewise.
22478         * modules/unictype/category-S-tests: Likewise.
22479         * modules/unictype/category-Sc-tests: Likewise.
22480         * modules/unictype/category-Sk-tests: Likewise.
22481         * modules/unictype/category-Sm-tests: Likewise.
22482         * modules/unictype/category-So-tests: Likewise.
22483         * modules/unictype/category-Z-tests: Likewise.
22484         * modules/unictype/category-Zl-tests: Likewise.
22485         * modules/unictype/category-Zp-tests: Likewise.
22486         * modules/unictype/category-Zs-tests: Likewise.
22487         * modules/unictype/category-and-not-tests: Likewise.
22488         * modules/unictype/category-and-tests: Likewise.
22489         * modules/unictype/category-byname-tests: Likewise.
22490         * modules/unictype/category-name-tests: Likewise.
22491         * modules/unictype/category-none-tests: Likewise.
22492         * modules/unictype/category-of-tests: Likewise.
22493         * modules/unictype/category-or-tests: Likewise.
22494         * modules/unictype/category-test-withtable-tests: Likewise.
22495         * modules/unictype/combining-class-tests: Likewise.
22496         * modules/unictype/ctype-alnum-tests: Likewise.
22497         * modules/unictype/ctype-alpha-tests: Likewise.
22498         * modules/unictype/ctype-blank-tests: Likewise.
22499         * modules/unictype/ctype-cntrl-tests: Likewise.
22500         * modules/unictype/ctype-digit-tests: Likewise.
22501         * modules/unictype/ctype-graph-tests: Likewise.
22502         * modules/unictype/ctype-lower-tests: Likewise.
22503         * modules/unictype/ctype-print-tests: Likewise.
22504         * modules/unictype/ctype-punct-tests: Likewise.
22505         * modules/unictype/ctype-space-tests: Likewise.
22506         * modules/unictype/ctype-upper-tests: Likewise.
22507         * modules/unictype/ctype-xdigit-tests: Likewise.
22508         * modules/unictype/decimal-digit-tests: Likewise.
22509         * modules/unictype/digit-tests: Likewise.
22510         * modules/unictype/mirror-tests: Likewise.
22511         * modules/unictype/numeric-tests: Likewise.
22512         * modules/unictype/property-alphabetic-tests: Likewise.
22513         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
22514         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
22515         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
22516         * modules/unictype/property-bidi-block-separator-tests: Likewise.
22517         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
22518         * modules/unictype/property-bidi-common-separator-tests: Likewise.
22519         * modules/unictype/property-bidi-control-tests: Likewise.
22520         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
22521         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
22522         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
22523         * modules/unictype/property-bidi-european-digit-tests: Likewise.
22524         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
22525         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
22526         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
22527         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
22528         * modules/unictype/property-bidi-pdf-tests: Likewise.
22529         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
22530         * modules/unictype/property-bidi-whitespace-tests: Likewise.
22531         * modules/unictype/property-byname-tests: Likewise.
22532         * modules/unictype/property-combining-tests: Likewise.
22533         * modules/unictype/property-composite-tests: Likewise.
22534         * modules/unictype/property-currency-symbol-tests: Likewise.
22535         * modules/unictype/property-dash-tests: Likewise.
22536         * modules/unictype/property-decimal-digit-tests: Likewise.
22537         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
22538         * modules/unictype/property-deprecated-tests: Likewise.
22539         * modules/unictype/property-diacritic-tests: Likewise.
22540         * modules/unictype/property-extender-tests: Likewise.
22541         * modules/unictype/property-format-control-tests: Likewise.
22542         * modules/unictype/property-grapheme-base-tests: Likewise.
22543         * modules/unictype/property-grapheme-extend-tests: Likewise.
22544         * modules/unictype/property-grapheme-link-tests: Likewise.
22545         * modules/unictype/property-hex-digit-tests: Likewise.
22546         * modules/unictype/property-hyphen-tests: Likewise.
22547         * modules/unictype/property-id-continue-tests: Likewise.
22548         * modules/unictype/property-id-start-tests: Likewise.
22549         * modules/unictype/property-ideographic-tests: Likewise.
22550         * modules/unictype/property-ids-binary-operator-tests: Likewise.
22551         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
22552         * modules/unictype/property-ignorable-control-tests: Likewise.
22553         * modules/unictype/property-iso-control-tests: Likewise.
22554         * modules/unictype/property-join-control-tests: Likewise.
22555         * modules/unictype/property-left-of-pair-tests: Likewise.
22556         * modules/unictype/property-line-separator-tests: Likewise.
22557         * modules/unictype/property-logical-order-exception-tests: Likewise.
22558         * modules/unictype/property-lowercase-tests: Likewise.
22559         * modules/unictype/property-math-tests: Likewise.
22560         * modules/unictype/property-non-break-tests: Likewise.
22561         * modules/unictype/property-not-a-character-tests: Likewise.
22562         * modules/unictype/property-numeric-tests: Likewise.
22563         * modules/unictype/property-other-alphabetic-tests: Likewise.
22564         * modules/unictype/property-other-default-ignorable-code-point-tests:
22565         Likewise.
22566         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
22567         * modules/unictype/property-other-id-continue-tests: Likewise.
22568         * modules/unictype/property-other-id-start-tests: Likewise.
22569         * modules/unictype/property-other-lowercase-tests: Likewise.
22570         * modules/unictype/property-other-math-tests: Likewise.
22571         * modules/unictype/property-other-uppercase-tests: Likewise.
22572         * modules/unictype/property-paired-punctuation-tests: Likewise.
22573         * modules/unictype/property-paragraph-separator-tests: Likewise.
22574         * modules/unictype/property-pattern-syntax-tests: Likewise.
22575         * modules/unictype/property-pattern-white-space-tests: Likewise.
22576         * modules/unictype/property-private-use-tests: Likewise.
22577         * modules/unictype/property-punctuation-tests: Likewise.
22578         * modules/unictype/property-quotation-mark-tests: Likewise.
22579         * modules/unictype/property-radical-tests: Likewise.
22580         * modules/unictype/property-sentence-terminal-tests: Likewise.
22581         * modules/unictype/property-soft-dotted-tests: Likewise.
22582         * modules/unictype/property-space-tests: Likewise.
22583         * modules/unictype/property-terminal-punctuation-tests: Likewise.
22584         * modules/unictype/property-test-tests: Likewise.
22585         * modules/unictype/property-titlecase-tests: Likewise.
22586         * modules/unictype/property-unassigned-code-value-tests: Likewise.
22587         * modules/unictype/property-unified-ideograph-tests: Likewise.
22588         * modules/unictype/property-uppercase-tests: Likewise.
22589         * modules/unictype/property-variation-selector-tests: Likewise.
22590         * modules/unictype/property-white-space-tests: Likewise.
22591         * modules/unictype/property-xid-continue-tests: Likewise.
22592         * modules/unictype/property-xid-start-tests: Likewise.
22593         * modules/unictype/property-zero-width-tests: Likewise.
22594         * modules/unictype/scripts-tests: Likewise.
22595         * modules/unictype/syntax-c-ident-tests: Likewise.
22596         * modules/unictype/syntax-c-whitespace-tests: Likewise.
22597         * modules/unictype/syntax-java-ident-tests: Likewise.
22598         * modules/unictype/syntax-java-whitespace-tests: Likewise.
22599         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
22600         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
22601         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
22602         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
22603         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
22604         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
22605         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
22606         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
22607         * modules/uniname/uniname-tests: Likewise.
22608         * modules/uninorm/canonical-decomposition-tests: Likewise.
22609         * modules/uninorm/compat-decomposition-tests: Likewise.
22610         * modules/uninorm/composition-tests: Likewise.
22611         * modules/uninorm/decomposing-form-tests: Likewise.
22612         * modules/uninorm/decomposition-tests: Likewise.
22613         * modules/uninorm/filter-tests: Likewise.
22614         * modules/uninorm/nfc-tests: Likewise.
22615         * modules/uninorm/nfd-tests: Likewise.
22616         * modules/uninorm/nfkc-tests: Likewise.
22617         * modules/uninorm/nfkd-tests: Likewise.
22618         * modules/uninorm/u8-normcmp-tests: Likewise.
22619         * modules/uninorm/u8-normcoll-tests: Likewise.
22620         * modules/uninorm/u16-normcmp-tests: Likewise.
22621         * modules/uninorm/u16-normcoll-tests: Likewise.
22622         * modules/uninorm/u32-normcmp-tests: Likewise.
22623         * modules/uninorm/u32-normcoll-tests: Likewise.
22624         * modules/unistdio/u8-asnprintf-tests: Likewise.
22625         * modules/unistdio/u8-vasnprintf-tests: Likewise.
22626         * modules/unistdio/u8-vasprintf-tests: Likewise.
22627         * modules/unistdio/u8-vsnprintf-tests: Likewise.
22628         * modules/unistdio/u8-vsprintf-tests: Likewise.
22629         * modules/unistdio/u16-asnprintf-tests: Likewise.
22630         * modules/unistdio/u16-vasnprintf-tests: Likewise.
22631         * modules/unistdio/u16-vasprintf-tests: Likewise.
22632         * modules/unistdio/u16-vsnprintf-tests: Likewise.
22633         * modules/unistdio/u16-vsprintf-tests: Likewise.
22634         * modules/unistdio/u32-asnprintf-tests: Likewise.
22635         * modules/unistdio/u32-vasnprintf-tests: Likewise.
22636         * modules/unistdio/u32-vasprintf-tests: Likewise.
22637         * modules/unistdio/u32-vsnprintf-tests: Likewise.
22638         * modules/unistdio/u32-vsprintf-tests: Likewise.
22639         * modules/unistdio/ulc-asnprintf-tests: Likewise.
22640         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
22641         * modules/unistdio/ulc-vasprintf-tests: Likewise.
22642         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
22643         * modules/unistdio/ulc-vsprintf-tests: Likewise.
22644         * modules/unistr/u8-check-tests: Likewise.
22645         * modules/unistr/u8-chr-tests: Likewise.
22646         * modules/unistr/u8-cmp-tests: Likewise.
22647         * modules/unistr/u8-cmp2-tests: Likewise.
22648         * modules/unistr/u8-cpy-alloc-tests: Likewise.
22649         * modules/unistr/u8-cpy-tests: Likewise.
22650         * modules/unistr/u8-mblen-tests: Likewise.
22651         * modules/unistr/u8-mbsnlen-tests: Likewise.
22652         * modules/unistr/u8-mbtouc-tests: Likewise.
22653         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
22654         * modules/unistr/u8-mbtoucr-tests: Likewise.
22655         * modules/unistr/u8-move-tests: Likewise.
22656         * modules/unistr/u8-next-tests: Likewise.
22657         * modules/unistr/u8-prev-tests: Likewise.
22658         * modules/unistr/u8-set-tests: Likewise.
22659         * modules/unistr/u8-stpcpy-tests: Likewise.
22660         * modules/unistr/u8-stpncpy-tests: Likewise.
22661         * modules/unistr/u8-strcat-tests: Likewise.
22662         * modules/unistr/u8-strcmp-tests: Likewise.
22663         * modules/unistr/u8-strcoll-tests: Likewise.
22664         * modules/unistr/u8-strcpy-tests: Likewise.
22665         * modules/unistr/u8-strdup-tests: Likewise.
22666         * modules/unistr/u8-strlen-tests: Likewise.
22667         * modules/unistr/u8-strmblen-tests: Likewise.
22668         * modules/unistr/u8-strmbtouc-tests: Likewise.
22669         * modules/unistr/u8-strncat-tests: Likewise.
22670         * modules/unistr/u8-strncmp-tests: Likewise.
22671         * modules/unistr/u8-strncpy-tests: Likewise.
22672         * modules/unistr/u8-strnlen-tests: Likewise.
22673         * modules/unistr/u8-to-u16-tests: Likewise.
22674         * modules/unistr/u8-to-u32-tests: Likewise.
22675         * modules/unistr/u8-uctomb-tests: Likewise.
22676         * modules/unistr/u16-check-tests: Likewise.
22677         * modules/unistr/u16-chr-tests: Likewise.
22678         * modules/unistr/u16-cmp-tests: Likewise.
22679         * modules/unistr/u16-cmp2-tests: Likewise.
22680         * modules/unistr/u16-cpy-alloc-tests: Likewise.
22681         * modules/unistr/u16-cpy-tests: Likewise.
22682         * modules/unistr/u16-mblen-tests: Likewise.
22683         * modules/unistr/u16-mbsnlen-tests: Likewise.
22684         * modules/unistr/u16-mbtouc-tests: Likewise.
22685         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
22686         * modules/unistr/u16-mbtoucr-tests: Likewise.
22687         * modules/unistr/u16-move-tests: Likewise.
22688         * modules/unistr/u16-next-tests: Likewise.
22689         * modules/unistr/u16-prev-tests: Likewise.
22690         * modules/unistr/u16-set-tests: Likewise.
22691         * modules/unistr/u16-stpcpy-tests: Likewise.
22692         * modules/unistr/u16-stpncpy-tests: Likewise.
22693         * modules/unistr/u16-strcat-tests: Likewise.
22694         * modules/unistr/u16-strcmp-tests: Likewise.
22695         * modules/unistr/u16-strcoll-tests: Likewise.
22696         * modules/unistr/u16-strcpy-tests: Likewise.
22697         * modules/unistr/u16-strdup-tests: Likewise.
22698         * modules/unistr/u16-strlen-tests: Likewise.
22699         * modules/unistr/u16-strmblen-tests: Likewise.
22700         * modules/unistr/u16-strmbtouc-tests: Likewise.
22701         * modules/unistr/u16-strncat-tests: Likewise.
22702         * modules/unistr/u16-strncmp-tests: Likewise.
22703         * modules/unistr/u16-strncpy-tests: Likewise.
22704         * modules/unistr/u16-strnlen-tests: Likewise.
22705         * modules/unistr/u16-to-u32-tests: Likewise.
22706         * modules/unistr/u16-to-u8-tests: Likewise.
22707         * modules/unistr/u16-uctomb-tests: Likewise.
22708         * modules/unistr/u32-check-tests: Likewise.
22709         * modules/unistr/u32-chr-tests: Likewise.
22710         * modules/unistr/u32-cmp-tests: Likewise.
22711         * modules/unistr/u32-cmp2-tests: Likewise.
22712         * modules/unistr/u32-cpy-alloc-tests: Likewise.
22713         * modules/unistr/u32-cpy-tests: Likewise.
22714         * modules/unistr/u32-mblen-tests: Likewise.
22715         * modules/unistr/u32-mbsnlen-tests: Likewise.
22716         * modules/unistr/u32-mbtouc-tests: Likewise.
22717         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
22718         * modules/unistr/u32-mbtoucr-tests: Likewise.
22719         * modules/unistr/u32-move-tests: Likewise.
22720         * modules/unistr/u32-next-tests: Likewise.
22721         * modules/unistr/u32-prev-tests: Likewise.
22722         * modules/unistr/u32-set-tests: Likewise.
22723         * modules/unistr/u32-stpcpy-tests: Likewise.
22724         * modules/unistr/u32-stpncpy-tests: Likewise.
22725         * modules/unistr/u32-strcat-tests: Likewise.
22726         * modules/unistr/u32-strcmp-tests: Likewise.
22727         * modules/unistr/u32-strcoll-tests: Likewise.
22728         * modules/unistr/u32-strcpy-tests: Likewise.
22729         * modules/unistr/u32-strdup-tests: Likewise.
22730         * modules/unistr/u32-strlen-tests: Likewise.
22731         * modules/unistr/u32-strmblen-tests: Likewise.
22732         * modules/unistr/u32-strmbtouc-tests: Likewise.
22733         * modules/unistr/u32-strncat-tests: Likewise.
22734         * modules/unistr/u32-strncmp-tests: Likewise.
22735         * modules/unistr/u32-strncpy-tests: Likewise.
22736         * modules/unistr/u32-strnlen-tests: Likewise.
22737         * modules/unistr/u32-to-u16-tests: Likewise.
22738         * modules/unistr/u32-to-u8-tests: Likewise.
22739         * modules/unistr/u32-uctomb-tests: Likewise.
22740         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
22741         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
22742         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
22743         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
22744         * modules/uniwidth/u8-strwidth-tests: Likewise.
22745         * modules/uniwidth/u8-width-tests: Likewise.
22746         * modules/uniwidth/u16-strwidth-tests: Likewise.
22747         * modules/uniwidth/u16-width-tests: Likewise.
22748         * modules/uniwidth/u32-strwidth-tests: Likewise.
22749         * modules/uniwidth/u32-width-tests: Likewise.
22750         * modules/uniwidth/width-tests: Likewise.
22751
22752 2010-05-18  Richard Jones  <rjones@redhat.com>
22753
22754         doc: users.txt: list hivex
22755         * users.txt: Add hivex.
22756
22757 2010-05-18  Richard Jones  <rjones@redhat.com>
22758
22759         doc: users.txt: list febootstrap
22760         * users.txt: Add febootstrap.
22761
22762 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
22763
22764         bootstrap: fix an error when gnulib is not used as a git submodule
22765         * build-aux/bootstrap (gnulib_path): If its length is zero then
22766         assign "gnulib" to it.
22767         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
22768
22769 2010-05-16  Bruno Haible  <bruno@clisp.org>
22770
22771         Avoid autoconf warnings about AM_ICONV.
22772         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
22773         2.64.
22774
22775 2010-05-16  Bruno Haible  <bruno@clisp.org>
22776
22777         absolute-header: Make the macro usable in more situations.
22778         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
22779         from gl_ABSOLUTE_HEADER.
22780         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
22781
22782 2010-05-16  James Youngman  <jay@gnu.org>
22783
22784         doc: update users.txt
22785         * users.txt: Add CSSC.
22786
22787 2010-05-16  Jim Meyering  <meyering@redhat.com>
22788
22789         init.sh: fix an error in the previous change; add more comments
22790         * tests/init.sh: Compare exit code in loop against 9, not 2.
22791         Patch by Bruno Haible.
22792         Make the two tests more similar by adding an empty "then" clause.
22793         Add comments.
22794
22795         init.sh: avoid unnecessary shell re-exec
22796         * tests/init.sh: Improve the re-exec-required check to first test the
22797         current shell.  If it passes the test, do not search for a shell that
22798         does pass, and do not re-exec.  This test is particularly contorted to
22799         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
22800         of $(...) evokes a syntax error and causes immediate shell exit with
22801         status 2.  Bruno Haible reported that the re-exec made it impossible
22802         to single-step through any init.sh-using script.
22803
22804 2010-05-16  Bruno Haible  <bruno@clisp.org>
22805
22806         Fix collision between gnulib's and libintl's printf replacements.
22807         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
22808         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
22809         (printf): When using GNU C, map the __printf__ function to rpl_printf
22810         via __asm__. When not using GNU C, define rpl_printf instead of
22811         __printf__.
22812         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
22813         commit.
22814         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
22815         commit.
22816         * m4/asm-underscore.m4: New file.
22817         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
22818         * modules/stdio (Files): Add m4/asm-underscore.m4.
22819         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
22820         Reported by Ben Pfaff.
22821
22822 2010-05-16  Bruno Haible  <bruno@clisp.org>
22823
22824         verify: Avoid skipping the test on openSUSE 11.0.
22825         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
22826
22827 2010-05-13  Bruno Haible  <bruno@clisp.org>
22828
22829         Avoid useless warnings from G++.
22830         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
22831         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
22832         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22833
22834 2010-05-11  Jim Meyering  <meyering@redhat.com>
22835
22836         maint.mk: tweak preceding change
22837         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
22838         regexps tighter by anchoring at EOL, and make the new group "shy"
22839         for slightly decreased overhead.
22840
22841 2010-05-11  Eric Blake  <eblake@redhat.com>
22842
22843         maint.mk: gnulib doesn't guarantee NSIG
22844         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
22845
22846 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22847
22848         test-pwrite.c: Remove unused variable declaration.
22849         * tests/test-pwrite.c (main): Remove read_buf declaration.
22850
22851         Remove useless test-pwrite.sh file.
22852         * tests/test-pwrite.sh: Delete file.
22853         * modules/pwrite-tests: Remove references.
22854         Reported by Bruno Haible.
22855
22856 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
22857
22858         init.sh: fix a typo
22859         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
22860
22861 2010-05-10  Jim Meyering  <meyering@redhat.com>
22862
22863         maint.mk: avoid using a temporary file in the always-defined-macros check
22864         * top/maint.mk (.re-defmac): Remove rule.
22865         (gl_trap_): Remove definition.
22866         (sc_prohibit_always-defined_macros): Rewrite not to create and
22867         depend on a temporary file.  Instead, depend on GNU grep's ability
22868         to read a list of regular expressions from stdin when given "-f -".
22869
22870 2010-05-09  Bruno Haible  <bruno@clisp.org>
22871
22872         Update to GNU gettext 0.18, part 1.
22873         * m4/gettext.m4: Update to GNU gettext 0.18.
22874         * m4/intl.m4: Likewise.
22875         * m4/po.m4: Likewise.
22876         * modules/gettext (Files): Add m4/fcntl-o.m4.
22877         (configure.ac): Require gettext infrastructure from version 0.18.
22878
22879 2010-05-09  Jim Meyering  <meyering@redhat.com>
22880
22881         init.sh: enable MALLOC_PERTURB_
22882         * tests/init.sh: Enable glibc's malloc-perturbing option.
22883
22884         maint.mk: improve sc_cross_check_PATH_usage_in_tests
22885         With my recent change in init.sh from the two-line form:
22886             -#   : ${srcdir=.}
22887             -#   . "$srcdir/init.sh"; path_prepend_ .
22888             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
22889         I noticed that using the one-line form would cause this test
22890         to fail with a false-positive, or to stop working altogether,
22891         depending on whether help-version changed or all the tests did.
22892         * top/maint.mk (_hv_regex): Remove this definition.
22893         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
22894         (_hv_regex_strong): Use a stronger regex to check for conformance.
22895         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
22896         Give a separate diagnostic for lack of conforming use.
22897
22898         maint.mk: prohibit definition of symbols defined by gnulib
22899         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
22900         definition of symbols defined by gnulib.
22901
22902 2010-05-09  Bruno Haible  <bruno@clisp.org>
22903
22904         acl: Avoid test failure on Cygwin-hosted mingw.
22905         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
22906
22907 2010-05-09  Bruno Haible  <bruno@clisp.org>
22908
22909         error: Use system's fcntl function.
22910         * lib/error.c (fcntl): Undefine.
22911
22912 2010-05-09  Jim Meyering  <meyering@redhat.com>
22913
22914         verify: adjust formatting to be more consistent
22915         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
22916         argument-list '('s, and after one comma.
22917
22918 2010-05-09  Bruno Haible  <bruno@clisp.org>
22919
22920         error: More reliable output on mingw.
22921         * lib/error.c: Include <windows.h>.
22922         (is_open): New function.
22923         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
22924         defined.
22925
22926 2010-05-09  Bruno Haible  <bruno@clisp.org>
22927
22928         vasnprintf: Fix syntax errors in libintl build on mingw.
22929         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
22930         pad_ourselves and prec_ourselves after use.
22931
22932 2010-05-08  Bruno Haible  <bruno@clisp.org>
22933
22934         * lib/config.charset: Update comments for Cygwin 1.7.
22935         * lib/localcharset.c: Likewise.
22936
22937 2010-05-07  Jim Meyering  <meyering@redhat.com>
22938
22939         init.sh: improve comments
22940         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
22941         . "${srcdir=.}/init.sh"; path_prepend_ .
22942         Add a note about path_prepend_ and the alternative of using
22943         TESTS_ENVIRONMENT.
22944
22945 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
22946
22947         exclude: Unescape hashed patterns in wildcard mode.
22948         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
22949         to the hash list.
22950         * tests/test-exclude8.sh: New test case.
22951         * modules/exclude-tests: Add new test.
22952
22953 2010-05-05  Eric Blake  <eblake@redhat.com>
22954
22955         verify: automate tests
22956         * modules/verify-tests: New module.
22957         * tests/test-verify.sh: New file.
22958         * tests/test-verify.c: Guard each negative test with a unique id.
22959         Also avoid warning about unused left hand of comma expressions.
22960
22961 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
22962
22963         Further improvements to verify.h, suggested by Eric Blake.
22964         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
22965         the GL_* versions, to avoid collision with OpenGL.
22966         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
22967         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
22968         than testing merely whether it's defined.
22969
22970         Modify verify.h to pacify gcc -Wredundant_decls.
22971         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
22972         These use the prefix "GL_" since they're likely to be useful elsewhere.
22973         We may need to break them out into a different .h file.
22974         (__COUNTER__): Define to 0 if the compiler doesn't support it.
22975         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
22976         of verify_function__.
22977
22978 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22979
22980         Tests for module pwrite.
22981         * modules/pwrite-tests: New file.
22982         * tests/test-pwrite.sh: New file.
22983         * tests/test-pwrite.c: New file.
22984
22985         New module pwrite.
22986         * lib/unistd.in.h (pwrite): New declaration.
22987         * lib/pwrite.c: New file, from glibc with modifications.
22988         * m4/pwrite.m4: New file.
22989         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
22990         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
22991         REPLACE_PWRITE.
22992         * modules/pwrite: New file.
22993         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
22994         REPLACE_PWRITE.
22995         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
22996         * doc/posix-functions/pwrite.texi: Mention the new module.
22997
22998 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
22999
23000         pread: Update documentation.
23001         * doc/posix-functions/pread.texi: Mention the 'pread' module.
23002
23003 2010-05-04  Eric Blake  <eblake@redhat.com>
23004
23005         docs: update cygwin progress
23006         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
23007         this bug.
23008         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
23009         Added in cygwin 1.7.2.
23010         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
23011         Likewise.
23012         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
23013         Likewise.
23014         * doc/glibc-functions/dup3.texi (dup3): Likewise.
23015         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
23016         * doc/glibc-functions/accept4.texi (accept4): Likewise.
23017         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
23018         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
23019         Mention nproc module.
23020         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
23021         bug in cygwin 1.7.5 addition.
23022         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
23023         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
23024         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
23025         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
23026         1.7.5.
23027         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
23028         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
23029         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
23030         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
23031         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
23032         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
23033         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
23034         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
23035         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
23036         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
23037         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
23038         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
23039         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
23040         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
23041         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
23042         Likewise.
23043         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
23044         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
23045         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
23046         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
23047         Likewise.
23048         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
23049         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
23050         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
23051         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
23052         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
23053         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
23054         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
23055         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
23056         Likewise.
23057         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
23058         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
23059         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
23060         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
23061         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
23062         Likewise.
23063         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
23064         Likewise.
23065         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
23066         Likewise.
23067         * doc/glibc-functions/xdrrec_endofrecord.texi
23068         (xdrrec_endofrecord): Likewise.
23069         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
23070         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
23071         Likewise.
23072         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
23073         Likewise.
23074
23075 2010-05-04  Jim Meyering  <meyering@redhat.com>
23076
23077         gendocs.sh: make its "-s FILE" option more useful
23078         * build-aux/gendocs.sh: When honoring the -s FILE option, update
23079         $PACKAGE to reflect the probably-different basename of "FILE".
23080
23081 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
23082
23083         bootstrap: don't ignore download_po_files failure
23084         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
23085         failure.
23086
23087 2010-05-03  Jim Meyering  <meyering@redhat.com>
23088
23089         maint.mk: allow to pass options to gendocs.sh
23090         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
23091         (gendocs_options_): New overridable variable.
23092
23093         gnu-web-doc-update: don't ignore configure or build failure
23094         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
23095
23096         announce-gen: backslash-escape '@'s in --help output
23097         * build-aux/announce-gen: Fix syntax errors.
23098
23099         maint.mk, announce-gen: allow project-specific announcement mail headers
23100         * top/maint.mk (translation_project_): Define default.
23101         (announcement_Cc_, announcement_mail_headers_): Likewise.
23102         (announcement): Invoke announce-gen with new --mail-headers option.
23103         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
23104
23105         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
23106         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
23107         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
23108         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
23109         line in the "err2" output file when running "make check" in verbose
23110         mode (i.e., with set -x enabled).
23111
23112 2010-05-03  Bruno Haible  <bruno@clisp.org>
23113
23114         wctob: Fix for weird platforms.
23115         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
23116         argument value.
23117
23118 2010-05-03  Jim Meyering  <meyering@redhat.com>
23119
23120         maint.mk: prohibit unwarranted use of <strings.h>
23121         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
23122         strings.h in a file that does not also use strcasecmp, strncasecmp,
23123         ffs or ffsll.
23124
23125         maint.mk: remove obsolete comments
23126         * top/maint.mk: Remove stale, commented-out rules.
23127
23128 2010-05-02  Bruno Haible  <bruno@clisp.org>
23129
23130         wcwidth: Declare also when it's aliased.
23131         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
23132         macro.
23133
23134 2010-05-02  Bruno Haible  <bruno@clisp.org>
23135
23136         Fix regression from 2010-04-25.
23137         * gnulib-tool (func_modules_transitive_closure): Check the status of
23138         all modules, not only of the tests that are of the form foo-tests where
23139         foo is a module.
23140
23141 2010-05-02  Bruno Haible  <bruno@clisp.org>
23142
23143         wctob: Work around nasty Cygwin 1.7.2 bug.
23144         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
23145         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
23146
23147 2010-05-01  Bruno Haible  <bruno@clisp.org>
23148
23149         fpurge: Sharper test.
23150         * tests/test-fpurge.c (main): Add one more ftell check.
23151         * modules/fpurge-tests (Depends-on): Add ftell.
23152         Suggested by Eric Blake.
23153
23154 2010-05-01  Bruno Haible  <bruno@clisp.org>
23155
23156         ftello: Another test.
23157         * tests/test-ftello3.c: New file.
23158         * modules/ftello-tests (Files): Add it.
23159         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23160         MOSTLYCLEANFILES.
23161
23162         ftell: Another test.
23163         * tests/test-ftell3.c: New file.
23164         * modules/ftell-tests (Files): Add it.
23165         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
23166         MOSTLYCLEANFILES.
23167
23168 2010-05-01  Bruno Haible  <bruno@clisp.org>
23169
23170         ftell, ftello: Work around Solaris bug.
23171         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
23172         * lib/ftello.c: Include stdio-impl.h.
23173         (ftello): On Solaris, when _IOWRT is set, compute the result without
23174         looking at _IOREAD.
23175         * modules/ftello (Files): Add lib/stdio-impl.h.
23176         * doc/posix-functions/ftell.texi: Mention Solaris bug.
23177         * doc/posix-functions/ftello.texi: Likewise.
23178         Reported by Eric Blake.
23179
23180 2010-05-01  Bruno Haible  <bruno@clisp.org>
23181
23182         freading: Adapt to special meaning of _IOREAD flag on Solaris.
23183         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
23184         the _IOWRT flag is also set.
23185
23186 2010-05-01  Bruno Haible  <bruno@clisp.org>
23187
23188         Fix doc about a HP-UX stdio bug.
23189         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
23190         * doc/posix-functions/ftello.texi: Likewise.
23191
23192 2010-05-01  Bruno Haible  <bruno@clisp.org>
23193
23194         lseek test: Fix failure on Solaris.
23195         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
23196         output.
23197
23198 2010-04-30  Jim Meyering  <meyering@redhat.com>
23199
23200         bootstrap: don't ignore failure to generate po*/Makevars
23201         * build-aux/bootstrap (with_gettext): Don't ignore failure
23202         to create po/Makevars or runtime-po/Makevars.
23203
23204 2010-04-29  Eric Blake  <eblake@redhat.com>
23205
23206         headers: relax license to LGPLv2+
23207         * modules/fcntl-h (License): Relax license.
23208         * modules/getopt-posix (License): Likewise.
23209         * modules/locale (License): Likewise.
23210         * modules/math (License): Likewise.
23211         * modules/pty (License): Likewise.
23212         * modules/sched (License): Likewise.
23213         * modules/search (License): Likewise.
23214         * modules/spawn (License): Likewise.
23215         * modules/stdarg (License): Likewise.
23216         * modules/sysexits (License): Likewise.
23217
23218 2010-04-29  Jim Meyering  <meyering@redhat.com>
23219
23220         inttypes: relax license to LGPLv2+
23221         * modules/inttypes (License): Relax license.
23222
23223 2010-04-29  Simon Josefsson  <simon@josefsson.org>
23224
23225         * top/maint.mk (indent): Run twice to produce idempotent results.
23226
23227 2010-04-28  Bruno Haible  <bruno@clisp.org>
23228
23229         getdate: Generate getdate.c in the source directory.
23230         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
23231         MOSTLYCLEANFILES.
23232         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
23233
23234 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
23235
23236         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
23237         is not declared as a const *; avoid warnings in that case.
23238
23239 2010-04-28  Eric Blake  <eblake@redhat.com>
23240
23241         canonicalize-lgpl: avoid compiler warning
23242         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
23243         declaration' / 'extraneous semicolon' warning with some compilers.
23244         Reported by Andreas Gruenbacher.
23245
23246 2010-04-28  Jim Meyering  <meyering@redhat.com>
23247
23248         init.sh: ensure a more reliable exit status when exiting via trap
23249         * tests/init.sh (setup_): Don't rely on $? in signal handler.
23250         Inspired by patches from Dmitry V. Levin.
23251         Also trap on signal 3 (SIGQUIT).
23252
23253 2010-04-27  Bruno Haible  <bruno@clisp.org>
23254
23255         Update doc about utimes().
23256         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
23257         'utimens' module.
23258         Reported by Andreas Gruenbacher <agruen@suse.de>.
23259
23260 2010-04-27  Eric Blake  <eblake@redhat.com>
23261
23262         full-read, full-write: relax license
23263         * modules/full-read (License): Drop to LGPLv2+.
23264         * modules/full-write (License): Likewise.
23265         * modules/safe-read (License): Likewise.
23266         * modules/safe-write (License): Likewise.
23267
23268         pthread: mention library for linking
23269         * modules/pthread (Link): Mention $(LIB_PTHREAD).
23270
23271 2010-04-27  Jim Meyering  <meyering@redhat.com>
23272
23273         maint.mk: fix a bug introduced in last change
23274         * top/maint.mk (gl_assured_headers_): Now that all names are on
23275         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
23276         is not anchored to end of word, it should be adequate.
23277
23278         maint.mk: avoid side-effect in latest syntax-check
23279         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
23280         to run commands via $(shell...), and hence to incur cost only when
23281         the new rule is actually run.
23282
23283         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
23284         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
23285         and use that to create a regexp used to detect all #if HAVE_..._H uses.
23286         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
23287         (gl_assured_headers_, az_, AZ_): Define.
23288         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
23289
23290 2010-04-26  Jim Meyering  <jim@meyering.net>
23291             Bruno Haible  <bruno@clisp.org>
23292
23293         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
23294         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
23295         Prompted by an exchange with Gilles Espinasse.
23296
23297 2010-04-26  Jim Meyering  <meyering@redhat.com>
23298
23299         git-version-gen: aesthetic tweak
23300         * build-aux/git-version-gen: Use "$nl" rather than a literal,
23301         so that the command remains on a single line.
23302
23303 2010-04-26  Eric Blake  <eblake@redhat.com>
23304
23305         git-version-gen: allow use on EBCDIC hosts
23306         * build-aux/git-version-gen (dirty): Use literal rather than tying
23307         ourselves to ascii.
23308         Reported by Steve Goetze.
23309
23310 2010-04-25  Bruno Haible  <bruno@clisp.org>
23311
23312         netdb: Add support for GNULIB_POSIXCHECK.
23313         * lib/netdb.in.h: Include warn-on-use.h.
23314         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
23315         functions are used when GNULIB_POSIXCHECK is defined and the
23316         getaddrinfo module is not in use.
23317         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
23318         freeaddrinfo, gai_strerror, getnameinfo are declared.
23319         * modules/netdb (Depends-on): Add warn-on-use.
23320         (Makefile.am): Include warn-on-use.h in netdb.h.
23321
23322 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
23323
23324         build: avoid "make check" failure without .git/ directory
23325         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
23326         there is no .git/ directory.
23327
23328 2010-04-25  Bruno Haible  <bruno@clisp.org>
23329
23330         ptsname: Fix misuse of ttyname_r.
23331         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
23332         of errno.
23333
23334 2010-04-25  Bruno Haible  <bruno@clisp.org>
23335
23336         ttyname_r: Make it work on Solaris 10.
23337         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
23338         if the system function has the POSIX declaration. Test whether the
23339         function fails if the buffer is less than 128 bytes large.
23340         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
23341         system's ttyname_r function. Provide a reasonably large buffer.
23342         * modules/ttyname_r (Depends-on): Add extensions.
23343         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
23344
23345 2010-04-25  Bruno Haible  <bruno@clisp.org>
23346
23347         Use the 'extensions' module for some more functions on Solaris.
23348         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
23349         module.
23350         * doc/posix-functions/ctime_r.texi: Likewise.
23351         * doc/posix-functions/getgrgid_r.texi: Likewise.
23352         * doc/posix-functions/getgrnam_r.texi: Likewise.
23353         * doc/posix-functions/getpwnam_r.texi: Likewise.
23354         * doc/posix-functions/getpwuid_r.texi: Likewise.
23355         * doc/posix-functions/readdir_r.texi: Likewise.
23356         * doc/posix-functions/sigwait.texi: Likewise.
23357         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
23358         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
23359
23360 2010-04-25  Bruno Haible  <bruno@clisp.org>
23361
23362         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
23363         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
23364         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
23365         * lib/ttyname_r.c: Include <limits.h>.
23366         (ttyname_r): Define using the system's ttyname_r function, if it exists
23367         and not on Solaris.
23368         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
23369         set.
23370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
23371         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
23372         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
23373         Reported by Simon Josefsson.
23374
23375 2010-04-25  Bruno Haible  <bruno@clisp.org>
23376
23377         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
23378         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
23379         * doc/posix-functions/ctime_r.texi: Likewise.
23380         * doc/posix-functions/getgrgid_r.texi: Likewise.
23381         * doc/posix-functions/getgrnam_r.texi: Likewise.
23382         * doc/posix-functions/getlogin_r.texi: Likewise.
23383         * doc/posix-functions/getpwnam_r.texi: Likewise.
23384         * doc/posix-functions/getpwuid_r.texi: Likewise.
23385         * doc/posix-functions/readdir_r.texi: Likewise.
23386         * doc/posix-functions/sigwait.texi: Likewise.
23387         * doc/posix-functions/ttyname_r.texi: Likewise.
23388         Reported by Simon Josefsson.
23389
23390 2010-04-25  Bruno Haible  <bruno@clisp.org>
23391
23392         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
23393         * gnulib-tool (func_usage): Document that --with-*-tests options apply
23394         also to --create-testdir.
23395         (func_acceptable): Don't consider the status of *-tests modules here.
23396         (func_modules_transitive_closure): Consider it here, before including a
23397         test module.
23398         (func_import, func_create_testdir): Set inc_all_direct_tests,
23399         inc_all_indirect_tests.
23400         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
23401         --create-testdir and --create-megatestdir.
23402
23403 2010-04-25  Bruno Haible  <bruno@clisp.org>
23404
23405         gnulib-tool: Add --without-*-tests options.
23406         * gnulib-tool (func_usage): Document the --without-*-tests options.
23407         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
23408         excl_unportable_tests): New variables.
23409         Fail if they are specified with --import or --update.
23410         (func_acceptable): Respect the excl_*_tests variables.
23411         (func_import): Set the excl_*_tests variables to empty.
23412
23413 2010-04-25  Simon Josefsson  <simon@josefsson.org>
23414             Bruno Haible  <bruno@clisp.org>
23415
23416         Work around a MacOS X 10.4 bug with openpty.
23417         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
23418         * tests/test-openpty.c (main): Close the master side explicitly.
23419
23420 2010-04-25  Bruno Haible  <bruno@clisp.org>
23421
23422         strnlen: Fix a C++ test error on MacOS X and Solaris.
23423         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
23424         the function is not declared.
23425         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
23426         Simon Josefsson.
23427
23428 2010-04-24  Bruno Haible  <bruno@clisp.org>
23429
23430         Avoid a gcc warning.
23431         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
23432         of correct type for %08lx directive.
23433         Reported by Eric Blake.
23434
23435 2010-04-24  Bruno Haible  <bruno@clisp.org>
23436
23437         vasnprintf: Correct errno value in case of out-of-memory.
23438         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
23439         or sprintf. Use the errno value from SNPRINTF or sprintf.
23440         Reported by Ian Beckwith <ianb@erislabs.net>.
23441
23442 2010-04-24  Bruno Haible  <bruno@clisp.org>
23443
23444         ansi-c++-opt: Find correct compiler when cross-compiling.
23445         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
23446         AC_CHECK_PROGS.
23447         Reported by Simon Josefsson.
23448
23449 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
23450
23451         vc-list-files: Add support for subversion
23452         * build-aux/vc-list-files: Use "svn list" to generate the list of
23453         files controlled by subversion.
23454
23455 2010-04-23  Jim Meyering  <meyering@redhat.com>
23456
23457         vc-list-files tests: convert to use init.sh
23458         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
23459         path_prepend_.
23460         Use Exit, not exit.
23461         Use skip_ rather than open coding it.
23462         Remove trap set-up and compare definitions.
23463         * tests/test-vc-list-files-git.sh: Likewise.
23464         * modules/vc-list-files-tests (Files): Add tests/init.sh.
23465
23466 2010-04-22  Simon Josefsson  <simon@josefsson.org>
23467
23468         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
23469         backup files.
23470
23471 2010-04-21  Simon Josefsson  <simon@josefsson.org>
23472
23473         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
23474
23475 2010-04-20  Eric Blake  <eblake@redhat.com>
23476
23477         tests: be robust to ignored SIGPIPE
23478         * tests/test-select-in.sh: Consume all output.
23479         * tests/test-lseek.sh: Check correct exit status, while avoiding
23480         EPIPE.
23481
23482 2010-04-20  Simon Josefsson  <simon@josefsson.org>
23483             Bruno Haible  <bruno@clisp.org>
23484
23485         visibility: Don't use -fvisibility if it leads to a warning.
23486         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
23487         yes, don't pretend that visibility works if it leads to a warning.
23488         Reported by Mike Gran <spk121@yahoo.com>.
23489
23490 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
23491
23492         * build-aux/bootstrap: Use "git -h" for testing for supported options
23493         instead of "git --help".  The short-form option only shows a summary,
23494         and doesn't layout the full man page.  Grep for the full option name
23495         in the summary, too.
23496
23497 2010-04-19  Bruno Haible  <bruno@clisp.org>
23498
23499         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
23500         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
23501         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
23502         mention of RELOCATABLE_STRIP.
23503         Reported by Sylvain Beucler <beuc@beuc.net>.
23504
23505 2010-04-19  Bruno Haible  <bruno@clisp.org>
23506
23507         * lib/diffseq.h: Fix typo in comment.
23508         Reported by Eric Blake.
23509
23510 2010-04-19  Bruno Haible  <bruno@clisp.org>
23511
23512         ioctl: Move autoconf macro to a .m4 file.
23513         * m4/ioctl.m4: New file, extracted from modules/ioctl.
23514         * modules/ioctl (Files): Add it.
23515         (configure.ac): Simply invoke gl_FUNC_IOCTL.
23516         Reported by Ian Beckwith <ianb@erislabs.net>.
23517
23518 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
23519             Bruno Haible  <bruno@clisp.org>
23520
23521         diffseq: Accommodate use-case with abstract arrays.
23522         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
23523         is not defined.
23524         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
23525         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
23526
23527 2010-04-18  Bruno Haible  <bruno@clisp.org>
23528
23529         * doc/posix-headers/stdbool.texi: More precise wording.
23530
23531 2010-04-17  Jim Meyering  <meyering@redhat.com>
23532
23533         maint.mk: use gnu-style indentation in an embedded perl script
23534         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
23535         Rename variable: s/two/last_two_bytes/
23536
23537 2010-04-16  Eric Blake  <eblake@redhat.com>
23538
23539         test-stdbool: skip test that fails with Solaris CC
23540         * tests/test-stdbool.c (f): Skip test that causes compilation
23541         error under buggy C++ compiler.
23542         * lib/stdbool.in.h: Document the limitation.
23543         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
23544
23545         setenv: allow compilation with C++
23546         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
23547         register keyword.
23548
23549         stdint: allow test to pass with C++
23550         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
23551
23552         getopt: allow compilation with C++
23553         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
23554         struct.
23555         * lib/getopt.c (_getopt_internal_r): Use correct type.
23556         Reported by Dagobert Michelson, via Joel E. Denny.
23557
23558 2010-04-16  Bruno Haible  <bruno@clisp.org>
23559
23560         Override netdb.h always.
23561         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
23562         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
23563         Reported by Ludovic Courtès <ludo@gnu.org>.
23564
23565 2010-04-15  Bruno Haible  <bruno@clisp.org>
23566
23567         openpty: Fix mistake from 2010-03-21.
23568         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
23569         Reported by Simon Josefsson.
23570
23571 2010-04-15  Eric Blake  <eblake@redhat.com>
23572
23573         test-forkpty: fix expected signature
23574         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
23575         Reported by Simon Josefsson.
23576
23577 2010-04-15  Jim Meyering  <meyering@redhat.com>
23578
23579         maint.mk: texinfo_suffix_re_: correct the default regexp
23580         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
23581
23582         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
23583         make it configurable via texinfo_suffix_re_.
23584
23585 2010-04-14  Eric Blake  <eblake@redhat.com>
23586
23587         strtok_r: relax license to LGPLv2+
23588         * modules/strtok_r (License): Relax license.
23589         Reported by Matthias Bolte.
23590
23591 2010-04-14  Simon Josefsson  <simon@josefsson.org>
23592
23593         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
23594         version 1.4.4 by default instead of requiring the libgcrypt
23595         version used during build.  This makes it possible to use the
23596         application with older but still binary compatible libgcrypt
23597         versions.
23598
23599 2010-04-13  Eric Blake  <eblake@redhat.com>
23600
23601         getopt-gnu: match recent glibc fixes and posix ruling
23602         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
23603         '+' handling, when requesting extensions.
23604         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
23605         'W;' handling.
23606         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
23607         * doc/posix-functions/getopt.texi (getopt): Document this.
23608         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23609         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23610         Likewise.
23611
23612         getopt: merge bug fixes from glibc
23613         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
23614         diagnostics.  Honor '+:' correctly.  Reject ';'.
23615
23616         getopt-posix: detect MacOS bug
23617         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
23618         optind when missing a required argument.
23619         * doc/posix-functions/getopt.texi (getopt): Document the bug.
23620         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
23621         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23622         Likewise.
23623
23624         getopt-posix: avoid spurious failure on Solaris
23625         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
23626         an indicator that setting optind=1 is sufficient for reset.
23627
23628         getopt-posix: avoid spurious failure on FreeBSD
23629         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
23630         in POSIX mode, since the m4 test uses it.
23631
23632         gnulib-tool: silence warning on BSD sh
23633         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
23634
23635 2010-04-13  Jim Meyering  <meyering@redhat.com>
23636
23637         doc: users.txt: GNU patch now uses gnulib
23638         * users.txt: Add patch.
23639
23640 2010-04-12  Jim Meyering  <meyering@redhat.com>
23641
23642         maint.mk: generate more concise timing data for syntax-check rules
23643         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
23644         " done" from each line that reports a syntax-check test duration.
23645
23646 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
23647
23648         git-version-gen: use "git update-index..." rather than "git status"
23649         * build-aux/git-version-gen: Use git update-index --refresh, not
23650         "git status".  With some versions of git, "git status" would fail
23651         to update the index and result in an unwarranted "-dirty" suffix.
23652
23653 2010-04-11  Jim Meyering  <meyering@redhat.com>
23654
23655         openat: correct formatting (no semantic change)
23656         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
23657         Suggested by Bruno Haible.
23658
23659 2010-04-11  Bruno Haible  <bruno@clisp.org>
23660
23661         Stricter declaration checking in testdirs.
23662         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23663         If for_tests is true, augment AM_CPPFLAGS to define
23664         GNULIB_STRICT_CHECKING.
23665         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
23666         GNULIB_STRICT_CHECKING is defined, verify that the function is
23667         declared.
23668
23669 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
23670             Bruno Haible  <bruno@clisp.org>
23671
23672         libunistring: Improve configure output.
23673         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
23674         Don't say "consider installing GNU libunistring" when checking again
23675         with libiconv.
23676
23677 2010-04-11  Bruno Haible  <bruno@clisp.org>
23678
23679         libunistring: Correct value of $LTLIBUNISTRING.
23680         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
23681         correct the value of $LTLIBUNISTRING.
23682
23683 2010-04-11  Bruno Haible  <bruno@clisp.org>
23684
23685         havelib: Add static libraries to LIBS in the right order.
23686         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
23687         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
23688
23689 2010-04-11  Bruno Haible  <bruno@clisp.org>
23690
23691         libunistring: Detect libunistring also when it depends on libiconv.
23692         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
23693         the second AC_LIB_HAVE_LINKFLAGS invocation.
23694
23695 2010-04-11  James Youngman  <jay@gnu.org>
23696
23697         close-stream: declare local scalars to be "const"
23698         * lib/close-stream.c (close_stream): Make boolean variables const
23699         to document the fact that we set but do not change them.
23700
23701 2010-04-11  Bruno Haible  <bruno@clisp.org>
23702
23703         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
23704
23705 2010-04-11  Jim Meyering  <meyering@redhat.com>
23706
23707         maint.mk: don't include dist-check.mk
23708         * top/maint.mk: Remove bogus include directive.
23709
23710         maint.mk: improve empty-line-at-EOF check
23711         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
23712         solution, rather than tail+Perl-based one.  The latter would read
23713         a few kilobytes from the end of each file, and did not handle empty
23714         files properly.
23715
23716         maint.mk: print the elapsed time for each syntax-check rule
23717         * top/maint.mk (sc_m_rules_): Save start time in a file.
23718         (sc_z_rules_): New rules: remove temp file and print elapsed time.
23719         (local-check): Interpose the .z rules
23720
23721 2010-04-11  Jim Meyering  <meyering@redhat.com>
23722
23723         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
23724         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
23725         empty file with one that ends in an empty line.
23726
23727 2010-04-10  Bruno Haible  <bruno@clisp.org>
23728
23729         mkdir: Make it work on mingw64.
23730         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
23731         * lib/mkdir.c: Update comment.
23732         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
23733
23734 2010-04-10  Bruno Haible  <bruno@clisp.org>
23735
23736         Don't override improved macro from newer autoconf.
23737         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
23738         autoconf >= 2.62.
23739         Reported by Joel E. Denny <jdenny@clemson.edu>.
23740
23741 2010-04-10  Jim Meyering  <meyering@redhat.com>
23742
23743         maint.mk: new syntax-check rule: prohibit empty lines at end of file
23744         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
23745
23746         maint.mk: correct a diagnostic
23747         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
23748         in diagnostic; now use $prohibit.
23749
23750 2010-04-10  Bruno Haible  <address@hidden>
23751
23752         fchownat: Fix a C++ test error on Solaris 8.
23753         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
23754         the function does not exist.
23755
23756 2010-04-10  Bruno Haible  <bruno@clisp.org>
23757
23758         vasnprintf: Add more tests.
23759         * tests/test-vasnprintf-posix.c: Include <errno.h>.
23760         (test_function): Test converting an invalid wide string.
23761
23762         vasnprintf: Correct handling of unconvertible wide string arguments.
23763         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
23764         VASNPRINTF.
23765         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
23766         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
23767         smaller than the expected maximum need for the directive. Set errno to
23768         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
23769         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
23770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
23771         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
23772         * modules/vasnprintf (Files): Add m4/printf.m4.
23773         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23774
23775 2010-04-10  Bruno Haible  <bruno@clisp.org>
23776
23777         vasnprintf: Fix crash in %ls directive.
23778         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
23779         string is passed as argument to %ls, with no precision and no width.
23780         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23781
23782 2010-04-10  Bruno Haible  <bruno@clisp.org>
23783
23784         vasnprintf: Fix multiple test failures on mingw.
23785         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
23786         _snprintf, or snwprintf, not _snwprintf.
23787
23788 2010-04-10  Bruno Haible  <bruno@clisp.org>
23789
23790         write: Fix a C++ test error on mingw.
23791         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
23792
23793 2010-04-10  Bruno Haible  <bruno@clisp.org>
23794
23795         vasnprintf test: Reduce code duplication.
23796         * tests/test-vasnprintf.c (test_function): New function, extracted from
23797         test_vasnprintf.
23798         (test_vasnprintf, test_asnprintf): Invoke it.
23799
23800 2010-04-10  Bruno Haible  <bruno@clisp.org>
23801
23802         strnlen: Fix warning in C++ mode on MacOS X.
23803         * lib/string.in.h (strnlen): Use the modern idiom.
23804         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
23805         defining strnlen as a macro already in <config.h>.
23806         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23807         REPLACE_STRNLEN.
23808         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
23809         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23810
23811 2010-04-08  James Youngman  <jay@gnu.org>
23812
23813         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
23814         the example.
23815
23816 2010-04-09  Jim Meyering  <meyering@redhat.com>
23817
23818         maint.mk: print better diagnostic when there is no $(_hv_file)
23819         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
23820         announce that when $(_hv_file) (aka help-version) does not exist.
23821
23822         init.sh: run tr in the "C" locale to avoid multibyte interpretation
23823         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
23824         not try to interpret its random input bytes.  Jarno Rajahalme reported
23825         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
23826         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
23827         (mktempd_): Likewise, just in case.
23828
23829         ftruncate: add two years to projected module removal date: 2012
23830         * m4/ftruncate.m4: Adjust comments.
23831
23832         ftruncate: mark module as obsolete; even MinGW provides it, now
23833         * modules/ftruncate (Status): Obsolete.
23834         (Notice): Say that.
23835         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
23836         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
23837
23838 2010-04-08  Bruno Haible  <bruno@clisp.org>
23839
23840         Fix side effects from tests-related modules.
23841         * modules/dprintf-posix (Comment): New section.
23842         * modules/fprintf-posix (Comment): Likewise.
23843         * modules/obstack-printf-posix (Comment): Likewise.
23844         * modules/printf-posix (Comment): Likewise.
23845         * modules/snprintf-posix (Comment): Likewise.
23846         * modules/sprintf-posix (Comment): Likewise.
23847         * modules/vasnprintf-posix (Comment): Likewise.
23848         * modules/vasprintf-posix (Comment): Likewise.
23849         * modules/vdprintf-posix (Comment): Likewise.
23850         * modules/vfprintf-posix (Comment): Likewise.
23851         * modules/vprintf-posix (Comment): Likewise.
23852         * modules/vsnprintf-posix (Comment): Likewise.
23853         * modules/vsprintf-posix (Comment): Likewise.
23854         * modules/xprintf-posix (Comment): Likewise.
23855         * modules/xvasprintf-posix (Comment): Likewise.
23856         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
23857         * modules/floorf-tests (Depends-on): Likewise.
23858         * modules/round-tests (Depends-on): Likewise.
23859         * modules/roundf-tests (Depends-on): Likewise.
23860         * modules/trunc-tests (Depends-on): Likewise.
23861         * modules/truncf-tests (Depends-on): Likewise.
23862         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
23863         'fprintf-posix' module is not present.
23864         * tests/test-floorf2.c (check): Likewise.
23865         * tests/test-trunc2.c (check): Likewise.
23866         * tests/test-truncf2.c (check): Likewise.
23867         * tests/test-round2.c (equal): Likewise.
23868         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23869
23870 2010-04-07  Karl Berry  <karl@gnu.org>
23871
23872         * config/srclist.txt,
23873         * config/srclistvars.sh,
23874         * config/srclist-update: doc fixes.
23875
23876 2010-04-07  Jim Meyering  <meyering@redhat.com>
23877
23878         maint.mk: add a PATH crosschecking syntax-check rule
23879         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
23880         Useful if you use a test like the one in help-version (coreutils,
23881         diffutils, grep, gzip) that ensures $(VERSION) matches what is
23882         printed by prog --version.
23883
23884 2010-04-06  Bruno Haible  <bruno@clisp.org>
23885
23886         Fix link error on mingw.
23887         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
23888         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
23889
23890 2010-04-06  Bruno Haible  <bruno@clisp.org>
23891
23892         Assume rmdir exists.
23893         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
23894
23895 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
23896
23897         doc: update users.txt
23898         * users.txt: Add gcal.
23899
23900 2010-04-06  Jim Meyering  <meyering@redhat.com>
23901
23902         init.sh: simply unset TMPDIR rather than risking env -i
23903         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
23904         although it probably works fine on all Unix-based systems, some
23905         systems (Cygwin?) cannot tolerate a totally cleared environment.
23906         Suggestion from Eric Blake.
23907
23908 2010-04-06  Jim Meyering  <meyering@redhat.com>
23909
23910         init.sh: portability fix: use env's POSIX-specified -i option not -u
23911         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
23912         than unportable env -u.  Solaris 5.11's env lacks support for -u.
23913
23914 2010-04-05  Bruno Haible  <bruno@clisp.org>
23915
23916         btowc: Work around Cygwin 1.7.2 bug.
23917         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
23918         does not map NUL to 0.
23919         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
23920
23921 2010-04-05  Bruno Haible  <bruno@clisp.org>
23922
23923         Make the multithread modules work on Cygwin 1.7.2.
23924         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
23925         imported symbols can be declared weak, so that it returns "no" on
23926         Cygwin 1.7.2.
23927
23928 2010-04-05  Bruno Haible  <bruno@clisp.org>
23929
23930         Use the module 'strncat'.
23931         * modules/unistr/u8-strncat (Depends-on): Add strncat.
23932
23933         Tests for module 'strncat'.
23934         * modules/strncat-tests: New file.
23935         * tests/test-strncat.c: New file.
23936
23937         New module 'strncat'.
23938         * lib/string.in.h (strncat): New declaration.
23939         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
23940         * m4/strncat.m4: New file, based on m4/memchr.m4.
23941         * modules/strncat: New file.
23942         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
23943         is declared.
23944         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
23945         REPLACE_STRNCAT.
23946         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
23947         REPLACE_STRNCAT.
23948         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
23949         module.
23950         * tests/test-string-c++.cc: Check signature of strncat.
23951
23952 2010-04-05  Jim Meyering  <meyering@redhat.com>
23953
23954         xstrtoumax-tests: convert to use init.sh
23955         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
23956         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23957         Use Exit, not exit.
23958         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23959
23960         xstrtoimax-tests: convert to use init.sh
23961         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
23962         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
23963         Use Exit, not exit.
23964         Remove uses of $EXEEXT and "./" to run a program in the current dir.
23965
23966 2010-04-05  Bruno Haible  <bruno@clisp.org>
23967
23968         sys_socket: Avoid #define replacements in C++ mode.
23969         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
23970         warning to the function if possible, rather than #defining the symbol
23971         to a dysfunctional alias.
23972
23973 2010-04-05  Bruno Haible  <bruno@clisp.org>
23974
23975         fseeko: Fix C++ test error on mingw.
23976         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
23977         gl_FUNC_FSEEKO.
23978         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
23979         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
23980         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
23981         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
23982
23983 2010-04-05  Bruno Haible  <bruno@clisp.org>
23984
23985         duplocale: Improve test output.
23986         * tests/test-duplocale.c (main): Print reason for skipped test.
23987
23988 2010-04-05  Bruno Haible  <bruno@clisp.org>
23989
23990         Assume rmdir exists.
23991         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
23992         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
23993
23994 2010-04-05  Bruno Haible  <bruno@clisp.org>
23995
23996         Fix link error on Solaris 8 with cc.
23997         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
23998
23999 2010-04-05  Bruno Haible  <bruno@clisp.org>
24000
24001         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24002         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
24003
24004 2010-04-05  Bruno Haible  <bruno@clisp.org>
24005
24006         vasprintf: Update documentation.
24007         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
24008
24009 2010-04-05  Bruno Haible  <bruno@clisp.org>
24010
24011         ptsname: Improve test.
24012         * tests/test-ptsname.c (main): Also try the various master names of BSD
24013         systems.
24014
24015 2010-04-05  Bruno Haible  <bruno@clisp.org>
24016
24017         memchr: Avoid a possible C++ test error.
24018         * lib/string.in.h (memchr): Provide declaration if function is missing.
24019         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
24020         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
24021         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
24022         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
24023
24024 2010-04-05  Bruno Haible  <bruno@clisp.org>
24025
24026         strtok_r: Improve idiom.
24027         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
24028         AC_LIBOBJ is used.
24029
24030 2010-04-05  Bruno Haible  <bruno@clisp.org>
24031
24032         strdup: Improve idiom.
24033         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
24034         AC_LIBOBJ is used.
24035         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
24036         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
24037         when AC_LIBOBJ is used.
24038
24039 2010-04-05  Bruno Haible  <bruno@clisp.org>
24040
24041         mbsinit, mbrtowc, wcrtomb: Improve idioms.
24042         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
24043         don't set REPLACE_MBSINIT to 1.
24044         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
24045         don't set REPLACE_MBRTOWC to 1.
24046         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
24047         exist, don't set REPLACE_MBSRTOWCS to 1.
24048         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
24049         exist, don't set REPLACE_MBSNRTOWCS to 1.
24050         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
24051         don't set REPLACE_WCRTOMB to 1.
24052         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
24053         exist, don't set REPLACE_WCSRTOMBS to 1.
24054         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
24055         exist, don't set REPLACE_WCSNRTOMBS to 1.
24056
24057 2010-04-05  Bruno Haible  <bruno@clisp.org>
24058
24059         ldexpl: Improve idiom.
24060         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
24061         make sure to set HAVE_DECL_LDEXPL to 0.
24062
24063 2010-04-05  Jim Meyering  <meyering@redhat.com>
24064
24065         xstrtol-tests: convert to use init.sh
24066         * modules/xstrtol-tests (Files): Add tests/init.sh.
24067         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24068         Use Exit, not exit.
24069         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24070
24071         atexit-tests: convert to use init.sh
24072         * modules/atexit-tests (Files): Add tests/init.sh.
24073         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
24074         Use Exit, not exit.
24075         Remove uses of $EXEEXT and "./" to run a program in the current dir.
24076
24077         init.sh: fix typo
24078         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
24079
24080         init.sh: make it easier for a test script to write to the tty, ...
24081         when using automake's parallel-tests mode.
24082         * tests/init.sh (stderr_fileno_): Define overridable variable.
24083         (warn_): New function, to use it.
24084         (fail_, skip_, framework_failure_): Use warn_.
24085
24086 2010-04-04  Bruno Haible  <bruno@clisp.org>
24087
24088         btowc: Avoid warning.
24089         * lib/btowc.c: Include <stdlib.h>.
24090         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
24091
24092 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24093             Bruno Haible  <bruno@clisp.org>
24094
24095         wchar: Port to NetBSD 1.5.
24096         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
24097         * lib/wctype.in.h (WEOF): Likewise.
24098
24099 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
24100             Bruno Haible  <bruno@clisp.org>
24101
24102         Port extended stdio to NetBSD 1.5.
24103         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
24104         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
24105         older.
24106
24107 2010-04-04  Bruno Haible  <bruno@clisp.org>
24108
24109         string: Remove unused substitution.
24110         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
24111         HAVE_DECL_STRERROR.
24112         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
24113
24114 2010-04-04  Bruno Haible  <bruno@clisp.org>
24115
24116         strtod: Avoid a possible C++ test error.
24117         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
24118         set REPLACE_STRTOD.
24119
24120 2010-04-04  Bruno Haible  <bruno@clisp.org>
24121
24122         strerror: Update documentation.
24123         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
24124
24125 2010-04-04  Bruno Haible  <bruno@clisp.org>
24126
24127         stdio: Fix some C++ test errors on Solaris 8 with GCC.
24128         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
24129         _GL_CXXALIAS_SYS_CAST.
24130
24131 2010-04-04  Bruno Haible  <bruno@clisp.org>
24132
24133         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
24134         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
24135         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
24136         REPLACE_FREXPL to 1.
24137         * doc/posix-functions/frexpl.texi: Update documentation.
24138
24139 2010-04-04  Bruno Haible  <bruno@clisp.org>
24140
24141         math: Fix some C++ test errors on Solaris 8 and Cygwin.
24142         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
24143
24144 2010-04-04  Bruno Haible  <bruno@clisp.org>
24145
24146         Implement nanosleep for native Windows.
24147         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
24148
24149 2010-04-04  Bruno Haible  <bruno@clisp.org>
24150
24151         math: Fix some C++ test errors on Solaris 8.
24152         * lib/math.in.h (truncf, trunc): Use simpler idiom.
24153
24154 2010-04-04  Bruno Haible  <bruno@clisp.org>
24155
24156         math: Fix some C++ test errors on Cygwin.
24157         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
24158         truncl): Provide declaration if the system does not have it.
24159         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
24160         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
24161         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
24162         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
24163         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
24164         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
24165         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
24166         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
24167         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
24168         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
24169         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
24170         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
24171         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
24172         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
24173         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
24174         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
24175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
24176         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24177         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24178         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
24179         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
24180         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
24181
24182 2010-04-04  Bruno Haible  <bruno@clisp.org>
24183
24184         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
24185         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
24186         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
24187         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
24188         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24189         * m4/isinf.m4 (gl_ISINF): Likewise.
24190         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24191
24192 2010-04-04  Bruno Haible  <bruno@clisp.org>
24193
24194         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
24195         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24196
24197 2010-04-04  Bruno Haible  <bruno@clisp.org>
24198
24199         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
24200         * modules/tmpfile (configure.ac): Update.
24201
24202         tmpfile: Fix C++ test error on mingw.
24203         * lib/stdio.in.h (tmpfile): New declaration.
24204         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
24205         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
24206         * modules/tmpfile (Depends-on): Add stdio.
24207         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
24208         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
24209         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
24210         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
24211         REPLACE_TMPFILE.
24212         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
24213
24214 2010-04-04  Bruno Haible  <bruno@clisp.org>
24215
24216         ioctl: Fix C++ test error on mingw.
24217         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
24218         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
24219         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
24220
24221 2010-04-03  Bruno Haible  <bruno@clisp.org>
24222
24223         wcwidth: Fix C++ test error on mingw.
24224         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
24225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
24226         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
24227
24228 2010-04-03  Bruno Haible  <bruno@clisp.org>
24229
24230         nanosleep: Fix C++ test error on mingw.
24231         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
24232         * lib/time.in.h (nanosleep): Use modern idiom.
24233         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
24234         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
24235         REPLACE_NANOSLEEP to 1.
24236         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
24237         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
24238
24239 2010-04-03  Bruno Haible  <bruno@clisp.org>
24240
24241         strptime: Fix C++ test error on mingw.
24242         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
24243         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
24244         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
24245         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
24246         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
24247         not REPLACE_STRPTIME.
24248         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
24249         REPLACE_STRPTIME.
24250
24251 2010-04-03  Bruno Haible  <bruno@clisp.org>
24252
24253         timegm: Fix C++ test error on mingw.
24254         * lib/time.in.h (timegm): Use modern idiom.
24255         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
24256         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
24257         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
24258         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
24259
24260 2010-04-03  Bruno Haible  <bruno@clisp.org>
24261
24262         timegm: Assume declaration if function exists.
24263         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
24264         if it exists. Don't clobber ac_cv_func_timegm.
24265
24266 2010-04-03  Bruno Haible  <bruno@clisp.org>
24267
24268         time_r: Fix C++ test error on mingw.
24269         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
24270         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
24271         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
24272         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
24273         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
24274
24275 2010-04-03  Bruno Haible  <bruno@clisp.org>
24276
24277         time_r: Minor updates.
24278         * modules/time_r (Description): Mention the provided functions.
24279         * lib/time_r.c: Don't include <string.h>.
24280         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
24281         * doc/posix-functions/localtime_r.texi: Likewise.
24282
24283 2010-04-03  Bruno Haible  <bruno@clisp.org>
24284
24285         time: Fix regression introduced on 2010-03-08.
24286         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
24287         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
24288
24289 2010-04-03  Jim Meyering  <meyering@redhat.com>
24290
24291         maint.mk: don't silently disable project-specific syntax-check rules
24292         * top/maint.mk (_prohibit_regexp): Define, to help people realize
24293         that they need to convert their project-specific syntax-check rules
24294         to use the new _sc_search_regexp.
24295
24296 2010-04-03  Bruno Haible  <bruno@clisp.org>
24297
24298         fchdir: Fix regression introduced on 2010-03-08.
24299         * lib/unistd.in.h (fchdir): Fix declaration.
24300         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
24301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
24302         REPLACE_FCHDIR.
24303         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
24304         REPLACE_FCHDIR.
24305
24306 2010-04-03  Bruno Haible  <bruno@clisp.org>
24307
24308         getpagesize: Fix C++ test error on mingw.
24309         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
24310         system does not declare the function.
24311         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
24312         declared.
24313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24314         HAVE_DECL_GETPAGESIZE.
24315         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
24316
24317 2010-04-03  Bruno Haible  <bruno@clisp.org>
24318
24319         stdio: Make C++ tests work on mingw.
24320         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
24321         does not declare the function.
24322
24323 2010-04-03  Bruno Haible  <bruno@clisp.org>
24324
24325         ftello: Fix C++ test error on mingw.
24326         * lib/stdio.in.h (ftello): Use modern idiom.
24327         * lib/ftello.c (ftello): Renamed from rpl_ftello.
24328         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
24329         is missing and that it needs to be replaced.
24330         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
24331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
24332         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
24333
24334 2010-04-03  Bruno Haible  <bruno@clisp.org>
24335
24336         fseeko: Fix C++ test error on mingw.
24337         * lib/stdio.in.h (fseeko): Use modern idiom.
24338         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
24339         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
24340         is missing and that it needs to be replaced.
24341         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
24342         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
24343         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
24344
24345 2010-04-03  Bruno Haible  <bruno@clisp.org>
24346
24347         mkstemp: Fix C++ test error on mingw.
24348         * lib/stdlib.in.h (mkstemp): Use modern idiom.
24349         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
24350         function is missing and that it needs to be replaced.
24351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
24352         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
24353
24354 2010-04-03  Bruno Haible  <bruno@clisp.org>
24355
24356         stpncpy: Fix C++ test error on mingw.
24357         * lib/string.in.h (stpncpy): Use modern idiom.
24358         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
24359         function is missing and that it needs to be replaced.
24360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24361         REPLACE_STPNCPY.
24362         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
24363
24364 2010-04-03  Bruno Haible  <bruno@clisp.org>
24365
24366         sys_stat: Fix C++ test error on mingw.
24367         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
24368         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
24369
24370 2010-04-03  Bruno Haible  <bruno@clisp.org>
24371
24372         pty: Update doc.
24373         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
24374
24375 2010-04-03  Bruno Haible  <bruno@clisp.org>
24376
24377         unistd: Fix C++ test error on mingw.
24378         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
24379
24380 2010-04-03  Bruno Haible  <bruno@clisp.org>
24381
24382         Update doc regarding mingw.
24383         * doc/glibc-functions/openpty.texi: Update regarding mingw.
24384         * doc/glibc-functions/login_tty.texi: Likewise.
24385         * doc/glibc-functions/forkpty.texi: Likewise.
24386
24387 2010-04-03  Bruno Haible  <bruno@clisp.org>
24388
24389         stdlib: Avoid compilation failure of c-strtold on mingw.
24390         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
24391
24392 2010-04-03  Bruno Haible  <bruno@clisp.org>
24393
24394         locale: Make C++ tests work on Cygwin and mingw.
24395         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
24396         cannot provide the function.
24397         Reported by Simon Josefsson.
24398
24399 2010-04-03  Bruno Haible  <bruno@clisp.org>
24400
24401         localename: Port to MacOS X 10.6.
24402         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
24403         memory layout of the locales in MacOS X 10.6 as well.
24404         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
24405
24406 2010-04-02  Bruno Haible  <bruno@clisp.org>
24407
24408         gnulib-tool: Ensure that long-running tests are executed last.
24409         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
24410         running tests after the one for the other tests.
24411
24412 2010-04-02  Bruno Haible  <bruno@clisp.org>
24413
24414         gnulib-tool: Ensure the tests in the main directory are executed first.
24415         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
24416         start with the current directory.
24417
24418 2010-04-02  Bruno Haible  <bruno@clisp.org>
24419
24420         Tests for module 'havelib', moved here from GNU gettext.
24421         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
24422         modifications.
24423         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
24424         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
24425         with modifications.
24426         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
24427         modifications.
24428         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
24429         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
24430         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
24431         with modifications.
24432         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
24433         with modifications.
24434         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
24435         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
24436         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
24437         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
24438         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
24439         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
24440         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
24441         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
24442         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
24443         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
24444         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
24445         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
24446         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
24447         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
24448         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
24449         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
24450         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
24451         with modifications.
24452         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
24453         with modifications.
24454         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
24455         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
24456         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
24457         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
24458         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
24459         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
24460         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
24461         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
24462         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
24463         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
24464         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
24465         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
24466         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
24467         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
24468         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
24469         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
24470         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
24471         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
24472         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
24473         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
24474         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
24475         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
24476         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
24477         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
24478         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
24479         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
24480         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
24481         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
24482         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
24483         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
24484         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
24485         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
24486         * tests/havelib/rpathx/rpathx.c: New file, from
24487         gettext/autoconf-lib-link.
24488         * tests/havelib/rpathx/Makefile.am: New file, from
24489         gettext/autoconf-lib-link.
24490         * tests/havelib/rpathx/configure.ac: New file, from
24491         gettext/autoconf-lib-link with modifications.
24492         * tests/havelib/rpathy/rpathy.c: New file, from
24493         gettext/autoconf-lib-link.
24494         * tests/havelib/rpathy/Makefile.am: New file, from
24495         gettext/autoconf-lib-link.
24496         * tests/havelib/rpathy/configure.ac: New file, from
24497         gettext/autoconf-lib-link with modifications.
24498         * tests/havelib/rpathz/rpathz.c: New file, from
24499         gettext/autoconf-lib-link.
24500         * tests/havelib/rpathz/Makefile.am: New file, from
24501         gettext/autoconf-lib-link.
24502         * tests/havelib/rpathz/configure.ac: New file, from
24503         gettext/autoconf-lib-link with modifications.
24504         * tests/havelib/rpathlx/usex.c: New file, from
24505         gettext/autoconf-lib-link.
24506         * tests/havelib/rpathlx/Makefile.am: New file, from
24507         gettext/autoconf-lib-link.
24508         * tests/havelib/rpathlx/configure.ac: New file, from
24509         gettext/autoconf-lib-link with modifications.
24510         * tests/havelib/rpathly/usey.c: New file, from
24511         gettext/autoconf-lib-link.
24512         * tests/havelib/rpathly/Makefile.am: New file, from
24513         gettext/autoconf-lib-link.
24514         * tests/havelib/rpathly/configure.ac: New file, from
24515         gettext/autoconf-lib-link with modifications.
24516         * tests/havelib/rpathlz/usez.c: New file, from
24517         gettext/autoconf-lib-link.
24518         * tests/havelib/rpathlz/Makefile.am: New file, from
24519         gettext/autoconf-lib-link.
24520         * tests/havelib/rpathlz/configure.ac: New file, from
24521         gettext/autoconf-lib-link with modifications.
24522         * tests/havelib/rpathlyx/usey.c: New file, from
24523         gettext/autoconf-lib-link.
24524         * tests/havelib/rpathlyx/Makefile.am: New file, from
24525         gettext/autoconf-lib-link.
24526         * tests/havelib/rpathlyx/configure.ac: New file, from
24527         gettext/autoconf-lib-link with modifications.
24528         * tests/havelib/rpathlzyx/usez.c: New file, from
24529         gettext/autoconf-lib-link.
24530         * tests/havelib/rpathlzyx/Makefile.am: New file, from
24531         gettext/autoconf-lib-link.
24532         * tests/havelib/rpathlzyx/configure.ac: New file, from
24533         gettext/autoconf-lib-link with modifications.
24534         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
24535         with modifications.
24536
24537 2010-04-02  Bruno Haible  <bruno@clisp.org>
24538
24539         gnulib-tool: Create distributed built sources also for the tests.
24540         * gnulib-tool (func_create_testdir): Also generate distributed built
24541         sources in the tests directory.
24542
24543 2010-04-02  Bruno Haible  <bruno@clisp.org>
24544
24545         gnulib-tool: Obey user's environment variables.
24546         * gnulib-tool (func_create_testdir): When creating built sources,
24547         respect the environment variables for autoconf, automake, etc. given by
24548         the user.
24549
24550 2010-04-02  Bruno Haible  <bruno@clisp.org>
24551
24552         gnulib-tool: Provide the value of --m4-base to modules.
24553         * gnulib-tool (func_import, func_create_testdir): Emit a definition
24554         of gl_m4_base.
24555
24556 2010-04-02  Eric Blake  <eblake@redhat.com>
24557
24558         maint.mk: fix some fallout
24559         * NEWS: Document the incompatible change, and its effect on cfg.mk.
24560         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
24561
24562 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24563
24564         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
24565         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
24566         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
24567         (sc_cast_of_x_alloc_return_value): Likewise.
24568         (sc_cast_of_alloca_return_value): Likewise.
24569         (sc_space_tab): Likewise.
24570         (sc_prohibit_atoi_atof): Likewise.
24571         (sc_prohibit_magic_number_exit): Likewise.
24572         (sc_error_exit_success): Likewise.
24573         (sc_file_system): Likewise.
24574         (sc_prohibit_have_config_h): Likewise.
24575         (sc_require_config_h): Likewise.
24576         (sc_prohibit_HAVE_MBRTOWC): Likewise.
24577         (sc_obsolete_symbols): Likewise.
24578         (sc_changelog): Likewise.
24579         (sc_program_name): Likewise.
24580         (sc_the_the): Likewise.
24581         (sc_trailing_blank): Likewise.
24582         (sc_two_space_separator_in_usage): Likewise.
24583         (sc_useless_cpp_parens): Likewise.
24584         (sc_GPL_version): Likewise.
24585         (sc_GFDL_version): Likewise.
24586         (sc_texinfo_acronym): Likewise.
24587         (sc_prohibit_cvs_keyword): Likewise.
24588         (sc_prohibit_stat_st_blocks): Likewise.
24589         (sc_prohibit_S_IS_definition): Likewise.
24590         (sc_redundant_const): Likewise.
24591         (sc_makefile_TAB_only_indentation): Likewise.
24592         (sc_m4_quote_check): Likewise.
24593         (sc_makefile_path_separator_check): Likewise.
24594         (sc_copyright_check): Likewise.
24595         (sc_Wundef_boolean): Likewise.
24596         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24597
24598         maint.mk: match 0 or more whitespace-before-function-call '('
24599         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
24600         that have zero or two-and-more spaces between the function name
24601         and the open parenthesis.
24602         (sc_error_message_warn_fatal): Likewise.
24603         (sc_error_message_uppercase): Likewise.
24604         (sc_error_message_period): Likewise.
24605
24606 2010-03-31  Eric Blake  <eblake@redhat.com>
24607
24608         maint.mk: check for [ as well as test
24609         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
24610         Based on a libvirt report by Matthias Bolte.
24611
24612         gnumakefile: don't squelch _version output
24613         * top/GNUmakefile (_version): Create one-shot dependency rather
24614         than using $(shell) when version must be regenerated.
24615         (_autoreconf): Run verbosely, by default.
24616
24617         sys_time: avoid compiler warnings
24618         * lib/sys_time.in.h (includes): Ensure gcc pragma is
24619         unconditional, fixing regression from 2010-03-29.
24620         Reported by Simon Josefsson.
24621
24622 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
24623
24624         maint.mk: s/_header_without_use/_sc_header_without_use/
24625         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
24626         (sc_prohibit_assert_without_use): Use the new name.
24627         (sc_prohibit_close_stream_without_use): Likewise.
24628         (sc_prohibit_getopt_without_use): Likewise.
24629         (sc_prohibit_quotearg_without_use): Likewise.
24630         (sc_prohibit_quote_without_use): Likewise.
24631         (sc_prohibit_long_options_without_use): Likewise.
24632         (sc_prohibit_inttostr_without_use): Likewise.
24633         (sc_prohibit_ignore_value_without_use): Likewise.
24634         (sc_prohibit_error_without_use): Likewise.
24635         (sc_prohibit_xalloc_without_use): Likewise.
24636         (sc_prohibit_hash_without_use): Likewise.
24637         (sc_prohibit_hash_pjw_without_use): Likewise.
24638         (sc_prohibit_safe_read_without_use): Likewise.
24639         (sc_prohibit_argmatch_without_use): Likewise.
24640         (sc_prohibit_canonicalize_without_use): Likewise.
24641         (sc_prohibit_root_dev_ino_without_use): Likewise.
24642         (sc_prohibit_openat_without_use): Likewise.
24643         (sc_prohibit_c_ctype_without_use): Likewise.
24644         (sc_prohibit_signal_without_use): Likewise.
24645         (sc_prohibit_intprops_without_use): Likewise.
24646
24647 2010-03-30  Eric Blake  <eblake@redhat.com>
24648
24649         maint: improve module indicators
24650         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
24651         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
24652         columns, and avoid extra macro expansion.
24653
24654         fdopendir: work around FreeBSD bug
24655         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24656         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
24657         * modules/dirent (Makefile.am): Substitute it.
24658         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
24659         declaration.
24660         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
24661         fix.
24662         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24663
24664 2010-03-29  Bruno Haible  <bruno@clisp.org>
24665
24666         Emit #pragma system_header after the inclusion guard, not before.
24667         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
24668         guard that spans the entire file, not before. This enables an
24669         optimization in GCC's preprocessor.
24670         * lib/ctype.in.h: Likewise.
24671         * lib/dirent.in.h: Likewise.
24672         * lib/errno.in.h: Likewise.
24673         * lib/float.in.h: Likewise.
24674         * lib/getopt.in.h: Likewise.
24675         * lib/iconv.in.h: Likewise.
24676         * lib/langinfo.in.h: Likewise.
24677         * lib/locale.in.h: Likewise.
24678         * lib/math.in.h: Likewise.
24679         * lib/netdb.in.h: Likewise.
24680         * lib/netinet_in.in.h: Likewise.
24681         * lib/pty.in.h: Likewise.
24682         * lib/sched.in.h: Likewise.
24683         * lib/se-selinux.in.h: Likewise.
24684         * lib/search.in.h: Likewise.
24685         * lib/spawn.in.h: Likewise.
24686         * lib/stdarg.in.h: Likewise.
24687         * lib/stdint.in.h: Likewise.
24688         * lib/string.in.h: Likewise.
24689         * lib/strings.in.h: Likewise.
24690         * lib/sys_file.in.h: Likewise.
24691         * lib/sys_ioctl.in.h: Likewise.
24692         * lib/sys_time.in.h: Likewise.
24693         * lib/sys_times.in.h: Likewise.
24694         * lib/sys_utsname.in.h: Likewise.
24695         * lib/sys_wait.in.h: Likewise.
24696         * lib/sysexits.in.h: Likewise.
24697         * lib/wctype.in.h: Likewise.
24698
24699 2010-03-28  James Youngman  <jay@gnu.org>
24700
24701         save-cwd: don't leak a file descriptor when the caller execs.
24702         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
24703         saved file descriptor.
24704         * modules/save-cwd (Depends-on): Depend on cloexec.
24705
24706 2010-03-29  Bruno Haible  <bruno@clisp.org>
24707
24708         Remove vestiges of fts-lgpl module.
24709         * lib/fts_.h: Assume GNULIB_FTS is 1.
24710         * lib/fts.c: Likewise.
24711         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24712
24713 2010-03-28  Bruno Haible  <bruno@clisp.org>
24714
24715         Fix definition of tests witness macro.
24716         * gnulib-tool (func_import): Fix definition of witness macro.
24717
24718 2010-03-28  Bruno Haible  <bruno@clisp.org>
24719
24720         Fix ioctl's protoype on glibc systems.
24721         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
24722         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
24723         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
24724         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
24725         signature. If not, arrange to replace the ioctl function.
24726         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24727         REPLACE_IOCTL.
24728         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
24729         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
24730         Reported by Ludovic Courtès <ludo@gnu.org>.
24731
24732 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
24733
24734         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
24735         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
24736         made it so grep -r --include=GLOB* ... did not work.
24737
24738 2010-03-26  Jim Meyering  <meyering@redhat.com>
24739             Eric Blake  <eblake@redhat.com>
24740
24741         maint.mk: prohibit use of test's -o and -a operators
24742         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
24743
24744 2010-03-28  Bruno Haible  <bruno@clisp.org>
24745
24746         Remove unused GNULIB_XYZ macro definitions.
24747         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
24748         invocation.
24749
24750 2010-03-28  Bruno Haible  <bruno@clisp.org>
24751
24752         Mark privileged tests modules.
24753         * modules/idpriv-drop-tests (Status): New section.
24754         * modules/idpriv-droptemp-tests (Status): New section.
24755
24756 2010-03-28  Bruno Haible  <bruno@clisp.org>
24757
24758         Split C++ tests into separate tests modules.
24759         * modules/dirent-c++-tests: New file, extracted from
24760         modules/dirent-tests.
24761         * modules/dirent-tests: Depend on it.
24762         * modules/fcntl-h-c++-tests: New file, extracted from
24763         modules/fcntl-h-tests.
24764         * modules/fcntl-h-tests: Depend on it.
24765         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
24766         * modules/glob-tests: Depend on it.
24767         * modules/iconv-h-c++-tests: New file, extracted from
24768         modules/iconv-h-tests.
24769         * modules/iconv-h-tests: Depend on it.
24770         * modules/langinfo-c++-tests: New file, extracted from
24771         modules/langinfo-tests.
24772         * modules/langinfo-tests: Depend on it.
24773         * modules/locale-c++-tests: New file, extracted from
24774         modules/locale-tests.
24775         * modules/locale-tests: Depend on it.
24776         * modules/math-c++-tests: New file, extracted from modules/math-tests.
24777         * modules/math-tests: Depend on it.
24778         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
24779         * modules/pty-tests: Depend on it.
24780         * modules/search-c++-tests: New file, extracted from
24781         modules/search-tests.
24782         * modules/search-tests: Depend on it.
24783         * modules/signal-c++-tests: New file, extracted from
24784         modules/signal-tests.
24785         * modules/signal-tests: Depend on it.
24786         * modules/spawn-c++-tests: New file, extracted from
24787         modules/spawn-tests.
24788         * modules/spawn-tests: Depend on it.
24789         * modules/stdio-c++-tests: New file, extracted from
24790         modules/stdio-tests.
24791         * modules/stdio-tests: Depend on it.
24792         * modules/stdlib-c++-tests: New file, extracted from
24793         modules/stdlib-tests.
24794         * modules/stdlib-tests: Depend on it.
24795         * modules/string-c++-tests: New file, extracted from
24796         modules/string-tests.
24797         * modules/string-tests: Depend on it.
24798         * modules/sys_ioctl-c++-tests: New file, extracted from
24799         modules/sys_ioctl-tests.
24800         * modules/sys_ioctl-tests: Depend on it.
24801         * modules/sys_select-c++-tests: New file, extracted from
24802         modules/sys_select-tests.
24803         * modules/sys_select-tests: Depend on it.
24804         * modules/sys_socket-c++-tests: New file, extracted from
24805         modules/sys_socket-tests.
24806         * modules/sys_socket-tests: Depend on it.
24807         * modules/sys_stat-c++-tests: New file, extracted from
24808         modules/sys_stat-tests.
24809         * modules/sys_stat-tests: Depend on it.
24810         * modules/sys_time-c++-tests: New file, extracted from
24811         modules/sys_time-tests.
24812         * modules/sys_time-tests: Depend on it.
24813         * modules/time-c++-tests: New file, extracted from modules/time-tests.
24814         * modules/time-tests: Depend on it.
24815         * modules/unistd-c++-tests: New file, extracted from
24816         modules/unistd-tests.
24817         * modules/unistd-tests: Depend on it.
24818         * modules/wchar-c++-tests: New file, extracted from
24819         modules/wchar-tests.
24820         * modules/wchar-tests: Depend on it.
24821         * modules/wctype-c++-tests: New file, extracted from
24822         modules/wctype-tests.
24823         * modules/wctype-tests: Depend on it.
24824         Reported by Simon Josefsson.
24825
24826 2010-03-28  Bruno Haible  <bruno@clisp.org>
24827
24828         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
24829         * gnulib-tool (func_exists_module): New function, extracted from
24830         func_verify_module.
24831         (func_verify_module): Use it.
24832         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
24833         'foo' only if 'foo' exists.
24834         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
24835         module.
24836
24837 2010-03-28  Bruno Haible  <bruno@clisp.org>
24838
24839         gnulib-tool: Add support for special categories of tests.
24840         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
24841         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
24842         (func_usage): Document them.
24843         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
24844         inc_unportable_tests, inc_all_tests): New variables.
24845         (func_acceptable): Consider these variables.
24846         (func_modules_transitive_closure): Make it work when the 'Status' field
24847         consists of multiple words.
24848         (func_import): Store and restore the values of inc_cxx_tests,
24849         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
24850         inc_all_tests in gnulib-comp.m4.
24851         (func_create_testdir): Set inc_all_tests to true.
24852         * doc/gnulib.texi (Extra tests modules): New section.
24853         Suggested by Jim Meyering.
24854
24855 2010-03-28  Bruno Haible  <bruno@clisp.org>
24856
24857         ansi-c++-opt: Allow turning off the C++ build by default.
24858         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
24859         gl_CXX_CHOICE_DEFAULT_NO is defined.
24860         Requested by Eric Blake.
24861
24862 2010-03-28  Bruno Haible  <bruno@clisp.org>
24863
24864         unistd: Avoid #define replacements in C++ mode.
24865         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
24866         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
24867         setsockopt, shutdown, select): In C++, attach a warning to the function
24868         if possible, rather than #defining the symbol to a dysfunctional alias.
24869         Reported by John W. Eaton <jwe@gnu.org>.
24870
24871 2010-03-28  Bruno Haible  <bruno@clisp.org>
24872
24873         Fix link errors on mingw.
24874         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
24875         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
24876         $(LIBSOCKET).
24877         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
24878         $(LIBSOCKET).
24879
24880 2010-03-28  Bruno Haible  <bruno@clisp.org>
24881             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24882
24883         lib-ignore: Determine different options for different compilers.
24884         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
24885         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
24886         Add comments.
24887         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
24888         * NEWS: Mention the change.
24889
24890 2010-03-27  Bruno Haible  <bruno@clisp.org>
24891
24892         Remove unused GNULIB_XYZ macro definitions.
24893         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
24894         * modules/fseek (configure.ac): Likewise.
24895         * modules/ioctl (configure.ac): Likewise.
24896         * modules/open (configure.ac): Likewise.
24897         * modules/stdlib-safer (configure.ac): Likewise.
24898
24899 2010-03-27  Bruno Haible  <bruno@clisp.org>
24900
24901         Add a remark about certain modules.
24902         * modules/malloc (Comment): New section.
24903         * modules/realloc (Comment): Likewise.
24904         * modules/sigpipe (Comment): Likewise.
24905
24906 2010-03-27  Bruno Haible  <bruno@clisp.org>
24907
24908         Resolve conflict between the two kinds of module indicators.
24909         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
24910         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
24911         * modules/canonicalize (configure.ac): Invoke
24912         gl_MODULE_INDICATOR_FOR_TESTS.
24913         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
24914         GNULIB_XYZ.
24915         * tests/test-dirent-c++.cc: Likewise.
24916         * tests/test-dirent-safer.c: Likewise.
24917         * tests/test-dup2.c: Likewise.
24918         * tests/test-fchdir.c: Likewise.
24919         * tests/test-fcntl-h-c++.cc: Likewise.
24920         * tests/test-getopt.c: Likewise.
24921         * tests/test-getopt.h: Likewise.
24922         * tests/test-langinfo-c++.cc: Likewise.
24923         * tests/test-locale-c++.cc: Likewise.
24924         * tests/test-math-c++.cc: Likewise.
24925         * tests/test-pty-c++.cc: Likewise.
24926         * tests/test-search-c++.cc: Likewise.
24927         * tests/test-signal-c++.cc: Likewise.
24928         * tests/test-spawn-c++.cc: Likewise.
24929         * tests/test-stdio-c++.cc: Likewise.
24930         * tests/test-stdlib-c++.cc: Likewise.
24931         * tests/test-string-c++.cc: Likewise.
24932         * tests/test-sys_ioctl-c++.cc: Likewise.
24933         * tests/test-sys_select-c++.cc: Likewise.
24934         * tests/test-sys_socket-c++.cc: Likewise.
24935         * tests/test-sys_stat-c++.cc: Likewise.
24936         * tests/test-sys_time-c++.cc: Likewise.
24937         * tests/test-time-c++.cc: Likewise.
24938         * tests/test-unistd-c++.cc: Likewise.
24939         * tests/test-wchar-c++.cc: Likewise.
24940         * tests/uninorm/test-u8-nfc.c: Likewise.
24941         * tests/uninorm/test-u8-nfd.c: Likewise.
24942         * tests/uninorm/test-u8-nfkc.c: Likewise.
24943         * tests/uninorm/test-u8-nfkd.c: Likewise.
24944         * tests/uninorm/test-u16-nfc.c: Likewise.
24945         * tests/uninorm/test-u16-nfd.c: Likewise.
24946         * tests/uninorm/test-u16-nfkc.c: Likewise.
24947         * tests/uninorm/test-u16-nfkd.c: Likewise.
24948         * tests/uninorm/test-u32-nfc.c: Likewise.
24949         * tests/uninorm/test-u32-nfc-big.c: Likewise.
24950         * tests/uninorm/test-u32-nfd.c: Likewise.
24951         * tests/uninorm/test-u32-nfd-big.c: Likewise.
24952         * tests/uninorm/test-u32-nfkc.c: Likewise.
24953         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
24954         * tests/uninorm/test-u32-nfkd.c: Likewise.
24955         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
24956         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24957
24958 2010-03-27  Bruno Haible  <bruno@clisp.org>
24959
24960         Distinguish two kinds of module indicators.
24961         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
24962         gl_MODULE_INDICATOR.
24963         (gl_MODULE_INDICATOR): New macro.
24964         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24965         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
24966         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
24967         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
24968         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
24969         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
24970         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
24971         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
24972         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
24973         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
24974         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
24975         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
24976         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
24977         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
24978         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
24979         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
24980         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
24981         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
24982         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
24983         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
24984         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
24985         * modules/cloexec (configure.ac): Likewise.
24986         * modules/getopt-gnu (configure.ac): Likewise.
24987         * modules/uninorm/u8-normalize (configure.ac): Likewise.
24988         * modules/uninorm/u16-normalize (configure.ac): Likewise.
24989         * modules/uninorm/u32-normalize (configure.ac): Likewise.
24990         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
24991
24992 2010-03-27  Bruno Haible  <bruno@clisp.org>
24993
24994         New module description field 'Comment'.
24995         * gnulib-tool: New option --extract-comment.
24996         (func_usage): Document it.
24997         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
24998         (func_get_comment): New function.
24999         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
25000
25001 2010-03-27  Bruno Haible  <bruno@clisp.org>
25002
25003         Addendum to 2010-02-07 commit.
25004         * gnulib-tool (func_usage): Document --extract-applicability option.
25005
25006 2010-03-27  Bruno Haible  <bruno@clisp.org>
25007
25008         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
25009         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
25010         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
25011         rather than link errors.
25012
25013 2010-03-27  Bruno Haible  <bruno@clisp.org>
25014
25015         Avoid side effects from tests-related modules on the compilation of lib.
25016         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
25017         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
25018         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
25019         parameter. Emit into AM_CPPFLAGS a definition of the designated C
25020         macro.
25021         (func_import): Define a witness macro. Assign it a value that depends
25022         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
25023         tests-related modules.
25024         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
25025         Reported by Jim Meyering.
25026
25027 2010-03-27  Bruno Haible  <bruno@clisp.org>
25028
25029         Factorize common .m4 code.
25030         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
25031         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
25032         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
25033         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
25034         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
25035         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
25036         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
25037         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
25038         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
25039         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
25040         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
25041         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
25042         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
25043         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
25044         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
25045         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
25046         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
25047         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
25048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
25049         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
25050         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
25051         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
25052         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
25053         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
25054         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
25055         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
25056         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
25057         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
25058         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
25059         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
25060         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
25061         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
25062
25063 2010-03-27  Bruno Haible  <bruno@clisp.org>
25064
25065         Fix a compilation error on Cygwin with g++ >= 4.3.
25066         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
25067         if it is undefined or if we alias it to chmod.
25068         (lstat): Don't warn about the use of this function if it is undefined
25069         or if we alias it to stat.
25070         Reported by Simon Josefsson.
25071
25072 2010-03-27  Bruno Haible  <bruno@clisp.org>
25073
25074         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
25075         * modules/getlogin (configure.ac): Update.
25076
25077         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
25078         * modules/getlogin_r (configure.ac): Update.
25079
25080         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
25081         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
25082         * modules/inet_ntop (configure.ac): Update.
25083
25084         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
25085         * modules/inet_pton (configure.ac): Update.
25086
25087         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
25088         * modules/mbslen (configure.ac): Update.
25089
25090         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
25091         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
25092         * modules/forkpty (configure.ac): Update.
25093         * modules/openpty (configure.ac): Update.
25094
25095 2010-03-26  Simon Josefsson  <simon@josefsson.org>
25096
25097         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
25098         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
25099
25100 2010-03-25  Eric Blake  <eblake@redhat.com>
25101
25102         maint: use pragma consistently across replacement headers
25103         * lib/ctype.in.h (system_header): Hoist for consistent placement.
25104         * lib/dirent.in.h (system_header): Likewise.
25105         * lib/errno.in.h (system_header): Likewise.
25106         * lib/float.in.h (system_header): Likewise.
25107         * lib/getopt.in.h (system_header): Likewise.
25108         * lib/iconv.in.h (system_header): Likewise.
25109         * lib/inttypes.in.h (system_header): Likewise.
25110         * lib/langinfo.in.h (system_header): Likewise.
25111         * lib/locale.in.h (system_header): Likewise.
25112         * lib/math.in.h (system_header): Likewise.
25113         * lib/netdb.in.h (system_header): Likewise.
25114         * lib/netinet_in.in.h (system_header): Likewise.
25115         * lib/pty.in.h (system_header): Likewise.
25116         * lib/sched.in.h (system_header): Likewise.
25117         * lib/se-selinux.in.h (system_header): Likewise.
25118         * lib/search.in.h (system_header): Likewise.
25119         * lib/spawn.in.h (system_header): Likewise.
25120         * lib/stdarg.in.h (system_header): Likewise.
25121         * lib/stdint.in.h (system_header): Likewise.
25122         * lib/string.in.h (system_header): Likewise.
25123         * lib/strings.in.h (system_header): Likewise.
25124         * lib/sys_file.in.h (system_header): Likewise.
25125         * lib/sys_ioctl.in.h (system_header): Likewise.
25126         * lib/sys_socket.in.h (system_header): Likewise.
25127         * lib/sys_times.in.h (system_header): Likewise.
25128         * lib/sys_utsname.in.h (system_header): Likewise.
25129         * lib/sys_wait.in.h (system_header): Likewise.
25130         * lib/sysexits.in.h (system_header): Likewise.
25131         * lib/unistd.in.h (system_header): Likewise.
25132         * lib/wctype.in.h (system_header): Likewise.
25133
25134         arpa/inet: fix mingw compilation warning
25135         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
25136         Reported by Matthew Bolte.
25137
25138 2010-03-25  Bruno Haible  <bruno@clisp.org>
25139
25140         Avoid collision between gnulib wrapper and libintl wrapper.
25141         * lib/printf.c (printf): Don't define if a printf wrapper is already
25142         defined in intl/printf.c.
25143         Reported by Michel Boaventura <michel@michelboaventura.com>.
25144
25145 2010-03-25  Bruno Haible  <bruno@clisp.org>
25146
25147         Use ANSI C.
25148         * lib/readutmp.h (getutent): Provide ANSI C prototype.
25149
25150 2010-03-25  Bruno Haible  <bruno@clisp.org>
25151
25152         Minor formatting changes.
25153         * lib/acosl.c: Insert space before function argument list.
25154         * lib/argz.c: Likewise.
25155         * lib/asinl.c: Likewise.
25156         * lib/expl.c: Likewise.
25157         * lib/gen-uni-tables.c: Likewise.
25158         * lib/gettext.h: Likewise.
25159         * lib/glthread/lock.h: Likewise.
25160         * lib/tanl.c: Likewise.
25161         * lib/uniname/uniname.c: Likewise.
25162         * tests/test-idpriv-drop.c: Likewise.
25163         * tests/test-idpriv-droptemp.c: Likewise.
25164         * tests/test-lock.c: Likewise.
25165         * tests/test-tls.c: Likewise.
25166         * lib/argp-help.c: Insert space before function-like macro argument
25167         list.
25168         * lib/memcmp.c: Likewise.
25169         * tests/test-base64.c: Likewise.
25170         * lib/localename.c: Insert space before sizeof's argument list.
25171         * lib/safe-alloc.h: Likewise.
25172         * lib/file-set.h: Insert space before macro argument list.
25173         * tests/test-argp.c: Likewise.
25174         * lib/argp-namefrob.h: Insert space before function parameter list.
25175         * lib/getaddrinfo.c: Likewise.
25176         * lib/netdb.in.h: Likewise.
25177         * lib/parse-duration.h: Likewise.
25178         * lib/parse-duration.c: Likewise.
25179         * lib/poll.c: Likewise.
25180         * lib/select.c: Likewise.
25181         * lib/trim.h: Likewise.
25182         * tests/test-usleep.c: Likewise.
25183         * lib/ldexpl.c: Insert space before function parameter list and before
25184         function argument list.
25185         * lib/logl.c: Likewise.
25186         * lib/sqrtl.c: Likewise.
25187         * lib/trim.c: Likewise.
25188         * lib/cosl.c: Use GNU style indentation. Insert space before function
25189         argument list.
25190         * lib/sinl.c: Likewise.
25191         * lib/tsearch.c: Insert space after 'for'.
25192         Reported by Jim Meyering.
25193
25194 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
25195
25196         * maint.mk (sc_Wundef_boolean): Check for the presence of the
25197         config header before grepping, as it's not present before
25198         autoreconf/configure are run.  Reported by Simon Josefsson.
25199
25200 2010-03-23  Bruno Haible  <bruno@clisp.org>
25201
25202         pt_chown: Make it work with automake < 1.11.
25203         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
25204         Reported by Simon Josefsson.
25205
25206 2010-03-23  Bruno Haible  <bruno@clisp.org>
25207
25208         pt_chown: Don't depend on GPLed modules.
25209         * lib/pt_chown.c: Don't include idpriv.h.
25210         (main): Don't drop privileges.
25211         * modules/pt_chown (Depends-on): Remove idpriv-drop.
25212         Reported by Simon Josefsson.
25213
25214 2010-03-24  Simon Josefsson  <simon@josefsson.org>
25215
25216         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
25217         suggestions from karl@freefriends.org (Karl Berry).
25218
25219 2010-03-22  Eric Blake  <eblake@redhat.com>
25220
25221         gethostname: further tweaks
25222         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
25223         are overriding gethostname.
25224         Suggested by Bruno Haible.
25225
25226 2010-03-21  Bruno Haible  <bruno@clisp.org>
25227
25228         Fix comments.
25229         * lib/forkpty.c (rpl_forkpty): Fix comment.
25230         * lib/openpty.c (rpl_openpty): Likewise.
25231         Reported by Eric Blake.
25232
25233 2010-03-22  Eric Blake  <eblake@redhat.com>
25234
25235         gethostname: fix build on mingw
25236         * lib/unistd.in.h (includes): Work around fact that mingw
25237         <winsock2.h> re-includes <unistd.h>, by avoiding any
25238         redeclarations if we are being included by <winsock2.h>.
25239         Reported by Matthias Bolte.
25240
25241 2010-03-21  Bruno Haible  <bruno@clisp.org>
25242
25243         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25244         * lib/forkpty.c (forkpty): New replacement function, from glibc with
25245         modifications.
25246         * lib/pty.in.h (forkpty): Update declaration. Add comments.
25247         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
25248         provide the replacement.
25249         * modules/forkpty (Depends-on): Add openpty, login_tty.
25250         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
25251         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
25252         * doc/glibc-functions/forkpty.texi: More supported platforms.
25253         * config/srclist.txt: Add forkpty.c (commented).
25254
25255 2010-03-21  Bruno Haible  <bruno@clisp.org>
25256
25257         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
25258         (Makefile.am): Verify that PTY_LIB is defined.
25259
25260         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
25261
25262 2010-03-21  Bruno Haible  <bruno@clisp.org>
25263
25264         Tests for module 'login_tty'.
25265         * modules/login_tty-tests: New file.
25266         * tests/test-login_tty.c: New file.
25267
25268         New module 'login_tty'.
25269         * lib/login_tty.c: New file.
25270         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
25271         * modules/login_tty: New file.
25272         * doc/glibc-functions/login_tty.texi: Mention the new module.
25273
25274 2010-03-21  Bruno Haible  <bruno@clisp.org>
25275
25276         login_tty: Documentation.
25277         * doc/glibc-functions/login_tty.texi: New file.
25278         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
25279
25280 2010-03-21  Bruno Haible  <bruno@clisp.org>
25281
25282         pty: Consistent macro naming.
25283         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
25284         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
25285         * modules/pty (configure.ac): Update.
25286
25287 2010-03-21  Bruno Haible  <bruno@clisp.org>
25288
25289         Tests for openpty: Make stricter.
25290         * tests/test-openpty.c (main): Add test of canonical processing and
25291         erase.
25292         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
25293
25294         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
25295         * lib/openpty.c (openpty): New replacement function.
25296         * lib/pty.in.h: Include <termios.h>.
25297         (openpty): Update declaration. Add comments.
25298         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
25299         is not declared, arrange to provide the replacement. Check for _getpty
25300         and posix_openpt.
25301         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
25302         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
25303         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
25304         * modules/pty-tests (test_pty_c___LDADD): New variable.
25305         * doc/glibc-functions/openpty.texi: More supported platforms.
25306
25307 2010-03-21  Bruno Haible  <bruno@clisp.org>
25308
25309         setenv: Tweaks.
25310         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
25311         the test program.
25312         * doc/posix-functions/setenv.texi: Update platforms list.
25313
25314 2010-03-21  Bruno Haible  <bruno@clisp.org>
25315
25316         New module 'unlockpt'.
25317         * lib/unlockpt.c: New file, from glibc with modifications.
25318         * m4/unlockpt.m4: New file.
25319         * modules/unlockpt: New file.
25320         * lib/stdlib.in.h (unlockpt): New declaration.
25321         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
25322         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
25323         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
25324         HAVE_UNLOCKPT.
25325         * doc/posix-functions/unlockpt.texi: Mention the new module.
25326         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
25327         * config/srclist.txt: Add unlockpt.c (commented).
25328
25329 2010-03-21  Jim Meyering  <meyering@redhat.com>
25330
25331         maint.mk: prohibit inclusion of "intprops.h" without use
25332         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
25333
25334 2010-03-21  Bruno Haible  <bruno@clisp.org>
25335
25336         New module 'grantpt'.
25337         * lib/grantpt.c: New file, from glibc with modifications.
25338         * m4/grantpt.m4: New file.
25339         * modules/grantpt: New file.
25340         * lib/stdlib.in.h (grantpt): New declaration.
25341         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
25342         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
25343         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
25344         HAVE_GRANTPT.
25345         * doc/posix-functions/grantpt.texi: Mention the new module.
25346         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
25347         * config/srclist.txt: Add grantpt.c (commented).
25348
25349 2010-03-21  Bruno Haible  <bruno@clisp.org>
25350
25351         New module 'pt_chown'.
25352         * lib/pt_chown.c: New file, from glibc with modifications.
25353         * lib/pty-private.h: New file, from glibc with modifications.
25354         * modules/pt_chown: New file.
25355         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
25356
25357 2010-03-21  Bruno Haible  <bruno@clisp.org>
25358
25359         Tests for module 'ptsname'.
25360         * modules/ptsname-tests: New file.
25361         * tests/test-ptsname.c: New file.
25362
25363         New module 'ptsname'.
25364         * lib/ptsname.c: New file, from glibc with modifications.
25365         * m4/ptsname.m4: New file.
25366         * modules/ptsname: New file.
25367         * lib/stdlib.in.h (ptsname): New declaration.
25368         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
25369         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
25370         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
25371         HAVE_PTSNAME.
25372         * doc/posix-functions/ptsname.texi: Mention the new module.
25373         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
25374         * config/srclist.txt: Add ptsname.c (commented).
25375
25376 2010-03-21  Bruno Haible  <bruno@clisp.org>
25377
25378         Tests for module 'ttyname_r'.
25379         * modules/ttyname_r-tests: New file.
25380         * tests/test-ttyname_r.c: New file.
25381
25382         New module 'ttyname_r'.
25383         * lib/ttyname_r.c: New file.
25384         * m4/ttyname_r.m4: New file.
25385         * modules/ttyname_r: New file.
25386         * lib/unistd.in.h (ttyname_r): New declaration.
25387         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
25388         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
25389         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
25390         HAVE_TTYNAME_R.
25391         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
25392         * doc/posix-functions/ttyname_r.texi: Mention the new module.
25393
25394 2010-03-20  Bruno Haible  <bruno@clisp.org>
25395
25396         signal: Undefine macro definitions in C++ mode.
25397         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
25398         sigfillset): Undefine macro definitions from the system header in C++
25399         mode.
25400         Reported by John W. Eaton <jwe@gnu.org>.
25401
25402 2010-03-20  Bruno Haible  <bruno@clisp.org>
25403
25404         Ensure no #include statements inside extern "C" { ... }.
25405         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
25406         contain #include statements.
25407         * lib/time.in.h: Likewise.
25408
25409 2010-03-20  Bruno Haible  <bruno@clisp.org>
25410
25411         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
25412         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
25413         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
25414         Reported by John W. Eaton <jwe@gnu.org>.
25415
25416 2010-03-20  Bruno Haible  <bruno@clisp.org>
25417
25418         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
25419         Reported by Jim Meyering.
25420
25421 2010-03-20  Bruno Haible  <bruno@clisp.org>
25422
25423         pipe: Set errno upon failure.
25424         * lib/pipe.h: Specify that when -1 is returned, errno is set.
25425         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
25426         errno value in error message.
25427
25428 2010-03-20  Bruno Haible  <bruno@clisp.org>
25429             Jim Meyering  <meyering@redhat.com>
25430
25431         lchown: Avoid "unused variable" warning.
25432         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
25433
25434 2010-03-20  Bruno Haible  <bruno@clisp.org>
25435
25436         Work around unlink() bug on MacOS X 10.5.6.
25437         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
25438         attempting to unlink a parent directory.
25439         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
25440         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
25441         activate for the replacement function.
25442         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
25443
25444 2010-03-20  Bruno Haible  <bruno@clisp.org>
25445
25446         Fix link errors on Solaris 8.
25447         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
25448         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
25449
25450 2010-03-19  Jim Meyering  <meyering@redhat.com>
25451
25452         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
25453         The _LIBC implementation of build_range_exp correctly honors the
25454         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
25455         However, the non-_LIBC implementation would ignore that syntax-bit
25456         flag and return REG_ERANGE unconditionally.
25457         This change makes it honor that flag.
25458         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
25459         Make two pointer parameters "const".
25460         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
25461         (parse_bracket_exp): Update caller.
25462
25463         regex.m4: correct the reversed range endpoint ([b-a]) test
25464         * m4/regex.m4: When requiring that [b-a] evoke failure,
25465         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
25466         test pass once again for x86-based systems.
25467
25468 2010-03-19  Bruno Haible  <bruno@clisp.org>
25469
25470         scandir: Fix link error on Solaris 8.
25471         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
25472         macros.
25473
25474 2010-03-19  Bruno Haible  <bruno@clisp.org>
25475
25476         getusershell: Fix documentation.
25477         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
25478         module.
25479         * doc/glibc-functions/setusershell.texi: Likewise.
25480
25481         getusershell: Provide declaration, missing on Solaris 9.
25482         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
25483         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
25484         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
25485         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
25486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25487         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
25488         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
25489         HAVE_GETUSERSHELL.
25490         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
25491
25492 2010-03-19  Bruno Haible  <bruno@clisp.org>
25493
25494         wctype: Provide iswblank function.
25495         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
25496         exists and is fine.
25497         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
25498         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
25499         * tests/test-wctype.c (main): Re-enable the iswblank tests.
25500         * doc/posix-functions/iswblank.texi: Update.
25501
25502 2010-03-19  Bruno Haible  <bruno@clisp.org>
25503
25504         Tests of module 'pty' in C++ mode.
25505         * modules/pty-tests: New file.
25506         * tests/test-pty-c++.cc: New file.
25507         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25508
25509 2010-03-19  Eric Blake  <eblake@redhat.com>
25510
25511         logb: fix documentation
25512         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
25513         1.5 declaration bug.
25514
25515         forkpty, openpty: prefer glibc's const-safe prototype
25516         * lib/forkpty.c (rpl_forkpty): New file.
25517         * lib/openpty.c (rpl_openpty): Likewise.
25518         * modules/forkpty (Files): Distribute it.
25519         * modules/openpty (Files): Likewise.
25520         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
25521         check...
25522         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
25523         replacement for for non-const BSD signature.
25524         * modules/pty (Makefile.am): Substitute witnesses.
25525         * lib/pty.in.h (forkpty, openpty): Declare replacements.
25526         * tests/test-forkpty.c: Update signature check.
25527         * tests/test-openpty.c: Likewise.
25528         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
25529         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25530
25531         forkpty, openpty: split functions into new modules
25532         * modules/pty (Makefile.am): Substitute new witnesses.
25533         (Libraries): Move library detection...
25534         * modules/forkpty: ...into new module.
25535         * modules/openpty: Another new module.
25536         * modules/pty-tests: Rename and split...
25537         * modules/forkpty-tests: ...to this...
25538         * modules/openpty-tests: ...and this.
25539         * tests/test-pty.c: Rename and split...
25540         * tests/test-forkpty.c: ...to this...
25541         * tests/test-openpty.c: ...and this.
25542         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
25543         (gl_PTY): Split library searching...
25544         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
25545         (gl_FORKPTY, gl_OPENPTY): New macros.
25546         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
25547         * NEWS: Mention the split.
25548         * MODULES.html.sh (Misc): Document the modules.
25549         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
25550         * doc/glibc-functions/openpty.texi (openpty): Likewise.
25551
25552         pty: improve replacement header
25553         * lib/pty.in.h: New file.
25554         * modules/pty (Files): Ship it.
25555         (Makefile.am): Always build replacement.
25556         * m4/pty.m4: Rename...
25557         * m4/pty_h.m4: ...to this.
25558         (gl_PTY): Modernize setting of witness macros; update check of
25559         forkpty to take proper advantage of cache.
25560         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
25561
25562         getopt: avoid compiler warning
25563         * lib/getopt.c (attribute_hidden): Remove unused macro.
25564
25565 2010-03-18  Bruno Haible  <bruno@clisp.org>
25566
25567         Fix link errors on Solaris 8.
25568         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
25569         * modules/search-tests (test_search_c___LDADD): Likewise.
25570         * modules/signal-tests (test_signal_c___LDADD): Likewise.
25571         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
25572         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
25573         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
25574         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
25575         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
25576         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
25577
25578 2010-03-18  Bruno Haible  <bruno@clisp.org>
25579
25580         Fix bug introduced on 2010-03-14.
25581         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
25582         (gl_SPAWN_H): Require it.
25583         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
25584         Reported by Simon Josefsson.
25585
25586 2010-03-18  Bruno Haible  <bruno@clisp.org>
25587
25588         Fix typo introduced on 2009-12-31.
25589         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
25590         posix_spawn_file_actions_adddup2.
25591
25592 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
25593         and Eric Blake  <eblake@redhat.com>
25594
25595         test-vc-list-files-git: make more robust
25596         * tests/test-vc-list-files-git.sh: Unset problematic environment
25597         variables.  Chain commands together.
25598
25599 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
25600
25601         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
25602         `AC_CHECK_DECL' invocation.
25603
25604 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
25605
25606         * lib/inttostr.c (inttostr): Make sure the invocation of verify
25607         appears before executable statements. Suggested by Petr Sumbera
25608         <Petr.Sumbera@Sun.COM>.
25609
25610 2010-03-14  Bruno Haible  <bruno@clisp.org>
25611
25612         * tests/test-flock.c (test_exclusive): Comment out a test that causes
25613         portability problems. Instead use a simpler test.
25614         (main): Check that invalid arguments are rejected only on Linux.
25615
25616 2010-03-14  Bruno Haible  <bruno@clisp.org>
25617
25618         Fix bug introduced on 2009-12-31.
25619         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25620         gl_PREREQ_SYS_H_WINSOCK2 always.
25621         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
25622         SYS_SOCKET_H variable.
25623         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
25624         Update comments.
25625         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
25626         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25627         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25628         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25629         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
25630
25631 2010-03-14  Bruno Haible  <bruno@clisp.org>
25632
25633         Fix values returned by sinl, cosl.
25634         * lib/trigl.h: Add specification comments.
25635         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
25636         that combines the values from the precomputed table with the values of
25637         the Chebyshev polynomials.
25638
25639 2010-03-14  Bruno Haible  <bruno@clisp.org>
25640
25641         Fix compilation error when modules 'posix_spawn[p]' are not used.
25642         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
25643         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
25644
25645 2010-03-14  Bruno Haible  <bruno@clisp.org>
25646
25647         Fix compilation error on mingw when module 'time_r' is not used.
25648         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
25649         is 1.
25650         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
25651         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25652         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
25653         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
25654
25655 2010-03-14  Bruno Haible  <bruno@clisp.org>
25656
25657         Fix compilation error with Sun C.
25658         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
25659         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
25660         instead of GCC specific ULONG_LONG_MAX.
25661         * lib/xstrtoll.c: Likewise.
25662         * lib/xstrtoull.c: Likewise.
25663
25664 2010-03-13  Bruno Haible  <bruno@clisp.org>
25665
25666         Allow the user to disable C++ code and tests.
25667         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
25668         (gl_PROG_ANSI_CXX): Require it.
25669
25670 2010-03-13  Bruno Haible  <bruno@clisp.org>
25671
25672         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
25673         cases.
25674
25675 2010-03-13  Bruno Haible  <bruno@clisp.org>
25676
25677         Test that gnulib does not break the standard C++ headers.
25678         * tests/test-locale-c++2.cc: New file.
25679         * modules/locale-tests (Files): Add it.
25680         (Makefile.am): Compile it for test-locale-c++.
25681         * tests/test-math-c++2.cc: New file.
25682         * modules/math-tests (Files): Add it.
25683         (Makefile.am): Compile it for test-math-c++.
25684         * tests/test-signal-c++2.cc: New file.
25685         * modules/signal-tests (Files): Add it.
25686         (Makefile.am): Compile it for test-signal-c++.
25687         * tests/test-stdio-c++2.cc: New file.
25688         * modules/stdio-tests (Files): Add it.
25689         (Makefile.am): Compile it for test-stdio-c++.
25690         * tests/test-stdlib-c++2.cc: New file.
25691         * modules/stdlib-tests (Files): Add it.
25692         (Makefile.am): Compile it for test-stdlib-c++.
25693         * tests/test-string-c++2.cc: New file.
25694         * modules/string-tests (Files): Add it.
25695         (Makefile.am): Compile it for test-string-c++.
25696         * tests/test-time-c++2.cc: New file.
25697         * modules/time-tests (Files): Add it.
25698         (Makefile.am): Compile it for test-time-c++.
25699         Reported by John W. Eaton <jwe@gnu.org>.
25700
25701 2010-03-13  Bruno Haible  <bruno@clisp.org>
25702
25703         * gnulib-tool (func_usage): Clarify which options are available for
25704         --create-testdir and --create-megatestdir.
25705
25706 2010-03-13  Bruno Haible  <bruno@clisp.org>
25707
25708         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
25709         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
25710         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
25711         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25712         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
25713         when appropriate.
25714         Reported by Jim Meyering.
25715
25716 2010-03-12  Simon Josefsson  <simon@josefsson.org>
25717
25718         * gnulib-tool (func_import): Explain origin of code.
25719
25720 2010-03-12  Bruno Haible  <bruno@clisp.org>
25721
25722         Fix problem with automake's definition of CXXLINK.
25723         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
25724         Reported by Simon Josefsson and Ludovic Courtès.
25725
25726 2010-03-12  Bruno Haible  <bruno@clisp.org>
25727
25728         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
25729         stable releases.
25730
25731 2010-03-11  Bruno Haible  <bruno@clisp.org>
25732
25733         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
25734         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
25735         whether the system provides one variant or multiple variants of the
25736         function.
25737         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
25738         C++ compilers.
25739         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
25740         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
25741         Reported by Jim Meyering.
25742
25743 2010-03-09  Simon Josefsson  <simon@josefsson.org>
25744
25745         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
25746
25747 2010-03-08  Bruno Haible  <bruno@clisp.org>
25748
25749         gnulib-tool: Add support for --libtool in --create-testdir.
25750         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
25751         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
25752
25753 2010-03-08  Eric Blake  <eblake@redhat.com>
25754
25755         gnulib-tool.texi: mention possibility of git submodule
25756         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
25757         submodules.
25758         * doc/.gitignore: Ignore another generated file.
25759
25760 2010-03-08  Karl Berry  <karl@gnu.org>
25761
25762         * doc/gnulib-tool.texi (VCS Issues): Mention third option
25763         of committing gnulib files while skipping others.
25764
25765 2010-03-07  Bruno Haible  <bruno@clisp.org>
25766
25767         Tests of module 'wctype' in C++ mode.
25768         * tests/test-wctype-c++.cc: New file.
25769         * modules/wctype-tests (Files): Add it and tests/signature.h.
25770         (Depends-on): Add ansi-c++-opt.
25771         (Makefile.am): Arrange to compile and run test-wctype-c++.
25772
25773         Tests of module 'wchar' in C++ mode.
25774         * tests/test-wchar-c++.cc: New file.
25775         * modules/wchar-tests (Files): Add it and tests/signature.h.
25776         (Depends-on): Add ansi-c++-opt.
25777         (Makefile.am): Arrange to compile and run test-wchar-c++.
25778         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
25779         gl_MODULE_INDICATOR.
25780
25781         Tests of module 'unistd' in C++ mode.
25782         * tests/test-unistd-c++.cc: New file.
25783         * modules/unistd-tests (Files): Add it and tests/signature.h.
25784         (Depends-on): Add ansi-c++-opt.
25785         (Makefile.am): Arrange to compile and run test-unistd-c++.
25786         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
25787         gl_MODULE_INDICATOR.
25788
25789         Tests of module 'time' in C++ mode.
25790         * tests/test-time-c++.cc: New file.
25791         * modules/time-tests (Files): Add it and tests/signature.h.
25792         (Depends-on): Add ansi-c++-opt.
25793         (Makefile.am): Arrange to compile and run test-time-c++.
25794         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25795
25796         Tests of module 'sys_time' in C++ mode.
25797         * tests/test-sys_time-c++.cc: New file.
25798         * modules/sys_time-tests (Files): Add it and tests/signature.h.
25799         (Depends-on): Add ansi-c++-opt.
25800         (Makefile.am): Arrange to compile and run test-sys_time-c++.
25801         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
25802         gl_MODULE_INDICATOR.
25803
25804         Tests of module 'sys_stat' in C++ mode.
25805         * tests/test-sys_stat-c++.cc: New file.
25806         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
25807         (Depends-on): Add ansi-c++-opt.
25808         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
25809         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
25810         gl_MODULE_INDICATOR.
25811
25812         Tests of module 'sys_socket' in C++ mode.
25813         * tests/test-sys_socket-c++.cc: New file.
25814         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
25815         (Depends-on): Add ansi-c++-opt.
25816         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
25817         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
25818         gl_MODULE_INDICATOR.
25819
25820         Tests of module 'sys_select' in C++ mode.
25821         * tests/test-sys_select-c++.cc: New file.
25822         * modules/sys_select-tests (Files): Add it and tests/signature.h.
25823         (Depends-on): Add ansi-c++-opt.
25824         (Makefile.am): Arrange to compile and run test-sys_select-c++.
25825         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
25826         gl_MODULE_INDICATOR.
25827
25828         Tests of module 'sys_ioctl' in C++ mode.
25829         * tests/test-sys_ioctl-c++.cc: New file.
25830         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
25831         (Depends-on): Add ansi-c++-opt.
25832         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
25833         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
25834         gl_MODULE_INDICATOR.
25835
25836         Tests of module 'string' in C++ mode.
25837         * tests/test-string-c++.cc: New file.
25838         * modules/string-tests (Files): Add it and tests/signature.h.
25839         (Depends-on): Add ansi-c++-opt.
25840         (Makefile.am): Arrange to compile and run test-string-c++.
25841         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
25842         gl_MODULE_INDICATOR.
25843
25844         Tests of module 'stdlib' in C++ mode.
25845         * tests/test-stdlib-c++.cc: New file.
25846         * modules/stdlib-tests (Files): Add it and tests/signature.h.
25847         (Depends-on): Add ansi-c++-opt.
25848         (Makefile.am): Arrange to compile and run test-stdlib-c++.
25849         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
25850         gl_MODULE_INDICATOR.
25851
25852         Tests of module 'stdio' in C++ mode.
25853         * tests/test-stdio-c++.cc: New file.
25854         * modules/stdio-tests (Files): Add it and tests/signature.h.
25855         (Depends-on): Add ansi-c++-opt.
25856         (Makefile.am): Arrange to compile and run test-stdio-c++.
25857         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
25858         gl_MODULE_INDICATOR.
25859
25860         Tests of module 'spawn' in C++ mode.
25861         * tests/test-spawn-c++.cc: New file.
25862         * modules/spawn-tests (Files): Add it and tests/signature.h.
25863         (Depends-on): Add ansi-c++-opt.
25864         (Makefile.am): Arrange to compile and run test-spawn-c++.
25865         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
25866         gl_MODULE_INDICATOR.
25867
25868         Tests of module 'signal' in C++ mode.
25869         * tests/test-signal-c++.cc: New file.
25870         * modules/signal-tests (Files): Add it and tests/signature.h.
25871         (Depends-on): Add ansi-c++-opt.
25872         (Makefile.am): Arrange to compile and run test-signal-c++.
25873         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
25874         gl_MODULE_INDICATOR.
25875
25876         Tests of module 'search' in C++ mode.
25877         * tests/test-search-c++.cc: New file.
25878         * modules/search-tests (Files): Add it and tests/signature.h.
25879         (Depends-on): Add ansi-c++-opt.
25880         (Makefile.am): Arrange to compile and run test-search-c++.
25881         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
25882         gl_MODULE_INDICATOR.
25883
25884         Tests of module 'math' in C++ mode.
25885         * tests/test-math-c++.cc: New file.
25886         * modules/math-tests (Files): Add it and tests/signature.h.
25887         (Depends-on): Add ansi-c++-opt.
25888         (Makefile.am): Arrange to compile and run test-math-c++.
25889         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
25890
25891         Tests of module 'locale' in C++ mode.
25892         * tests/test-locale-c++.cc: New file.
25893         * modules/locale-tests (Files): Add it and tests/signature.h.
25894         (Depends-on): Add ansi-c++-opt.
25895         (Makefile.am): Arrange to compile and run test-locale-c++.
25896         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
25897         gl_MODULE_INDICATOR.
25898
25899         Tests of module 'langinfo' in C++ mode.
25900         * tests/test-langinfo-c++.cc: New file.
25901         * modules/langinfo-tests (Files): Add it and tests/signature.h.
25902         (Depends-on): Add ansi-c++-opt.
25903         (Makefile.am): Arrange to compile and run test-langinfo-c++.
25904         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
25905         gl_MODULE_INDICATOR.
25906
25907         Tests of module 'iconv-h' in C++ mode.
25908         * tests/test-iconv-h-c++.cc: New file.
25909         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
25910         (Depends-on): Add ansi-c++-opt.
25911         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
25912
25913         Tests of module 'glob' in C++ mode.
25914         * tests/test-glob-c++.cc: New file.
25915         * modules/glob-tests (Files): Add it.
25916         (Depends-on): Add ansi-c++-opt.
25917         (Makefile.am): Arrange to compile and run test-glob-c++.
25918
25919         Tests of module 'fcntl-h' in C++ mode.
25920         * tests/test-fcntl-h-c++.cc: New file.
25921         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
25922         (Depends-on): Add ansi-c++-opt.
25923         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
25924         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
25925         gl_MODULE_INDICATOR.
25926
25927         Tests of module 'dirent' in C++ mode.
25928         * tests/test-dirent-c++.cc: New file.
25929         * modules/dirent-tests (Files): Add it and tests/signature.h.
25930         (Depends-on): Add ansi-c++-opt.
25931         (Makefile.am): Arrange to compile and run test-dirent-c++.
25932         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
25933         gl_MODULE_INDICATOR.
25934
25935         New module 'ansi-c++-opt'.
25936         * modules/ansi-c++-opt: New file.
25937         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
25938
25939         Document C++ namespace mode.
25940         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
25941
25942         wctype: Avoid #define replacements in C++ mode.
25943         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
25944         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
25945         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
25946         In C++, define a namespaced alias symbol.
25947         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
25948         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
25949         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
25950         rule.
25951
25952         wchar: Avoid #define replacements in C++ mode.
25953         * lib/wchar.in.h: Include c++defs.h.
25954         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
25955         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
25956         symbol.
25957         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
25958         * modules/wchar (Depends-on): Add c++defs.
25959         (Makefile.am): Update wchar.h rule.
25960
25961         unistd: Avoid #define replacements in C++ mode.
25962         * lib/unistd.in.h: Include c++defs.h.
25963         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
25964         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
25965         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
25966         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
25967         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
25968         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
25969         symbol.
25970         (environ): Update.
25971         * modules/unistd (Depends-on): Add c++defs.
25972         (Makefile.am): Update unistd.h rule.
25973
25974         time: Avoid #define replacements in C++ mode.
25975         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
25976         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
25977         define a namespaced alias symbol.
25978         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
25979         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
25980         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
25981         * modules/time (Depends-on): Add c++defs, warn-on-use.
25982         (Makefile.am): Update time.h rule.
25983         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
25984         * modules/nanosleep (configure.ac): Likewise.
25985         * modules/strptime (configure.ac): Likewise.
25986         * modules/timegm (configure.ac): Likewise.
25987
25988         sys_time: Avoid #define replacements in C++ mode.
25989         * lib/sys_time.in.h: Include c++defs.h.
25990         (gettimeofday): In C++, define a namespaced alias symbol.
25991         * modules/sys_time (Depends-on): Add c++defs.
25992         (Makefile.am): Update sys/time.h rule.
25993
25994         sys_stat: Avoid #define replacements in C++ mode.
25995         * lib/sys_stat.in.h: Include c++defs.h.
25996         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
25997         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
25998         namespaced alias symbol.
25999         In C++, define a namespaced alias symbol.
26000         * modules/sys_stat (Depends-on): Add c++defs.
26001         (Makefile.am): Update sys/stat.h rule.
26002
26003         sys_socket: Avoid #define replacements in C++ mode.
26004         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
26005         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
26006         definitions also when the system has a <sys/socket.h>.
26007         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26008         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
26009         In C++, define a namespaced alias symbol.
26010         * modules/sys_socket (Depends-on): Add c++defs.
26011         (Makefile.am): Update sys/socket.h rule.
26012
26013         sys_select: Avoid #define replacements in C++ mode.
26014         * lib/sys_select.in.h: Include c++defs.h. Enable the function
26015         definitions also when the system has a <sys/select.h>.
26016         (select): In C++, define a namespaced alias symbol.
26017         * modules/sys_select (Depends-on): Add c++defs.
26018         (Makefile.am): Update sys/select.h rule.
26019
26020         sys_ioctl: Avoid #define replacements in C++ mode.
26021         * lib/sys_ioctl.in.h: Include c++defs.h.
26022         (ioctl): In C++, define a namespaced alias symbol.
26023         * modules/sys_ioctl (Depends-on): Add c++defs.
26024         (Makefile.am): Update sys/ioctl.h rule.
26025
26026         string: Avoid #define replacements in C++ mode.
26027         * lib/string.in.h: Include c++defs.h.
26028         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
26029         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26030         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26031         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
26032         strsignal, strverscmp): In C++, define a namespaced alias symbol.
26033         * modules/string (Depends-on): Add c++defs.
26034         (Makefile.am): Update string.h rule.
26035
26036         stdlib: Avoid #define replacements in C++ mode.
26037         * lib/stdlib.in.h: Include c++defs.h.
26038         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
26039         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
26040         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
26041         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
26042         symbol.
26043         * modules/stdlib (Depends-on): Add c++defs.
26044         (Makefile.am): Update stdlib.h rule.
26045
26046         stdio: Avoid #define replacements in C++ mode.
26047         * lib/stdio.in.h: Include c++defs.h.
26048         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
26049         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
26050         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
26051         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
26052         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
26053         namespaced alias symbol.
26054         * modules/stdio (Depends-on): Add c++defs.
26055         (Makefile.am): Update stdio.h rule.
26056
26057         spawn: Avoid #define replacements in C++ mode.
26058         * lib/spawn.in.h: Include c++defs.h.
26059         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26060         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26061         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26062         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26063         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26064         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26065         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26066         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26067         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26068         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26069         In C++, define a namespaced alias symbol.
26070         * modules/spawn (Depends-on): Add c++defs.
26071         (Makefile.am): Update spawn.h rule.
26072
26073         signal: Avoid #define replacements in C++ mode.
26074         * lib/signal.in.h: Include c++defs.h.
26075         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26076         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
26077         namespaced alias symbol.
26078         * modules/signal (Depends-on): Add c++defs.
26079         (Makefile.am): Update signal.h rule.
26080
26081         search: Avoid #define replacements in C++ mode.
26082         * lib/search.in.h: Include c++defs.h.
26083         (_gl_search_compar_fn, _gl_search_action_fn): New types.
26084         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
26085         symbol.
26086         * modules/search (Depends-on): Add c++defs.
26087         (Makefile.am): Update search.h rule.
26088
26089         math: Avoid #define replacements in C++ mode.
26090         * lib/math.in.h: Include c++defs.h.
26091         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
26092         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
26093         trunc, truncl): In C++, define a namespaced alias symbol.
26094         * modules/math (Depends-on): Add c++defs.
26095         (Makefile.am): Update math.h rule.
26096
26097         locale: Avoid #define replacements in C++ mode.
26098         * lib/locale.in.h: Include c++defs.h.
26099         (duplocale): In C++, define a namespaced alias symbol.
26100         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
26101         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
26102         * modules/locale (Depends-on): Add c++defs.
26103         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
26104
26105         langinfo: Avoid #define replacements in C++ mode.
26106         * lib/langinfo.in.h: Include c++defs.h.
26107         (nl_langinfo): In C++, define a namespaced alias symbol.
26108         * modules/langinfo (Depends-on): Add c++defs.
26109         (Makefile.am): Update langinfo.h rule.
26110
26111         iconv-h: Avoid #define replacements in C++ mode.
26112         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
26113         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
26114         symbol.
26115         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26116         whenever iconv is present.
26117         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
26118         (Makefile.am): Update iconv.h rule.
26119
26120         glob: Avoid #define replacements in C++ mode.
26121         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
26122         (_gl_glob_errfunc_fn): New type.
26123         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
26124         symbol.
26125         * modules/glob (Depends-on): Add c++defs, warn-on-use.
26126         (Makefile.am): Update glob.h rule.
26127
26128         fcntl-h: Avoid #define replacements in C++ mode.
26129         * lib/fcntl.in.h: Include c++defs.h.
26130         (fcntl, open, openat): In C++, define a namespaced alias symbol.
26131         * modules/fcntl-h (Depends-on): Add c++defs.
26132         (Makefile.am): Update fcntl.h rule.
26133
26134         dirent: Avoid #define replacements in C++ mode.
26135         * lib/dirent.in.h: Include c++defs.h.
26136         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
26137         namespaced alias symbol.
26138         (dirfd): Update declaration.
26139         * modules/dirent (Depends-on): Add c++defs.
26140         (Makefile.am): Update dirent.h rule.
26141
26142         ctype: Make it usable in C++ code.
26143         * lib/ctype.in.h: Include c++defs.h.
26144         (isblank): Declare as extern "C".
26145         * modules/ctype (Depends-on): Add c++defs.
26146         (Makefile.am): Update ctype.h rule.
26147
26148         New module 'c++defs'.
26149         * modules/c++defs: New file.
26150         * build-aux/c++defs.h: New file.
26151         Reported by John W. Eaton <jwe@gnu.org>.
26152
26153 2010-03-07  Bruno Haible  <bruno@clisp.org>
26154
26155         logb: Provide missing declaration for Cygwin.
26156         * lib/math.in.h (logb): New declaration.
26157         * m4/logb.m4: New file.
26158         * modules/logb (Files): Add m4/logb.m4.
26159         (Depends-on): Add math.
26160         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
26161         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
26162         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
26163         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
26164         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
26165
26166 2010-03-07  Bruno Haible  <bruno@clisp.org>
26167
26168         Fix test-cond link error.
26169         * tests/test-cond.c: Include <stdio.h>.
26170
26171 2010-03-07  Bruno Haible  <bruno@clisp.org>
26172
26173         Fix test-dirent-safer link error.
26174         * modules/dirent-safer-tests (Makefile.am): Define
26175         test_dirent_safer_LDADD.
26176
26177 2010-03-07  Bruno Haible  <bruno@clisp.org>
26178
26179         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
26180         among default module list.
26181
26182 2010-03-07  Bruno Haible  <bruno@clisp.org>
26183
26184         Fix link error on platforms with GNU libiconv.
26185         * modules/unistr/u8-strcoll-tests (Makefile): Define
26186         test_u8_strcoll_LDADD.
26187         * modules/unistr/u16-strcoll-tests (Makefile): Define
26188         test_u16_strcoll_LDADD.
26189         * modules/unistr/u32-strcoll-tests (Makefile): Define
26190         test_u32_strcoll_LDADD.
26191
26192 2010-03-07  Bruno Haible  <bruno@clisp.org>
26193
26194         Use POSIX declarations for socket functions.
26195         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
26196         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
26197         rpl_sendto): Change declaration to match POSIX.
26198         * lib/connect.c (rpl_connect): Likewise.
26199         * lib/accept.c (rpl_accept): Likewise.
26200         * lib/bind.c (rpl_bind): Likewise.
26201         * lib/getpeername.c (rpl_getpeername): Likewise.
26202         * lib/getsockname.c (rpl_getsockname): Likewise.
26203         * lib/recv.c (rpl_recv): Likewise.
26204         * lib/send.c (rpl_send): Likewise.
26205         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26206         * lib/sendto.c (rpl_sendto): Likewise.
26207
26208 2010-03-06  Bruno Haible  <bruno@clisp.org>
26209
26210         Clarify access, euidaccess, faccessat.
26211         * doc/posix-functions/faccessat.texi: Mention security problem under
26212         "Other problems", not "Portability problems".
26213         * doc/posix-functions/access.texi: Likewise. Mention a related security
26214         problem.
26215         * doc/glibc-functions/euidaccess.texi: Mention security problems.
26216         * lib/euidaccess.c: Add comments about platforms.
26217         * lib/unistd.in.h (access, euidaccess): Add warnings.
26218
26219 2010-03-07  Bruno Haible  <bruno@clisp.org>
26220
26221         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
26222         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
26223         (POSIX_SPAWN_SETSCHEDULER): Likewise.
26224         (POSIX_SPAWN_USEVFORK): Define in a way that works when
26225         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26226         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
26227         declare when POSIX_SPAWN_SETSCHEDULER is zero.
26228         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
26229         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
26230         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
26231         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
26232         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
26233         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
26234         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
26235         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
26236         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
26237         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
26238         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
26239         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
26240         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
26241         Likewise.
26242         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
26243         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
26244         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
26245         Likewise.
26246         * tests/test-spawn.c (main): Make it work when
26247         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
26248
26249 2010-03-07  Bruno Haible  <bruno@clisp.org>
26250
26251         Fix incorrect Makefile.am generation in German locale.
26252         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26253         Execute sed command with character range in C locale.
26254
26255 2010-03-06  Bruno Haible  <bruno@clisp.org>
26256
26257         Tests for module 'iconv-h'.
26258         * modules/iconv-h-tests: New file.
26259         * tests/test-iconv-h.c: New file.
26260
26261         New module 'iconv-h'.
26262         * modules/iconv-h: New file.
26263         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
26264         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
26265         (configure.ac): Remove gl_ICONV_H.
26266         (Makefile.am): Remove rule for iconv.h.
26267
26268 2010-03-06  Bruno Haible  <bruno@clisp.org>
26269
26270         More consistent naming of *.m4 files.
26271         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
26272         * modules/wctype (Files): Update.
26273
26274         More consistent naming of *.m4 files.
26275         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
26276         * modules/wchar (Files): Update.
26277
26278 2010-03-06  Jim Meyering  <meyering@redhat.com>
26279
26280         euidaccess: relax license to LGPLv2+
26281         * modules/euidaccess (License): Relax to LGPLv2+.
26282
26283 2010-03-06  Bruno Haible  <bruno@clisp.org>
26284
26285         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
26286         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
26287         (Makefile.am): Augment lib_SOURCES instead.
26288
26289 2010-03-04  Jim Meyering  <meyering@redhat.com>
26290
26291         utime: remove obsolete module
26292         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
26293         unnecessary for years, and has been marked as obsolete for 10 months.
26294         * modules/utime: Remove file.
26295         * lib/utime.c: Remove file.
26296         * m4/utime.m4: Remove file.
26297         * m4/utimes-null.m4: Remove file.
26298         * doc/posix-functions/utime.texi (utime): Remove reference to
26299         the module.  Move the sole "fixed by gnulib" item into the
26300         "problems not fixed by Gnulib" list.
26301         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
26302
26303 2010-03-05  Simon Josefsson  <simon@josefsson.org>
26304
26305         * modules/exit (License): Relax license to LGPLv2+.
26306         (Status): Mark as obsolete.
26307         * NEWS: Mention deprecated 'exit' module.
26308         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
26309         of now obsolete 'exit'.
26310
26311 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26312
26313         fts-lgpl: remove unused module
26314         * modules/fts-lgpl: Remove.
26315         * MODULES.html.sh (func_all_modules): Adjust.
26316         * check-module (find_included_lib_files): Adjust.
26317         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
26318
26319 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26320
26321         copy-acl: enhance Solaris ACL error handling
26322         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
26323         * lib/set-mode-acl.c (qset_acl): Likewise.
26324
26325 2010-03-02  Bruno Haible  <bruno@clisp.org>
26326
26327         spawn: Don't override the system defined values on FreeBSD 8.
26328         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
26329         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
26330         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
26331         if HAVE_POSIX_SPAWN is 1.
26332         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
26333
26334 2010-03-01  Bruno Haible  <bruno@clisp.org>
26335
26336         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
26337         regarding Automake.
26338
26339 2010-02-25  Bruno Haible  <bruno@clisp.org>
26340
26341         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
26342         * gnulib-tool: Define 'echo' as a function only before the ksh alias
26343         setting, not afterwards.
26344         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26345
26346 2010-02-24  Eric Blake  <eblake@redhat.com>
26347
26348         bootstrap, git-version-gen: use timestamp
26349         * build-aux/git-version-gen (scriptversion): Force UTC.
26350         * build-aux/bootstrap (scriptversion): New variable.
26351
26352         bootstrap: allow older git
26353         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
26354         older than 1.6.4.  Requested by the libvirt project.
26355
26356 2010-02-23  Eric Blake  <eblake@redhat.com>
26357
26358         warn-on-use: work with old autoconf
26359         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
26360         AS_VAR semantics of autoconf 2.60.
26361         Reported by Bruno Haible.
26362
26363         bootstrap: improve some comments
26364         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
26365         clarification comments.
26366
26367         gettimeofday: provide correct function
26368         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
26369         when replacement is declared, otherwise provide gettimeofday.
26370         Reported by Michael Goffioul.
26371
26372 2010-02-23  Jim Meyering  <meyering@redhat.com>
26373
26374         lib-ignore: relax license to "unlimited", not LGPLv2+
26375         * modules/lib-ignore (License): Relax to "unlimited".
26376
26377 2010-02-23  Jim Meyering  <meyering@redhat.com>
26378
26379         lib-ignore: relax license to LGPLv2+
26380         * modules/lib-ignore (License): Relax to LGPLv2+.
26381
26382 2010-02-22  Eric Blake  <eblake@redhat.com>
26383
26384         lseek: avoid bash 3.2 broken pipe bug
26385         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
26386         warning from bash 3.2.
26387         Reported by Ben Pfaff, with analysis from Bruno Haible.
26388
26389         bootstrap: support non-FSF copyright holder
26390         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
26391         bootstrap.conf override of COPYRIGHT_HOLDER.
26392         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
26393
26394         bootstrap: interoperate with gettext 0.14.1
26395         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
26396
26397         bootstrap: allow for alternate submodule location
26398         * build-aux/bootstrap (gnulib_path): New variable; use instead of
26399         hardcoding submodule location.
26400         (gnulib_mk): Allow direct use of Makefile.am.
26401
26402         bootstrap: use GNULIB_SRCDIR to reduce disk usage
26403         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
26404         rather than reconfiguring where the submodule points.
26405
26406         gettimeofday: restore support for platforms that lack function
26407         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
26408         replacement if function is missing.
26409         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
26410         * modules/sys_time (Makefile.am): Substitute it.
26411         * lib/sys_time.in.h (gettimeofday): Check it.
26412         Reported by Michael Goffioul.
26413
26414 2010-02-21  Bruno Haible  <bruno@clisp.org>
26415
26416         * lib/stdio.in.h (obstack_printf): Fix typo.
26417
26418 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
26419
26420         vc-list-files: use bzr ls's -R option
26421         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
26422         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
26423
26424 2010-02-21  Jim Meyering  <meyering@redhat.com>
26425
26426         init.sh: fix EXEEXT shims to work also for names like test-prog
26427         * tests/init.sh: Re-exec a better shell, when needed.
26428         If the current shell lacks support for posix $(...), an init.sh-using
26429         test will now try to find a shell that supports that.  If EXEEXT is
26430         nonempty, we also require support for hyphen-in-alias-name and shell
26431         substitutions like ${var#glob}.  Failure to find such a shell results
26432         in a skipped test.
26433
26434 2010-02-21  Bruno Haible  <bruno@clisp.org>
26435
26436         Really work around around "broken pipe" error message from bash 3.2.
26437         * gnulib-tool (func_reset_sigpipe): Remove function.
26438         (echo): In bash 3.2, define to a function that uses printf.
26439         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
26440
26441 2010-02-20  Bruno Haible  <bruno@clisp.org>
26442
26443         Restore support for automake 1.9.6 with autoconf 2.61.
26444         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
26445         Reported by James Youngman <jay@gnu.org>.
26446
26447 2010-02-20  Bruno Haible  <bruno@clisp.org>
26448
26449         Improve *printf warning condition.
26450         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
26451         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
26452         and the function is overridden due to SIGPIPE emulation.
26453
26454 2010-02-20  Bruno Haible  <bruno@clisp.org>
26455
26456         * lib/stdio.in.h: Tweak comments.
26457
26458 2010-02-19  Bruno Haible  <bruno@clisp.org>
26459
26460         Make it easier to find modules. New gnulib-tool option '--find'.
26461         * gnulib-tool: New option --find.
26462         (func_usage): Document it.
26463         (func_sanitize_modulelist): New function, extracted from
26464         func_all_modules.
26465         (func_all_modules): Invoke it.
26466         * doc/gnulib-tool.texi (Which modules?): New node.
26467
26468 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
26469
26470         * lib/sys_select.in.h: Provide select replacement even if
26471         sys/select.h exists on a system, for Interix.
26472
26473 2010-02-18  Jim Meyering  <meyering@redhat.com>
26474
26475         init.sh: don't use $(...) just yet
26476         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
26477         to accommodate e.g., Solaris' /bin/sh.
26478
26479 2010-02-17  Bruno Haible  <bruno@clisp.org>
26480
26481         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
26482         Reported by Ludovic Courtès <ludo@gnu.org>.
26483
26484 2010-02-16  Simon Josefsson  <simon@josefsson.org>
26485
26486         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
26487         linking with -lintl.
26488
26489 2010-02-17  Simon Josefsson  <simon@josefsson.org>
26490
26491         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
26492         if not provided by the system's netdb.h.  Reported by
26493         ludo@gnu.org (Ludovic Courtès).
26494
26495 2010-02-15  Jim Meyering  <meyering@redhat.com>
26496
26497         init.sh: improve portability and efficiency
26498         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
26499         "dummy" in a for loop.
26500         Use '!', not '^' to select the complement of a character set used
26501         in a "case" statement.
26502         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
26503         Suggestions from Eric Blake.
26504
26505         init.sh: automatically accommodate programs with the .exe suffix
26506         Automatically arrange for an invocation of "prog" to execute the
26507         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
26508         may use the simpler "prog", yet still work when built on a system
26509         that requires specifying the added suffix.
26510         Do this by constructing a function named "prog" that invokes
26511         "prog.exe" for each .exe file in selected directories.
26512         * tests/init.sh (find_exe_basenames_): New function.
26513         (create_exe_shim_functions_): New function.
26514         (path_prepend_): Use it.
26515
26516         maint.mk: mark syntax-check sc_*.m rules as .PHONY
26517         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
26518         "make -t syntax-check" doesn't create a ton of sc_*.m files.
26519
26520 2010-02-14  Jim Meyering  <meyering@redhat.com>
26521
26522         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
26523         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
26524         (sc_prohibit_hash_pjw_without_use): New rule.
26525
26526         maint.mk: allow the default upload destination dir to be overridden
26527         * top/maint.mk (upload_dest_dir_): Define with a default that
26528         preserves the status quo.
26529         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
26530         Reported by Peter Simons.
26531
26532         maint.mk: prohibit inclusion of "hash.h" without_use
26533         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
26534
26535 2010-02-10  Jim Meyering  <meyering@redhat.com>
26536
26537         maint.mk: prohibit inclusion of "ignore-value.h" without_use
26538         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
26539
26540 2010-02-09  Eric Blake  <ebb9@byu.net>
26541         and Bruno Haible  <bruno@clisp.org>
26542
26543         obstack-printf-posix: ensure declaration
26544         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
26545         extracted from gl_FUNC_OBSTACK_PRINTF.
26546         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
26547         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26548         Likewise.
26549         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
26550         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
26551         0.
26552
26553 2010-02-08  Bruno Haible  <bruno@clisp.org>
26554
26555         gnulib-tool: Fix typo in 2010-02-07 commit.
26556         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
26557         Reported by Eric Blake.
26558
26559 2010-02-07  Bruno Haible  <bruno@clisp.org>
26560
26561         gnulib-tool: Fix up caching patches.
26562         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
26563         option --no-cache. Use associative arrays when supported by the shell.
26564         (sed_comments): New variable.
26565         (modcache): Renamed from do_cache.
26566         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
26567         abbreviate unnecessarily.
26568         (have_associative): New variable.
26569         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
26570         way also for ksh and zsh.
26571         (func_init_sed_convert_to_cache_statements): New function, extracted
26572         from func_cache_lookup_module. Add support for associative arrays.
26573         Don't set the c_MODULE_cached variable here. Ignore all lines before
26574         the first field header. Remove only the final newline, not all trailing
26575         newlines. Support empty fields correctly. Limit the use of 'eval' to
26576         assignments.
26577         (func_get_description, func_get_status, func_get_notice,
26578         func_get_applicability, func_get_filelist, func_get_dependencies,
26579         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
26580         func_get_automake_snippet, func_get_include_directive,
26581         func_get_link_directive, func_get_license, func_get_maintainer):
26582         Update documentation. List the unoptimized code first. Add support for
26583         associative arrays. Limit the use of 'eval' to assignments.
26584         (func_get_applicability): Undo stylistic pessimisations.
26585         (func_get_automake_snippet, func_get_include_directive): Reduce code
26586         duplication.
26587         (func_modules_transitive_closure, func_modules_add_dummy,
26588         func_modules_notice, func_modules_to_filelist, func_add_file,
26589         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
26590         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
26591         func_create_testdir, func_create_megatestdir): Update documentation.
26592
26593 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26594
26595         * gnulib-tool (func_cache_lookup_module): Store the module name
26596         belonging to the cache variable; error out if two different
26597         module names map to the same cache variable name.
26598
26599 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26600
26601         gnulib-tool: Make caching optional.
26602         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
26603         Update matching short versions of --no-changelog.
26604         (func_usage): Update.
26605         (sed_extract_cache_prog): Renamed from ...
26606         (sed_extract_prog): ... this; revert to old extraction script.
26607         (func_get_description, func_get_status)
26608         (func_get_notice, func_get_applicability, func_get_filelist)
26609         (func_get_dependencies, func_get_autoconf_early_snippet)
26610         (func_get_autoconf_snippet, func_get_automake_snippet)
26611         (func_get_include_directive, func_get_link_directive)
26612         (func_get_license, func_get_maintainer): If $do_cache is false,
26613         use old, non-caching extraction scripts.
26614         Suggestion by Bruno Haible.
26615
26616 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26617
26618         gnulib-tool: cache module metainformation.
26619         * gnulib-tool (sed_extract_prog): Match newline before each
26620         header, and rewrite header to a shell variable suffix.
26621         (func_cache_var, func_cache_lookup_module): New functions,
26622         to turn a module name into a cache variable prefix, and to
26623         look up and cache module metainformation.
26624         (func_get_description, func_get_status)
26625         (func_get_notice, func_get_applicability, func_get_filelist)
26626         (func_get_dependencies, func_get_autoconf_early_snippet)
26627         (func_get_autoconf_snippet, func_get_automake_snippet)
26628         (func_get_include_directive, func_get_link_directive)
26629         (func_get_license, func_get_maintainer): Use
26630         func_cache_lookup_module.
26631
26632 2010-02-07  Bruno Haible  <bruno@clisp.org>
26633
26634         fnctl: Fix missing dependency.
26635         * modules/fcntl (Depends-on): Add getdtablesize.
26636         Reported by John W. Eaton <jwe@gnu.org>.
26637
26638 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26639
26640         Argp: fix recognition of short alias options.
26641
26642         * lib/argp-parse.c (convert_options): Fix improper use of
26643         `|' between character values.
26644         * tests/test-argp.c (group1_option): New alias option
26645         --read (-r).
26646         (group1_parser): Special handling for 'r'.
26647         (test15): New test case.
26648         (test_fun): Add test15.
26649         * tests/test-argp-2.sh: Update expected --help and --usage
26650         outputs.
26651
26652 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
26653
26654         * tests/test-argp.c: Fix indentation.
26655
26656 2010-02-04  Eric Blake  <ebb9@byu.net>
26657
26658         gettimeofday: expose type of second argument
26659         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
26660         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
26661         * tests/test-gettimeofday.c: Use it to silence warning.
26662         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
26663         the issue.
26664
26665 2010-02-03  Jim Meyering  <meyering@redhat.com>
26666
26667         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
26668         * lib/regcomp.c (TYPE_SIGNED): Define.
26669         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
26670
26671         regcomp.c: avoid a new -Wshadow warning
26672         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
26673
26674 2010-02-01  Jim Meyering  <meyering@redhat.com>
26675
26676         removing useless parentheses in cpp #define directives
26677         For motivation, see commit c0221df4, "define STREQ(a,b)
26678         consistently, removing useless parentheses"
26679         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
26680         * lib/mountlist.c (MNT_IGNORE): Likewise.
26681         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
26682
26683 2010-02-01  Eric Blake  <ebb9@byu.net>
26684
26685         sys_time: use link-warning
26686         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
26687         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
26688         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
26689         * modules/sys_time (Depends-on): Add warn-on-use.
26690         (Makefile.am): Always build replacement.
26691         (configure.ac): Update substitutions.
26692         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
26693         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
26694         bother with SYS_TIME_H.
26695         * modules/gettimeofday (configure.ac): Declare indicator.
26696         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
26697         in use.
26698
26699         closein-tests: silence compiler warning
26700         * tests/test-closein.c (main): Ignore fread result.
26701         * modules/closein-tests (Depends-on): Add ignore-value.
26702
26703         tests: silence warning about system return
26704         * tests/test-areadlink-with-size.c (main): Ignore system result.
26705         * tests/test-areadlink.c (main): Likewise.
26706         * tests/test-areadlinkat-with-size.c (main): Likewise.
26707         * tests/test-areadlinkat.c (main): Likewise.
26708         * tests/test-canonicalize-lgpl.c (main): Likewise.
26709         * tests/test-canonicalize.c (main): Likewise.
26710         * tests/test-chown.c (main): Likewise.
26711         * tests/test-fchownat.c (main): Likewise.
26712         * tests/test-fdutimensat.c (main): Likewise.
26713         * tests/test-fstatat.c (main): Likewise.
26714         * tests/test-futimens.c (main): Likewise.
26715         * tests/test-lchown.c (main): Likewise.
26716         * tests/test-link.c (main): Likewise.
26717         * tests/test-linkat.c (main): Likewise.
26718         * tests/test-lstat.c (main): Likewise.
26719         * tests/test-mkdir.c (main): Likewise.
26720         * tests/test-mkdirat.c (main): Likewise.
26721         * tests/test-mkfifo.c (main): Likewise.
26722         * tests/test-mkfifoat.c (main): Likewise.
26723         * tests/test-mknod.c (main): Likewise.
26724         * tests/test-readlink.c (main): Likewise.
26725         * tests/test-remove.c (main): Likewise.
26726         * tests/test-rename.c (main): Likewise.
26727         * tests/test-renameat.c (main): Likewise.
26728         * tests/test-rmdir.c (main): Likewise.
26729         * tests/test-symlink.c (main): Likewise.
26730         * tests/test-symlinkat.c (main): Likewise.
26731         * tests/test-unlink.c (main): Likewise.
26732         * tests/test-unlinkat.c (main): Likewise.
26733         * tests/test-utimens.c (main): Likewise.
26734         * tests/test-utimensat.c (main): Likewise.
26735         * modules/areadlink-tests (Depends-on): Add ignore-value.
26736         * modules/areadlink-with-size-tests (Depends-on): Likewise.
26737         * modules/areadlinkat-tests (Depends-on): Likewise.
26738         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
26739         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
26740         * modules/canonicalize-tests (Depends-on): Likewise.
26741         * modules/chown-tests (Depends-on): Likewise.
26742         * modules/fdutimensat-tests (Depends-on): Likewise.
26743         * modules/futimens-tests (Depends-on): Likewise.
26744         * modules/lchown-tests (Depends-on): Likewise.
26745         * modules/link-tests (Depends-on): Likewise.
26746         * modules/linkat-tests (Depends-on): Likewise.
26747         * modules/lstat-tests (Depends-on): Likewise.
26748         * modules/mkdir-tests (Depends-on): Likewise.
26749         * modules/mkfifo-tests (Depends-on): Likewise.
26750         * modules/mkfifoat-tests (Depends-on): Likewise.
26751         * modules/mknod-tests (Depends-on): Likewise.
26752         * modules/openat-tests (Depends-on): Likewise.
26753         * modules/readlink-tests (Depends-on): Likewise.
26754         * modules/remove-tests (Depends-on): Likewise.
26755         * modules/rename-tests (Depends-on): Likewise.
26756         * modules/renameat-tests (Depends-on): Likewise.
26757         * modules/rmdir-tests (Depends-on): Likewise.
26758         * modules/symlink-tests (Depends-on): Likewise.
26759         * modules/symlinkat-tests (Depends-on): Likewise.
26760         * modules/unlink-tests (Depends-on): Likewise.
26761         * modules/utimens-tests (Depends-on): Likewise.
26762         * modules/utimensat-tests (Depends-on): Likewise.
26763
26764 2010-01-31  Bruno Haible  <bruno@clisp.org>
26765
26766         Perform the same test for many <math.h> functions.
26767         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
26768         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
26769         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
26770         of gl_MATHFUNC.
26771         * modules/acos (configure.ac): Likewise.
26772         * modules/asin (configure.ac): Likewise.
26773         * modules/atan (configure.ac): Likewise.
26774         * modules/atan2 (configure.ac): Likewise.
26775         * modules/cbrt (configure.ac): Likewise.
26776         * modules/copysign (configure.ac): Likewise.
26777         * modules/cos (configure.ac): Likewise.
26778         * modules/cosh (configure.ac): Likewise.
26779         * modules/erf (configure.ac): Likewise.
26780         * modules/erfc (configure.ac): Likewise.
26781         * modules/exp (configure.ac): Likewise.
26782         * modules/fmod (configure.ac): Likewise.
26783         * modules/hypot (configure.ac): Likewise.
26784         * modules/j0 (configure.ac): Likewise.
26785         * modules/j1 (configure.ac): Likewise.
26786         * modules/jn (configure.ac): Likewise.
26787         * modules/lgamma (configure.ac): Likewise.
26788         * modules/log (configure.ac): Likewise.
26789         * modules/log10 (configure.ac): Likewise.
26790         * modules/log1p (configure.ac): Likewise.
26791         * modules/pow (configure.ac): Likewise.
26792         * modules/remainder (configure.ac): Likewise.
26793         * modules/sin (configure.ac): Likewise.
26794         * modules/sinh (configure.ac): Likewise.
26795         * modules/tan (configure.ac): Likewise.
26796         * modules/tanh (configure.ac): Likewise.
26797         * modules/y0 (configure.ac): Likewise.
26798         * modules/y1 (configure.ac): Likewise.
26799         * modules/yn (configure.ac): Likewise.
26800         Suggested by Paolo Bonzini.
26801
26802 2010-01-31  Bruno Haible  <bruno@clisp.org>
26803
26804         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
26805
26806 2010-01-31  Bruno Haible  <bruno@clisp.org>
26807
26808         Work around getdelim() bug on FreeBSD 8.0.
26809         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
26810         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
26811         not work.
26812         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
26813         is 1.
26814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
26815         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
26816         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
26817         a non-zero size.
26818         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
26819
26820 2010-01-31  Bruno Haible  <bruno@clisp.org>
26821
26822         Work around getline() bug on FreeBSD 8.0.
26823         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
26824         and a non-zero size.
26825         * tests/test-getline.c (main): Likewise.
26826         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
26827         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
26828
26829 2010-01-28  Eric Blake  <ebb9@byu.net>
26830
26831         regex: fix build failure
26832         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
26833         platforms.
26834
26835 2010-01-28  Jim Meyering  <meyering@redhat.com>
26836
26837         regex: do not ignore memory allocation failure
26838         * lib/regex_internal.c (create_cd_newstate): Detect
26839         re_node_set_init_copy failure.   Extracted from glibc commit
26840         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26841
26842         regex: sync more white-space changes from libc
26843         * lib/regex_internal.c: White-space only changes.
26844         * lib/regexec.c: Likewise.
26845
26846         regex: add many uses of __attribute_warn_unused_result__
26847         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
26848         * lib/regexec.c: Likewise.
26849         Extracted from a messy glibc commit.
26850
26851         regcomp.c: spelling and merge-artifact from glibc
26852         * lib/regcomp.c: Merge remainder of glibc's
26853         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26854
26855         regcomp.c: sync white-space changes from glibc
26856         * lib/regcomp.c: Merge to accommodate white space
26857         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
26858
26859         regcomp.c: do not ignore internal return values
26860         * lib/regcomp.c: Do not ignore internal return values.
26861         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
26862         but without its white-space changes and spelling fixes.
26863
26864         regex_internal.h: define __attribute_warn_unused_result__
26865         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
26866
26867         maint: add a syntax-check rule to check for vulnerable Makefile.in
26868         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
26869
26870 2010-01-27  Jim Meyering  <meyering@redhat.com>
26871
26872         ncftpput-ftp: clean up spaces
26873         * build-aux/ncftpput-ftp: Make Copyright line consistent.
26874         Remove trailing blanks.
26875
26876 2010-01-27  Simon Josefsson  <simon@josefsson.org>
26877
26878         * build-aux/git-version-gen: Fix copyright statement.
26879         * build-aux/gnupload: Likewise.
26880         * tests/test-arcfour.c: Likewise.
26881         * tests/test-arctwo.c: Likewise.
26882         * tests/test-count-one-bits.c: Likewise.
26883         * tests/test-crc.c: Likewise.
26884         * tests/test-des.c: Likewise.
26885         * tests/test-gc-arcfour.c: Likewise.
26886         * tests/test-gc-arctwo.c: Likewise.
26887         * tests/test-gc-des.c: Likewise.
26888         * tests/test-gc-hmac-md5.c: Likewise.
26889         * tests/test-gc-hmac-sha1.c: Likewise.
26890         * tests/test-gc-md2.c: Likewise.
26891         * tests/test-gc-md4.c: Likewise.
26892         * tests/test-gc-md5.c: Likewise.
26893         * tests/test-gc-pbkdf2-sha1.c: Likewise.
26894         * tests/test-gc-rijndael.c: Likewise.
26895         * tests/test-gc-sha1.c: Likewise.
26896         * tests/test-gc.c: Likewise.
26897         * tests/test-gethostname.c: Likewise.
26898         * tests/test-gettimeofday.c: Likewise.
26899         * tests/test-hash.c: Likewise.
26900         * tests/test-hmac-md5.c: Likewise.
26901         * tests/test-hmac-sha1.c: Likewise.
26902         * tests/test-md2.c: Likewise.
26903         * tests/test-md4.c: Likewise.
26904         * tests/test-md5.c: Likewise.
26905         * tests/test-memchr.c: Likewise.
26906         * tests/test-memchr2.c: Likewise.
26907         * tests/test-memcmp.c: Likewise.
26908         * tests/test-memmem.c: Likewise.
26909         * tests/test-memrchr.c: Likewise.
26910         * tests/test-rawmemchr.c: Likewise.
26911         * tests/test-read-file.c: Likewise.
26912         * tests/test-rijndael.c: Likewise.
26913         * tests/test-sockets.c: Likewise.
26914         * tests/test-strchrnul.c: Likewise.
26915         * tests/test-strstr.c: Likewise.
26916         * tests/test-strtod.c: Likewise.
26917         * build-aux/ncftpput-ftp: Likewise.
26918
26919 2010-01-26  Eric Blake  <ebb9@byu.net>
26920
26921         ignore-value: update recommended header name
26922         * modules/ignore-value (Include): Only use <> for headers that
26923         exist in glibc.
26924
26925 2010-01-26  Jim Meyering  <meyering@redhat.com>
26926
26927         test-userspec.c: avoid compiler warnings
26928         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
26929         and "initialization discards qualifiers..." warnings.
26930         Put the first "uid" in its own scope, and make char* members "const".
26931
26932 2010-01-25  Bruno Haible  <bruno@clisp.org>
26933
26934         gnulib-tool: Make warning diagnostics consistent.
26935         * gnulib-tool (func_warning): New function.
26936         Use it everywhere where gnulib-tool produces output to stderr and it is
26937         not a fatal error.
26938
26939 2010-01-25  Bruno Haible  <bruno@clisp.org>
26940
26941         Fix test dependencies.
26942         * modules/xstrtol-tests (Depends-on): Add inttypes.
26943         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
26944
26945 2010-01-25 Pádraig Brady <P@draigBrady.com>
26946
26947         syntax-check: detect incorrect boolean macro values in config.h
26948         * modules/maintainer-makefile (configure.ac): Parameterize the location
26949         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
26950         The logic is from Eric Blake and the location indicated by Jim Meyering.
26951         Note the more natural CONFIG_HEADER name is prohibited by automake
26952         for backwards compatibility reasons.
26953         * top/maint.mk (sc_Wundef_boolean): New rule.
26954
26955 2010-01-25  Jim Meyering  <meyering@redhat.com>
26956
26957         bootstrap: detect MacOS 10.6's shasum, too
26958         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
26959         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
26960
26961 2010-01-23  Jim Meyering  <meyering@redhat.com>
26962
26963         xstrtoll: new module
26964         * modules/xstrtoll: New file.
26965         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
26966         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
26967         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
26968         ./configure fails if you use this module and lack "long long".
26969         * modules/xstrtoll-tests: New module.
26970         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
26971         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
26972         new init.sh-based test framework.
26973
26974 2010-01-24  Bruno Haible  <bruno@clisp.org>
26975
26976         Tests for module 'yn'.
26977         * modules/yn-tests: New file.
26978         * tests/test-yn.c: New file.
26979
26980         Tests for module 'y1'.
26981         * modules/y1-tests: New file.
26982         * tests/test-y1.c: New file.
26983
26984         Tests for module 'y0'.
26985         * modules/y0-tests: New file.
26986         * tests/test-y0.c: New file.
26987
26988         Tests for module 'tanh'.
26989         * modules/tanh-tests: New file.
26990         * tests/test-tanh.c: New file.
26991
26992         Tests for module 'tan'.
26993         * modules/tan-tests: New file.
26994         * tests/test-tan.c: New file.
26995
26996         Tests for module 'sqrt'.
26997         * modules/sqrt-tests: New file.
26998         * tests/test-sqrt.c: New file.
26999
27000         Tests for module 'sinh'.
27001         * modules/sinh-tests: New file.
27002         * tests/test-sinh.c: New file.
27003
27004         Tests for module 'sin'.
27005         * modules/sin-tests: New file.
27006         * tests/test-sin.c: New file.
27007
27008         Tests for module 'rint'.
27009         * modules/rint-tests: New file.
27010         * tests/test-rint.c: New file.
27011
27012         Tests for module 'remainder'.
27013         * modules/remainder-tests: New file.
27014         * tests/test-remainder.c: New file.
27015
27016         Tests for module 'pow'.
27017         * modules/pow-tests: New file.
27018         * tests/test-pow.c: New file.
27019
27020         Tests for module 'nextafter'.
27021         * modules/nextafter-tests: New file.
27022         * tests/test-nextafter.c: New file.
27023
27024         Tests for module 'modf'.
27025         * modules/modf-tests: New file.
27026         * tests/test-modf.c: New file.
27027
27028         Tests for module 'logb'.
27029         * modules/logb-tests: New file.
27030         * tests/test-logb.c: New file.
27031
27032         Tests for module 'log1p'.
27033         * modules/log1p-tests: New file.
27034         * tests/test-log1p.c: New file.
27035
27036         Tests for module 'log10'.
27037         * modules/log10-tests: New file.
27038         * tests/test-log10.c: New file.
27039
27040         Tests for module 'log'.
27041         * modules/log-tests: New file.
27042         * tests/test-log.c: New file.
27043
27044         Tests for module 'lgamma'.
27045         * modules/lgamma-tests: New file.
27046         * tests/test-lgamma.c: New file.
27047
27048         Tests for module 'ldexp'.
27049         * modules/ldexp-tests: New file.
27050         * tests/test-ldexp.c: New file.
27051
27052         Tests for module 'jn'.
27053         * modules/jn-tests: New file.
27054         * tests/test-jn.c: New file.
27055
27056         Tests for module 'j1'.
27057         * modules/j1-tests: New file.
27058         * tests/test-j1.c: New file.
27059
27060         Tests for module 'j0'.
27061         * modules/j0-tests: New file.
27062         * tests/test-j0.c: New file.
27063
27064         Tests for module 'hypot'.
27065         * modules/hypot-tests: New file.
27066         * tests/test-hypot.c: New file.
27067
27068         Tests for module 'fmod'.
27069         * modules/fmod-tests: New file.
27070         * tests/test-fmod.c: New file.
27071
27072         Tests for module 'fabs'.
27073         * modules/fabs-tests: New file.
27074         * tests/test-fabs.c: New file.
27075
27076         Tests for module 'exp'.
27077         * modules/exp-tests: New file.
27078         * tests/test-exp.c: New file.
27079
27080         Tests for module 'erfc'.
27081         * modules/erfc-tests: New file.
27082         * tests/test-erfc.c: New file.
27083
27084         Tests for module 'erf'.
27085         * modules/erf-tests: New file.
27086         * tests/test-erf.c: New file.
27087
27088         Tests for module 'cosh'.
27089         * modules/cosh-tests: New file.
27090         * tests/test-cosh.c: New file.
27091
27092         Tests for module 'cos'.
27093         * modules/cos-tests: New file.
27094         * tests/test-cos.c: New file.
27095
27096         Tests for module 'copysign'.
27097         * modules/copysign-tests: New file.
27098         * tests/test-copysign.c: New file.
27099
27100         Tests for module 'cbrt'.
27101         * modules/cbrt-tests: New file.
27102         * tests/test-cbrt.c: New file.
27103
27104         Tests for module 'atan2'.
27105         * modules/atan2-tests: New file.
27106         * tests/test-atan2.c: New file.
27107
27108         Tests for module 'atan'.
27109         * modules/atan-tests: New file.
27110         * tests/test-atan.c: New file.
27111
27112         Tests for module 'asin'.
27113         * modules/asin-tests: New file.
27114         * tests/test-asin.c: New file.
27115
27116         Tests for module 'acos'.
27117         * modules/acos-tests: New file.
27118         * tests/test-acos.c: New file.
27119
27120 2010-01-24  Bruno Haible  <bruno@clisp.org>
27121
27122         Fix tests for common <math.h> functions.
27123         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
27124         code snippet that references the function pointer, rather than merely
27125         calling the function. Substitute the FUNC_LIBM variable.
27126         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
27127         * modules/acos (configure.ac): Likewise.
27128         * modules/asin (configure.ac): Likewise.
27129         * modules/atan (configure.ac): Likewise.
27130         * modules/atan2 (configure.ac): Likewise.
27131         * modules/cbrt (configure.ac): Likewise.
27132         * modules/copysign (configure.ac): Likewise.
27133         * modules/cos (configure.ac): Likewise.
27134         * modules/cosh (configure.ac): Likewise.
27135         * modules/erf (configure.ac): Likewise.
27136         * modules/erfc (configure.ac): Likewise.
27137         * modules/exp (configure.ac): Likewise.
27138         * modules/fabs (configure.ac): Likewise.
27139         * modules/fmod (configure.ac): Likewise.
27140         * modules/hypot (configure.ac): Likewise.
27141         * modules/j0 (configure.ac): Likewise.
27142         * modules/j1 (configure.ac): Likewise.
27143         * modules/jn (configure.ac): Likewise.
27144         * modules/ldexp (configure.ac): Likewise.
27145         * modules/lgamma (configure.ac): Likewise.
27146         * modules/log (configure.ac): Likewise.
27147         * modules/log10 (configure.ac): Likewise.
27148         * modules/log1p (configure.ac): Likewise.
27149         * modules/logb (configure.ac): Likewise.
27150         * modules/modf (configure.ac): Likewise.
27151         * modules/nextafter (configure.ac): Likewise.
27152         * modules/pow (configure.ac): Likewise.
27153         * modules/remainder (configure.ac): Likewise.
27154         * modules/rint (configure.ac): Likewise.
27155         * modules/sin (configure.ac): Likewise.
27156         * modules/sinh (configure.ac): Likewise.
27157         * modules/tan (configure.ac): Likewise.
27158         * modules/tanh (configure.ac): Likewise.
27159         * modules/y0 (configure.ac): Likewise.
27160         * modules/y1 (configure.ac): Likewise.
27161         * modules/yn (configure.ac): Likewise.
27162
27163 2010-01-24  Bruno Haible  <bruno@clisp.org>
27164
27165         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
27166         * tests/test-acosl.c (x): New variable.
27167         (main): Store argument in x and fetch it from x.
27168         * tests/test-asinl.c (x): New variable.
27169         (main): Store argument in x and fetch it from x.
27170         * tests/test-atanl.c (x): New variable.
27171         (main): Store argument in x and fetch it from x.
27172         * tests/test-cosl.c (x): New variable.
27173         (main): Store argument in x and fetch it from x.
27174         * tests/test-expl.c (x): New variable.
27175         (main): Store argument in x and fetch it from x.
27176         * tests/test-logl.c (x): New variable.
27177         (main): Store argument in x and fetch it from x.
27178         * tests/test-sinl.c (x): New variable.
27179         (main): Store argument in x and fetch it from x.
27180         * tests/test-sqrtl.c (x): New variable.
27181         (main): Store argument in x and fetch it from x.
27182         * tests/test-tanl.c (x): New variable.
27183         (main): Store argument in x and fetch it from x.
27184
27185 2010-01-24  Bruno Haible  <bruno@clisp.org>
27186
27187         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
27188         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
27189         assignments to the initial TESTS_ENVIRONMENT.
27190         * doc/gnulib.texi (Unit test modules): Document it.
27191         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
27192         TESTS_ENVIRONMENT.
27193         * modules/btowc-tests (Makefile.am): Likewise.
27194         * modules/c-stack-tests (Makefile.am): Likewise.
27195         * modules/c-strcase-tests (Makefile.am): Likewise.
27196         * modules/copy-file-tests (Makefile.am): Likewise.
27197         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
27198         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
27199         * modules/mbrtowc-tests (Makefile.am): Likewise.
27200         * modules/mbscasecmp-tests (Makefile.am): Likewise.
27201         * modules/mbscasestr-tests (Makefile.am): Likewise.
27202         * modules/mbschr-tests (Makefile.am): Likewise.
27203         * modules/mbscspn-tests (Makefile.am): Likewise.
27204         * modules/mbsinit-tests (Makefile.am): Likewise.
27205         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
27206         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
27207         * modules/mbspbrk-tests (Makefile.am): Likewise.
27208         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
27209         * modules/mbsrchr-tests (Makefile.am): Likewise.
27210         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
27211         * modules/mbsspn-tests (Makefile.am): Likewise.
27212         * modules/mbsstr-tests (Makefile.am): Likewise.
27213         * modules/nl_langinfo-tests (Makefile.am): Likewise.
27214         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
27215         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
27216         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
27217         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
27218         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
27219         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
27220         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
27221         * modules/wcrtomb-tests (Makefile.am): Likewise.
27222         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
27223         * modules/wcsrtombs-tests (Makefile.am): Likewise.
27224         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
27225         assignments from TESTS_ENVIRONMENT.
27226         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
27227         augmentation.
27228         * modules/argp-version-etc-tests (Makefile.am): Likewise.
27229         * modules/atexit-tests (Makefile.am): Likewise.
27230         * modules/binary-io-tests (Makefile.am): Likewise.
27231         * modules/closein-tests (Makefile.am): Likewise.
27232         * modules/dprintf-posix-tests (Makefile.am): Likewise.
27233         * modules/exclude-tests (Makefile.am): Likewise.
27234         * modules/fflush-tests (Makefile.am): Likewise.
27235         * modules/fpending-tests (Makefile.am): Likewise.
27236         * modules/fprintf-posix-tests (Makefile.am): Likewise.
27237         * modules/freadahead-tests (Makefile.am): Likewise.
27238         * modules/freadptr-tests (Makefile.am): Likewise.
27239         * modules/freadseek-tests (Makefile.am): Likewise.
27240         * modules/fseek-tests (Makefile.am): Likewise.
27241         * modules/fseeko-tests (Makefile.am): Likewise.
27242         * modules/ftell-tests (Makefile.am): Likewise.
27243         * modules/ftello-tests (Makefile.am): Likewise.
27244         * modules/idpriv-drop-tests (Makefile.am): Likewise.
27245         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
27246         * modules/lseek-tests (Makefile.am): Likewise.
27247         * modules/parse-duration-tests (Makefile.am): Likewise.
27248         * modules/perror-tests (Makefile.am): Likewise.
27249         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
27250         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
27251         * modules/pipe-tests (Makefile.am): Likewise.
27252         * modules/pread-tests (Makefile.am): Likewise.
27253         * modules/printf-posix-tests (Makefile.am): Likewise.
27254         * modules/select-tests (Makefile.am): Likewise.
27255         * modules/sigpipe-tests (Makefile.am): Likewise.
27256         * modules/tsearch-tests (Makefile.am): Likewise.
27257         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
27258         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
27259         * modules/uniname/uniname-tests (Makefile.am): Likewise.
27260         * modules/uniwidth/width-tests (Makefile.am): Likewise.
27261         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
27262         * modules/version-etc-tests (Makefile.am): Likewise.
27263         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
27264         * modules/vprintf-posix-tests (Makefile.am): Likewise.
27265         * modules/xalloc-die-tests (Makefile.am): Likewise.
27266         * modules/xprintf-posix-tests (Makefile.am): Likewise.
27267         * modules/xstrtoimax-tests (Makefile.am): Likewise.
27268         * modules/xstrtol-tests (Makefile.am): Likewise.
27269         * modules/xstrtoumax-tests (Makefile.am): Likewise.
27270         * modules/yesno-tests (Makefile.am): Likewise.
27271         Suggested by Jim Meyering.
27272
27273 2010-01-24  Bruno Haible  <bruno@clisp.org>
27274
27275         More documentation.
27276         * doc/gnulib.texi (Writing modules): New chapter.
27277         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
27278         the new chapter.
27279
27280 2010-01-24  Jim Meyering  <meyering@redhat.com>
27281
27282         maint.mk: do not prepend "./" after filtering
27283         * top/maint.mk (_prepend_srcdir_prefix): New variable
27284         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
27285         "./" when $(srcdir) is ".".
27286
27287         define STREQ(a,b) consistently, removing useless parentheses
27288         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
27289         since the only risk is that "a" or "b" contains an unparenthesized
27290         comma, but if either did that, STREQ would have 3 or more arguments.
27291         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
27292         * lib/fts.c (STREQ): Remove unnecessary parentheses.
27293         * lib/hash-triple.c (STREQ): Likewise.
27294         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
27295         * lib/getugroups.c (STREQ): Likewise.
27296
27297 2010-01-23  Jim Meyering  <meyering@redhat.com>
27298
27299         maint.mk: fix syntax-check in a non-srcdir build directory
27300         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
27301         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
27302
27303 2010-01-22  Jim Meyering  <meyering@redhat.com>
27304
27305         userspec: add unit tests
27306         * tests/test-userspec.c: New file.
27307         * modules/userspec-tests: Likewise.
27308
27309 2010-01-21  Jim Meyering  <meyering@redhat.com>
27310
27311         maint.mk: handle source file names containing "." robustly
27312         * top/maint.mk (_dot_escaped_srcdir): Define.
27313         (VC_LIST): Use it in LHS of sed substitution.
27314
27315 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
27316
27317         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
27318         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
27319         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
27320         from a non-srcdir build.
27321
27322 2010-01-20  Eric Blake  <ebb9@byu.net>
27323
27324         warn-on-use: use instead of link-warning
27325         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
27326         * modules/unistd (Depends-on, Makefile.am): Likewise.
27327         * modules/arpa_inet (Depends-on): Replace link-warning with
27328         warn-on-use.
27329         (Makefile.am): Update rules accordingly.
27330         * modules/ctype (Depends-on, Makefile.am): Likewise.
27331         * modules/dirent (Depends-on, Makefile.am): Likewise.
27332         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
27333         * modules/inttypes (Depends-on, Makefile.am): Likewise.
27334         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27335         * modules/locale (Depends-on, Makefile.am): Likewise.
27336         * modules/math (Depends-on, Makefile.am): Likewise.
27337         * modules/search (Depends-on, Makefile.am): Likewise.
27338         * modules/signal (Depends-on, Makefile.am): Likewise.
27339         * modules/spawn (Depends-on, Makefile.am): Likewise.
27340         * modules/stdlib (Depends-on, Makefile.am): Likewise.
27341         * modules/string (Depends-on, Makefile.am): Likewise.
27342         * modules/strings (Depends-on, Makefile.am): Likewise.
27343         * modules/sys_file (Depends-on, Makefile.am): Likewise.
27344         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
27345         * modules/sys_select (Depends-on, Makefile.am): Likewise.
27346         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
27347         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
27348         * modules/sys_times (Depends-on, Makefile.am): Likewise.
27349         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27350         * modules/wchar (Depends-on, Makefile.am): Likewise.
27351         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
27352         should be poisoned.
27353         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
27354         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
27355         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
27356         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27357         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27358         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27359         * m4/math_h.m4 (gl_MATH_H): Likewise.
27360         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
27361         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27362         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27363         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
27364         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
27365         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
27366         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
27367         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
27368         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27369         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27370         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27371         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27372         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27373         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27374         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27375         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27376         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
27377         GL_LINK_WARNING.
27378         * lib/ctype.in.h: Likewise.
27379         * lib/dirent.in.h: Likewise.
27380         * lib/fcntl.in.h: Likewise.
27381         * lib/inttypes.in.h: Likewise.
27382         * lib/langinfo.in.h: Likewise.
27383         * lib/locale.in.h: Likewise.
27384         * lib/math.in.h: Likewise.
27385         * lib/search.in.h: Likewise.
27386         * lib/signal.in.h: Likewise.
27387         * lib/spawn.in.h: Likewise.
27388         * lib/stdio.in.h: Likewise.
27389         * lib/stdlib.in.h: Likewise.
27390         * lib/string.in.h: Likewise.
27391         * lib/strings.in.h: Likewise.
27392         * lib/sys_file.in.h: Likewise.
27393         * lib/sys_ioctl.in.h: Likewise.
27394         * lib/sys_select.in.h: Likewise.
27395         * lib/sys_socket.in.h: Likewise.
27396         * lib/sys_stat.in.h: Likewise.
27397         * lib/sys_times.in.h: Likewise.
27398         * lib/sys_utsname.in.h: Likewise.
27399         * lib/unistd.in.h: Likewise.
27400         * lib/wchar.in.h: Likewise.
27401
27402 2010-01-20  Bruno Haible  <bruno@clisp.org>
27403
27404         Avoid duplicate -lm.
27405         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
27406         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
27407         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
27408         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
27409         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
27410         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
27411         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
27412         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
27413         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
27414         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
27415         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
27416         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27417         Reported by Paolo Bonzini.
27418
27419 2010-01-19  Bruno Haible  <bruno@clisp.org>
27420
27421         langinfo, nl_langinfo: Relicense under LGPLv2+.
27422         * modules/langinfo (License): Change to LGPLv2+.
27423         * modules/nl_langinfo (License): Likewise.
27424         Patch by David Lutterkort <lutter@redhat.com>.
27425
27426 2010-01-19  Bruno Haible  <bruno@clisp.org>
27427
27428         Avoid compilation error with cc on OSF/1 5.1.
27429         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
27430         statement, not before.
27431         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27432
27433 2010-01-18  Bruno Haible  <bruno@clisp.org>
27434
27435         Avoid a link error due to the __printf__ symbol.
27436         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
27437         and 2.6.x.
27438         (__format__, __printf__): Remove definitions.
27439         * lib/argp-fmtstream.h: Likewise.
27440         * lib/argp.h: Likewise.
27441         * lib/error.h: Likewise.
27442         * lib/vasnprintf.h: Likewise.
27443         * lib/xprintf.h: Likewise.
27444         * lib/xvasprintf.h: Likewise.
27445         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27446
27447 2010-01-18  Bruno Haible  <bruno@clisp.org>
27448
27449         Tests for module 'tanl'.
27450         * modules/tanl-tests: New file.
27451         * tests/test-tanl.c: New file.
27452
27453         Tests for module 'sqrtl'.
27454         * modules/sqrtl-tests: New file.
27455         * tests/test-sqrtl.c: New file.
27456
27457         Tests for module 'sinl'.
27458         * modules/sinl-tests: New file.
27459         * tests/test-sinl.c: New file.
27460
27461         Tests for module 'logl'.
27462         * modules/logl-tests: New file.
27463         * tests/test-logl.c: New file.
27464
27465         Tests for module 'expl'.
27466         * modules/expl-tests: New file.
27467         * tests/test-expl.c: New file.
27468
27469         Tests for module 'cosl'.
27470         * modules/cosl-tests: New file.
27471         * tests/test-cosl.c: New file.
27472
27473         Tests for module 'atanl'.
27474         * modules/atanl-tests: New file.
27475         * tests/test-atanl.c: New file.
27476
27477         Tests for module 'asinl'.
27478         * modules/asinl-tests: New file.
27479         * tests/test-asinl.c: New file.
27480
27481         Tests for module 'acosl'.
27482         * modules/acosl-tests: New file.
27483         * tests/test-acosl.c: New file.
27484
27485         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27486         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
27487         tanl): Use the standard gnulib idiom.
27488         * lib/cosl.c: Don't include trigl.c and sincosl.c.
27489         * lib/sinl.c: Likewise.
27490         * lib/tanl.c: Don't include trigl.c.
27491         (kernel_tanl): Make static.
27492         * lib/sincosl.c: Include trigl.h first.
27493         * lib/trigl.c: Likewise.
27494         * m4/acosl.m4: New file.
27495         * m4/asinl.m4: New file.
27496         * m4/atanl.m4: New file.
27497         * m4/cosl.m4: New file.
27498         * m4/expl.m4: New file.
27499         * m4/logl.m4: New file.
27500         * m4/sinl.m4: New file.
27501         * m4/sqrtl.m4: New file.
27502         * m4/tanl.m4: New file.
27503         * m4/mathl.m4: Remove file.
27504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
27505         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
27506         Don't initialize GNULIB_MATHL.
27507         * modules/acosl: New file.
27508         * modules/asinl: New file.
27509         * modules/atanl: New file.
27510         * modules/cosl: New file.
27511         * modules/expl: New file.
27512         * modules/logl: New file.
27513         * modules/sinl: New file.
27514         * modules/sqrtl: New file.
27515         * modules/tanl: New file.
27516         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
27517         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
27518         substitute GNULIB_MATHL.
27519         * modules/mathl: Rewritten.
27520         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
27521         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
27522         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
27523         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
27524         * doc/posix-functions/expl.texi: Mention the 'expl' module.
27525         * doc/posix-functions/logl.texi: Mention the 'logl' module.
27526         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
27527         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
27528         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
27529
27530 2010-01-18  Bruno Haible  <bruno@clisp.org>
27531
27532         sqrt: Make gl_FUNC_SQRT requirable.
27533         * m4/sqrt.m4: New file.
27534         * modules/sqrt (Files): Add it.
27535         (configure.ac): Invoke gl_FUNC_SQRT.
27536
27537 2010-01-18  Bruno Haible  <bruno@clisp.org>
27538
27539         New modules for common <math.h> functions.
27540         * m4/mathfunc.m4: New file.
27541         * modules/acos: New file.
27542         * modules/asin: New file.
27543         * modules/atan: New file.
27544         * modules/atan2: New file.
27545         * modules/cbrt: New file.
27546         * modules/copysign: New file.
27547         * modules/cos: New file.
27548         * modules/cosh: New file.
27549         * modules/erf: New file.
27550         * modules/erfc: New file.
27551         * modules/exp: New file.
27552         * modules/fabs: New file.
27553         * modules/fmod: New file.
27554         * modules/hypot: New file.
27555         * modules/j0: New file.
27556         * modules/j1: New file.
27557         * modules/jn: New file.
27558         * modules/ldexp: New file.
27559         * modules/lgamma: New file.
27560         * modules/log: New file.
27561         * modules/log10: New file.
27562         * modules/log1p: New file.
27563         * modules/logb: New file.
27564         * modules/modf: New file.
27565         * modules/nextafter: New file.
27566         * modules/pow: New file.
27567         * modules/remainder: New file.
27568         * modules/rint: New file.
27569         * modules/sin: New file.
27570         * modules/sinh: New file.
27571         * modules/sqrt: New file.
27572         * modules/tan: New file.
27573         * modules/tanh: New file.
27574         * modules/y0: New file.
27575         * modules/y1: New file.
27576         * modules/yn: New file.
27577         * doc/posix-functions/acos.texi: Mention the 'acos' module.
27578         * doc/posix-functions/asin.texi: Mention the 'asin' module.
27579         * doc/posix-functions/atan.texi: Mention the 'atan' module.
27580         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
27581         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
27582         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
27583         * doc/posix-functions/cos.texi: Mention the 'cos' module.
27584         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
27585         * doc/posix-functions/erf.texi: Mention the 'erf' module.
27586         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
27587         * doc/posix-functions/exp.texi: Mention the 'exp' module.
27588         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
27589         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
27590         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
27591         * doc/posix-functions/j0.texi: Mention the 'j0' module.
27592         * doc/posix-functions/j1.texi: Mention the 'j1' module.
27593         * doc/posix-functions/jn.texi: Mention the 'jn' module.
27594         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
27595         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
27596         * doc/posix-functions/log.texi: Mention the 'log' module.
27597         * doc/posix-functions/log10.texi: Mention the 'log10' module.
27598         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
27599         * doc/posix-functions/logb.texi: Mention the 'logb' module.
27600         * doc/posix-functions/modf.texi: Mention the 'modf' module.
27601         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
27602         * doc/posix-functions/pow.texi: Mention the 'pow' module.
27603         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
27604         * doc/posix-functions/rint.texi: Mention the 'rint' module.
27605         * doc/posix-functions/sin.texi: Mention the 'sin' module.
27606         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
27607         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
27608         * doc/posix-functions/tan.texi: Mention the 'tan' module.
27609         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
27610         * doc/posix-functions/y0.texi: Mention the 'y0' module.
27611         * doc/posix-functions/y1.texi: Mention the 'y1' module.
27612         * doc/posix-functions/yn.texi: Mention the 'yn' module.
27613
27614 2010-01-18  Jim Meyering  <meyering@redhat.com>
27615
27616         ignore-value: relax license to LGPLv2+
27617         * modules/ignore-value (License): Relax to LGPLv2+.
27618
27619         getdate: don't leak when TZ contains two or more '"'s
27620         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
27621         double quote in TZ after the first one.
27622
27623         readtokens: do not leak internal token_lengths buffer
27624         * lib/readtokens.c (readtokens): Free the local, lengths,
27625         when the supplied "token_lengths" parameter is NULL.
27626
27627 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27628
27629         Fix a couple of missing LIBTHREAD link failures on AIX.
27630         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
27631         $(LIBTHREAD).
27632         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
27633
27634         Link test-poll against INET_PTON_LIB.
27635         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
27636         for inet_pton on Solaris 10.
27637
27638 2010-01-17  Bruno Haible  <bruno@clisp.org>
27639
27640         unistdio/*-sprintf: Fix typo in module description.
27641         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
27642         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
27643         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
27644         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
27645         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
27646         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
27647         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
27648         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27649
27650 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27651
27652         gnulib-tool: fix filelist for AIX, HP-UX ksh.
27653         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
27654         variables in shell case patterns, for AIX and HP-UX ksh.
27655
27656         Split large sed scripts, for HP-UX sed.
27657         * modules/stdio: Split sed scripts around 50 sed commands,
27658         to avoid HP-UX limit of 99 commands, in the near future.
27659         * modules/string: Likewise.
27660         * modules/unistd: Likewise.
27661
27662         gnulib-tool: avoid writing in the current directory.
27663         * gnulib-tool (func_emit_lib_Makefile_am)
27664         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
27665         not in the current directory, so concurrent gnulib-tool
27666         instances do not interfere.
27667
27668 2010-01-16  Jim Meyering  <meyering@redhat.com>
27669
27670         doc: update users.txt
27671         * users.txt: Add grep.
27672         (diffutils, gzip): Update URLs.
27673
27674 2010-01-12  Bruno Haible  <bruno@clisp.org>
27675
27676         posix_spawn: Avoid test failure on Cygwin.
27677         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
27678         characters.
27679         Reported by Simon Josefsson.
27680
27681 2010-01-12  Bruno Haible  <bruno@clisp.org>
27682
27683         * tests/test-cond.c (main): When skipping the test, show the reason.
27684
27685 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27686
27687         * lib/striconv.c (str_cd_iconv): Avoid if before free.
27688
27689 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27690
27691         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
27692         VC_LIST_ALWAYS_EXCLUDE_REGEX.
27693
27694 2010-01-12  Eric Blake  <ebb9@byu.net>
27695
27696         build: guarantee AS_VAR_IF
27697         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
27698         (gl_AS_VAR_IF): Move...
27699         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
27700         Reported by Simon Josefsson.
27701
27702 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27703
27704         * lib/stdio.in.h: Fix typo.
27705
27706 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27707
27708         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
27709         libgpg-error.
27710
27711 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27712
27713         * tests/test-xalloc-die.sh: Use $EXEEXT.
27714
27715 2010-01-12  Simon Josefsson  <simon@josefsson.org>
27716             Bruno Haible  <bruno@clisp.org>
27717
27718         getlogin, getlogin_r: Avoid test failure.
27719         * tests/test-getlogin.c: Include <stdio.h>.
27720         (main): Skip the test when the function fails because stdin is not a
27721         tty.
27722         * tests/test-getlogin_r.c: Include <stdio.h>.
27723         (main): Skip the test when the function fails because stdin is not a
27724         tty.
27725
27726 2010-01-11  Eric Blake  <ebb9@byu.net>
27727
27728         tests: avoid more large file warnings
27729         * tests/test-fflush.c: Avoid warning about ftell use.
27730         * tests/test-fseek.c: Avoid warning about fseek use.
27731
27732 2010-01-10  Bruno Haible  <bruno@clisp.org>
27733
27734         nproc: Work better on Linux when /proc and /sys are not mounted.
27735         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
27736         as lower bound when, on glibc/Linux systems,
27737         sysconf (_SC_NPROCESSORS_CONF) returns 1.
27738         Suggested by Pádraig Brady <P@draigbrady.com>.
27739         Reported by Dmitry V. Levin <ldv@altlinux.org>.
27740
27741         nproc: Refactor.
27742         * lib/nproc.c (num_processors_via_affinity_mask): New function,
27743         extracted from num_processors.
27744         (num_processors): Call it.
27745
27746 2010-01-11  Jim Meyering  <meyering@redhat.com>
27747
27748         utimecmp: avoid new warning from upcoming gcc-4.5.0
27749         * lib/utimecmp.c (BILLION): Define using #define rather than an
27750         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
27751
27752 2010-01-11  Eric Blake  <ebb9@byu.net>
27753
27754         math: add portability warnings for classification macros
27755         * modules/math (Depends-on): Add warn-on-use.
27756         (Makefile.am): Provide new substitutions.
27757         * m4/math_h.m4 (gl_MATH_H): Require inline.
27758         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
27759         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
27760         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
27761         implement warnings.
27762
27763         unistd: warn on use of environ without module
27764         * modules/unistd (Depends-on): Add warn-on-use.
27765         (Makefile.am): Provide new substitutions.
27766         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
27767         * lib/unistd.in.h (environ): Wrap with a warning helper function.
27768
27769         stdio: warn on suspicious uses
27770         * modules/stdio (Depends-on): Add warn-on-use.
27771         (Makefile.am): Provide new substitutions.
27772         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
27773         fseeko.
27774         * lib/stdio.in.h (gets): Always warn on use.
27775         (fseek, ftell): Adjust when warnings are issued, and honor
27776         _GL_NO_LARGE_FILES as a way to silence the warning.
27777         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
27778         any warning about large file offsets.
27779         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
27780         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
27781         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
27782         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
27783         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
27784         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
27785         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
27786         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
27787
27788         warn-on-use: new module
27789         * modules/warn-on-use: New file.
27790         * build-aux/warn-on-use.h: Likewise.
27791         * m4/warn-on-use.m4: Likewise.
27792         * MODULES.html.sh (Support for building): Mention it.
27793
27794 2010-01-10  Bruno Haible  <bruno@clisp.org>
27795
27796         Tests for module 'unistr/u32-strdup'.
27797         * modules/unistr/u32-strdup-tests: New file.
27798         * tests/unistr/test-u32-strdup.c: New file.
27799
27800         Tests for module 'unistr/u16-strdup'.
27801         * modules/unistr/u16-strdup-tests: New file.
27802         * tests/unistr/test-u16-strdup.c: New file.
27803
27804         Tests for module 'unistr/u8-strdup'.
27805         * modules/unistr/u8-strdup-tests: New file.
27806         * tests/unistr/test-u8-strdup.c: New file.
27807         * tests/unistr/test-strdup.h: New file.
27808
27809         Tests for module 'unistr/u32-strncmp'.
27810         * modules/unistr/u32-strncmp-tests: New file.
27811         * tests/unistr/test-u32-strncmp.c: New file.
27812
27813         Tests for module 'unistr/u16-strncmp'.
27814         * modules/unistr/u16-strncmp-tests: New file.
27815         * tests/unistr/test-u16-strncmp.c: New file.
27816
27817         Tests for module 'unistr/u8-strncmp'.
27818         * modules/unistr/u8-strncmp-tests: New file.
27819         * tests/unistr/test-u8-strncmp.c: New file.
27820         * tests/unistr/test-strncmp.h: New file.
27821
27822         Tests for module 'unistr/u32-strcoll'.
27823         * modules/unistr/u32-strcoll-tests: New file.
27824         * tests/unistr/test-u32-strcoll.c: New file.
27825
27826         Tests for module 'unistr/u16-strcoll'.
27827         * modules/unistr/u16-strcoll-tests: New file.
27828         * tests/unistr/test-u16-strcoll.c: New file.
27829
27830         Tests for module 'unistr/u8-strcoll'.
27831         * modules/unistr/u8-strcoll-tests: New file.
27832         * tests/unistr/test-u8-strcoll.c: New file.
27833
27834         Tests for module 'unistr/u32-strcmp'.
27835         * modules/unistr/u32-strcmp-tests: New file.
27836         * tests/unistr/test-u32-strcmp.c: New file.
27837         * tests/unistr/test-u32-strcmp.h: New file.
27838
27839         Tests for module 'unistr/u16-strcmp'.
27840         * modules/unistr/u16-strcmp-tests: New file.
27841         * tests/unistr/test-u16-strcmp.c: New file.
27842         * tests/unistr/test-u16-strcmp.h: New file.
27843
27844         Tests for module 'unistr/u8-strcmp'.
27845         * modules/unistr/u8-strcmp-tests: New file.
27846         * tests/unistr/test-u8-strcmp.c: New file.
27847         * tests/unistr/test-u8-strcmp.h: New file.
27848         * tests/unistr/test-strcmp.h: New file.
27849
27850         Tests for module 'unistr/u32-strncat'.
27851         * modules/unistr/u32-strncat-tests: New file.
27852         * tests/unistr/test-u32-strncat.c: New file.
27853
27854         Tests for module 'unistr/u16-strncat'.
27855         * modules/unistr/u16-strncat-tests: New file.
27856         * tests/unistr/test-u16-strncat.c: New file.
27857
27858         Tests for module 'unistr/u8-strncat'.
27859         * modules/unistr/u8-strncat-tests: New file.
27860         * tests/unistr/test-u8-strncat.c: New file.
27861         * tests/unistr/test-strncat.h: New file.
27862
27863         Tests for module 'unistr/u32-strcat'.
27864         * modules/unistr/u32-strcat-tests: New file.
27865         * tests/unistr/test-u32-strcat.c: New file.
27866
27867         Tests for module 'unistr/u16-strcat'.
27868         * modules/unistr/u16-strcat-tests: New file.
27869         * tests/unistr/test-u16-strcat.c: New file.
27870
27871         Tests for module 'unistr/u8-strcat'.
27872         * modules/unistr/u8-strcat-tests: New file.
27873         * tests/unistr/test-u8-strcat.c: New file.
27874         * tests/unistr/test-strcat.h: New file.
27875
27876         Tests for module 'unistr/u32-stpncpy'.
27877         * modules/unistr/u32-stpncpy-tests: New file.
27878         * tests/unistr/test-u32-stpncpy.c: New file.
27879
27880         Tests for module 'unistr/u16-stpncpy'.
27881         * modules/unistr/u16-stpncpy-tests: New file.
27882         * tests/unistr/test-u16-stpncpy.c: New file.
27883
27884         Tests for module 'unistr/u8-stpncpy'.
27885         * modules/unistr/u8-stpncpy-tests: New file.
27886         * tests/unistr/test-u8-stpncpy.c: New file.
27887         * tests/unistr/test-stpncpy.h: New file.
27888
27889         Tests for module 'unistr/u32-strncpy'.
27890         * modules/unistr/u32-strncpy-tests: New file.
27891         * tests/unistr/test-u32-strncpy.c: New file.
27892
27893         Tests for module 'unistr/u16-strncpy'.
27894         * modules/unistr/u16-strncpy-tests: New file.
27895         * tests/unistr/test-u16-strncpy.c: New file.
27896
27897         Tests for module 'unistr/u8-strncpy'.
27898         * modules/unistr/u8-strncpy-tests: New file.
27899         * tests/unistr/test-u8-strncpy.c: New file.
27900         * tests/unistr/test-strncpy.h: New file.
27901
27902         Tests for module 'unistr/u32-stpcpy'.
27903         * modules/unistr/u32-stpcpy-tests: New file.
27904         * tests/unistr/test-u32-stpcpy.c: New file.
27905
27906         Tests for module 'unistr/u16-stpcpy'.
27907         * modules/unistr/u16-stpcpy-tests: New file.
27908         * tests/unistr/test-u16-stpcpy.c: New file.
27909
27910         Tests for module 'unistr/u8-stpcpy'.
27911         * modules/unistr/u8-stpcpy-tests: New file.
27912         * tests/unistr/test-u8-stpcpy.c: New file.
27913         * tests/unistr/test-stpcpy.h: New file.
27914
27915         Tests for module 'unistr/u32-strcpy'.
27916         * modules/unistr/u32-strcpy-tests: New file.
27917         * tests/unistr/test-u32-strcpy.c: New file.
27918
27919         Tests for module 'unistr/u16-strcpy'.
27920         * modules/unistr/u16-strcpy-tests: New file.
27921         * tests/unistr/test-u16-strcpy.c: New file.
27922
27923         Tests for module 'unistr/u8-strcpy'.
27924         * modules/unistr/u8-strcpy-tests: New file.
27925         * tests/unistr/test-u8-strcpy.c: New file.
27926         * tests/unistr/test-strcpy.h: New file.
27927
27928         Tests for module 'unistr/u32-strnlen'.
27929         * modules/unistr/u32-strnlen-tests: New file.
27930         * tests/unistr/test-u32-strnlen.c: New file.
27931
27932         Tests for module 'unistr/u16-strnlen'.
27933         * modules/unistr/u16-strnlen-tests: New file.
27934         * tests/unistr/test-u16-strnlen.c: New file.
27935
27936         Tests for module 'unistr/u8-strnlen'.
27937         * modules/unistr/u8-strnlen-tests: New file.
27938         * tests/unistr/test-u8-strnlen.c: New file.
27939         * tests/unistr/test-strnlen.h: New file.
27940
27941         Tests for module 'unistr/u32-strlen'.
27942         * modules/unistr/u32-strlen-tests: New file.
27943         * tests/unistr/test-u32-strlen.c: New file.
27944
27945         Tests for module 'unistr/u16-strlen'.
27946         * modules/unistr/u16-strlen-tests: New file.
27947         * tests/unistr/test-u16-strlen.c: New file.
27948
27949         Tests for module 'unistr/u8-strlen'.
27950         * modules/unistr/u8-strlen-tests: New file.
27951         * tests/unistr/test-u8-strlen.c: New file.
27952
27953         Tests for module 'unistr/u32-prev'.
27954         * modules/unistr/u32-prev-tests: New file.
27955         * tests/unistr/test-u32-prev.c: New file.
27956
27957         Tests for module 'unistr/u16-prev'.
27958         * modules/unistr/u16-prev-tests: New file.
27959         * tests/unistr/test-u16-prev.c: New file.
27960
27961         Tests for module 'unistr/u8-prev'.
27962         * modules/unistr/u8-prev-tests: New file.
27963         * tests/unistr/test-u8-prev.c: New file.
27964
27965         Tests for module 'unistr/u32-next'.
27966         * modules/unistr/u32-next-tests: New file.
27967         * tests/unistr/test-u32-next.c: New file.
27968
27969         Tests for module 'unistr/u16-next'.
27970         * modules/unistr/u16-next-tests: New file.
27971         * tests/unistr/test-u16-next.c: New file.
27972
27973         Tests for module 'unistr/u8-next'.
27974         * modules/unistr/u8-next-tests: New file.
27975         * tests/unistr/test-u8-next.c: New file.
27976
27977         Tests for module 'unistr/u32-strmbtouc'.
27978         * modules/unistr/u32-strmbtouc-tests: New file.
27979         * tests/unistr/test-u32-strmbtouc.c: New file.
27980
27981         Tests for module 'unistr/u16-strmbtouc'.
27982         * modules/unistr/u16-strmbtouc-tests: New file.
27983         * tests/unistr/test-u16-strmbtouc.c: New file.
27984
27985         Tests for module 'unistr/u8-strmbtouc'.
27986         * modules/unistr/u8-strmbtouc-tests: New file.
27987         * tests/unistr/test-u8-strmbtouc.c: New file.
27988
27989         Tests for module 'unistr/u32-strmblen'.
27990         * modules/unistr/u32-strmblen-tests: New file.
27991         * tests/unistr/test-u32-strmblen.c: New file.
27992
27993         Tests for module 'unistr/u16-strmblen'.
27994         * modules/unistr/u16-strmblen-tests: New file.
27995         * tests/unistr/test-u16-strmblen.c: New file.
27996
27997         Tests for module 'unistr/u8-strmblen'.
27998         * modules/unistr/u8-strmblen-tests: New file.
27999         * tests/unistr/test-u8-strmblen.c: New file.
28000
28001         Tests for module 'unistr/u32-cpy-alloc'.
28002         * modules/unistr/u32-cpy-alloc-tests: New file.
28003         * tests/unistr/test-u32-cpy-alloc.c: New file.
28004
28005         Tests for module 'unistr/u16-cpy-alloc'.
28006         * modules/unistr/u16-cpy-alloc-tests: New file.
28007         * tests/unistr/test-u16-cpy-alloc.c: New file.
28008
28009         Tests for module 'unistr/u8-cpy-alloc'.
28010         * modules/unistr/u8-cpy-alloc-tests: New file.
28011         * tests/unistr/test-u8-cpy-alloc.c: New file.
28012         * tests/unistr/test-cpy-alloc.h: New file.
28013
28014         Tests for module 'unistr/u32-mbsnlen'.
28015         * modules/unistr/u32-mbsnlen-tests: New file.
28016         * tests/unistr/test-u32-mbsnlen.c: New file.
28017
28018         Tests for module 'unistr/u16-mbsnlen'.
28019         * modules/unistr/u16-mbsnlen-tests: New file.
28020         * tests/unistr/test-u16-mbsnlen.c: New file.
28021
28022         Tests for module 'unistr/u8-mbsnlen'.
28023         * modules/unistr/u8-mbsnlen-tests: New file.
28024         * tests/unistr/test-u8-mbsnlen.c: New file.
28025
28026         Tests for module 'unistr/u32-chr'.
28027         * modules/unistr/u32-chr-tests: New file.
28028         * tests/unistr/test-u32-chr.c: New file.
28029
28030         Tests for module 'unistr/u16-chr'.
28031         * modules/unistr/u16-chr-tests: New file.
28032         * tests/unistr/test-u16-chr.c: New file.
28033
28034         Tests for module 'unistr/u8-chr'.
28035         * modules/unistr/u8-chr-tests: New file.
28036         * tests/unistr/test-u8-chr.c: New file.
28037         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
28038
28039         Tests for module 'unistr/u32-cmp2'.
28040         * modules/unistr/u32-cmp2-tests: New file.
28041         * tests/unistr/test-u32-cmp2.c: New file.
28042
28043         Tests for module 'unistr/u16-cmp2'.
28044         * modules/unistr/u16-cmp2-tests: New file.
28045         * tests/unistr/test-u16-cmp2.c: New file.
28046
28047         Tests for module 'unistr/u8-cmp2'.
28048         * modules/unistr/u8-cmp2-tests: New file.
28049         * tests/unistr/test-u8-cmp2.c: New file.
28050         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
28051
28052         Tests for module 'unistr/u32-cmp'.
28053         * modules/unistr/u32-cmp-tests: New file.
28054         * tests/unistr/test-u32-cmp.c: New file.
28055
28056         Tests for module 'unistr/u16-cmp'.
28057         * modules/unistr/u16-cmp-tests: New file.
28058         * tests/unistr/test-u16-cmp.c: New file.
28059
28060         Tests for module 'unistr/u8-cmp'.
28061         * modules/unistr/u8-cmp-tests: New file.
28062         * tests/unistr/test-u8-cmp.c: New file.
28063         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
28064
28065         Tests for module 'unistr/u32-set'.
28066         * modules/unistr/u32-set-tests: New file.
28067         * tests/unistr/test-u32-set.c: New file.
28068
28069         Tests for module 'unistr/u16-set'.
28070         * modules/unistr/u16-set-tests: New file.
28071         * tests/unistr/test-u16-set.c: New file.
28072
28073         Tests for module 'unistr/u8-set'.
28074         * modules/unistr/u8-set-tests: New file.
28075         * tests/unistr/test-u8-set.c: New file.
28076         * tests/unistr/test-set.h: New file.
28077
28078         Tests for module 'unistr/u32-move'.
28079         * modules/unistr/u32-move-tests: New file.
28080         * tests/unistr/test-u32-move.c: New file.
28081
28082         Tests for module 'unistr/u16-move'.
28083         * modules/unistr/u16-move-tests: New file.
28084         * tests/unistr/test-u16-move.c: New file.
28085
28086         Tests for module 'unistr/u8-move'.
28087         * modules/unistr/u8-move-tests: New file.
28088         * tests/unistr/test-u8-move.c: New file.
28089         * tests/unistr/test-move.h: New file.
28090
28091         Tests for module 'unistr/u32-cpy'.
28092         * modules/unistr/u32-cpy-tests: New file.
28093         * tests/unistr/test-u32-cpy.c: New file.
28094
28095         Tests for module 'unistr/u16-cpy'.
28096         * modules/unistr/u16-cpy-tests: New file.
28097         * tests/unistr/test-u16-cpy.c: New file.
28098
28099         Tests for module 'unistr/u8-cpy'.
28100         * modules/unistr/u8-cpy-tests: New file.
28101         * tests/unistr/test-u8-cpy.c: New file.
28102         * tests/unistr/test-cpy.h: New file.
28103
28104 2010-01-09  Bruno Haible  <bruno@clisp.org>
28105
28106         Tests for module 'unistr/u32-uctomb'.
28107         * modules/unistr/u32-uctomb-tests: New file.
28108         * tests/unistr/test-u32-uctomb.c: New file.
28109
28110         Tests for module 'unistr/u16-uctomb'.
28111         * modules/unistr/u16-uctomb-tests: New file.
28112         * tests/unistr/test-u16-uctomb.c: New file.
28113
28114         Tests for module 'unistr/u8-uctomb'.
28115         * modules/unistr/u8-uctomb-tests: New file.
28116         * tests/unistr/test-u8-uctomb.c: New file.
28117
28118         Tests for module 'unistr/u32-mbtoucr'.
28119         * modules/unistr/u32-mbtoucr-tests: New file.
28120         * tests/unistr/test-u32-mbtoucr.c: New file.
28121
28122         Tests for module 'unistr/u16-mbtoucr'.
28123         * modules/unistr/u16-mbtoucr-tests: New file.
28124         * tests/unistr/test-u16-mbtoucr.c: New file.
28125
28126         Tests for module 'unistr/u8-mbtoucr'.
28127         * modules/unistr/u8-mbtoucr-tests: New file.
28128         * tests/unistr/test-u8-mbtoucr.c: New file.
28129
28130         Tests for module 'unistr/u32-mbtouc'.
28131         * modules/unistr/u32-mbtouc-tests: New file.
28132         * tests/unistr/test-u32-mbtouc.c: New file.
28133
28134         Tests for module 'unistr/u16-mbtouc'.
28135         * modules/unistr/u16-mbtouc-tests: New file.
28136         * tests/unistr/test-u16-mbtouc.c: New file.
28137
28138         Tests for module 'unistr/u8-mbtouc'.
28139         * modules/unistr/u8-mbtouc-tests: New file.
28140         * tests/unistr/test-u8-mbtouc.c: New file.
28141
28142         Tests for module 'unistr/u32-mbtouc-unsafe'.
28143         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
28144         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
28145         * tests/unistr/test-u32-mbtouc.h: New file.
28146
28147         Tests for module 'unistr/u16-mbtouc-unsafe'.
28148         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
28149         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
28150         * tests/unistr/test-u16-mbtouc.h: New file.
28151
28152         Tests for module 'unistr/u8-mbtouc-unsafe'.
28153         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
28154         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
28155         * tests/unistr/test-u8-mbtouc.h: New file.
28156
28157         Tests for module 'unistr/u32-mblen'.
28158         * modules/unistr/u32-mblen-tests: New file.
28159         * tests/unistr/test-u32-mblen.c: New file.
28160
28161         Tests for module 'unistr/u16-mblen'.
28162         * modules/unistr/u16-mblen-tests: New file.
28163         * tests/unistr/test-u16-mblen.c: New file.
28164
28165         Tests for module 'unistr/u8-mblen'.
28166         * modules/unistr/u8-mblen-tests: New file.
28167         * tests/unistr/test-u8-mblen.c: New file.
28168
28169         Tests for module 'unistr/u32-to-u16'.
28170         * modules/unistr/u32-to-u16-tests: New file.
28171         * tests/unistr/test-u32-to-u16.c: New file.
28172
28173         Tests for module 'unistr/u32-to-u8'.
28174         * modules/unistr/u32-to-u8-tests: New file.
28175         * tests/unistr/test-u32-to-u8.c: New file.
28176
28177         Tests for module 'unistr/u16-to-u32'.
28178         * modules/unistr/u16-to-u32-tests: New file.
28179         * tests/unistr/test-u16-to-u32.c: New file.
28180
28181         Tests for module 'unistr/u16-to-u8'.
28182         * modules/unistr/u16-to-u8-tests: New file.
28183         * tests/unistr/test-u16-to-u8.c: New file.
28184
28185         Tests for module 'unistr/u8-to-u32'.
28186         * modules/unistr/u8-to-u32-tests: New file.
28187         * tests/unistr/test-u8-to-u32.c: New file.
28188
28189         Tests for module 'unistr/u8-to-u16'.
28190         * modules/unistr/u8-to-u16-tests: New file.
28191         * tests/unistr/test-u8-to-u16.c: New file.
28192
28193         Tests for module 'unistr/u32-check'.
28194         * modules/unistr/u32-check-tests: New file.
28195         * tests/unistr/test-u32-check.c: New file.
28196
28197         Tests for module 'unistr/u16-check'.
28198         * modules/unistr/u16-check-tests: New file.
28199         * tests/unistr/test-u16-check.c: New file.
28200
28201         Tests for module 'unistr/u8-check'.
28202         * modules/unistr/u8-check-tests: New file.
28203         * tests/unistr/test-u8-check.c: New file.
28204
28205         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
28206         (category_equals): New function.
28207         (main): Add more tests.
28208         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
28209
28210         * tests/unictype/test-bidi_byname.c (main): Add more tests.
28211
28212 2010-01-10  Bruno Haible  <bruno@clisp.org>
28213
28214         unistr/u*-strcoll: Try harder to distinguish different strings.
28215         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
28216         compare s1 and s2 to see if they are different.
28217
28218 2010-01-10  Bruno Haible  <bruno@clisp.org>
28219
28220         unistr/u*-stpncpy: Fix the return value.
28221         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
28222         description of the return value consistent with stpncpy in glibc.
28223         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
28224         written non-NUL unit.
28225
28226 2010-01-10  Bruno Haible  <bruno@clisp.org>
28227
28228         unistr/u*-next: Add missing dependencies.
28229         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
28230         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
28231         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
28232
28233 2010-01-10  Bruno Haible  <bruno@clisp.org>
28234
28235         unistr/u8-mbsnlen: Fix return value for incomplete character.
28236         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
28237         u8_mblen.
28238         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
28239         Remove unistr/u8-mblen.
28240         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
28241         u16_mblen.
28242         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
28243         Remove unistr/u16-mblen.
28244
28245 2010-01-10  Bruno Haible  <bruno@clisp.org>
28246
28247         wchar: Fix compilation error when <wchar.h> is used from coreutils.
28248         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
28249         Reported by Brian Gough <bjg@gnu.org> and
28250         Chris Clayton <chris2553@googlemail.com> via
28251         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
28252
28253 2010-01-09  Bruno Haible  <bruno@clisp.org>
28254
28255         unistr/u16-to-u32: Reject invalid input.
28256         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
28257         u16_mbtouc.
28258         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
28259         Remove unistr/u16-mbtouc.
28260
28261         unistr/u16-to-u8: Reject invalid input.
28262         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
28263         u16_mbtouc.
28264         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
28265         Remove unistr/u16-mbtouc.
28266
28267         unistr/u8-to-u32: Reject invalid input.
28268         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
28269         u8_mbtouc.
28270         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
28271         Remove unistr/u8-mbtouc.
28272
28273         unistr/u8-to-u16: Reject invalid input.
28274         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
28275         u8_mbtouc.
28276         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
28277         Remove unistr/u8-mbtouc.
28278
28279 2010-01-09  Bruno Haible  <bruno@clisp.org>
28280
28281         Tests for module 'getlogin'.
28282         * modules/getlogin-tests: New file.
28283         * tests/test-getlogin.c: New file.
28284
28285         New module 'getlogin'.
28286         * lib/unistd.in.h (getlogin): New declaration.
28287         * lib/getlogin.c: New file.
28288         * m4/getlogin.m4: New file.
28289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
28290         HAVE_GETLOGIN.
28291         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
28292         HAVE_GETLOGIN.
28293         * modules/getlogin: New file.
28294         * doc/posix-functions/getlogin.texi: Mention the new module.
28295         Reported by John W. Eaton <jwe@gnu.org>.
28296
28297 2010-01-09  Bruno Haible  <bruno@clisp.org>
28298
28299         getlogin_r: Support for native Windows.
28300         * lib/getlogin_r.c: Include <windows.h>
28301         (getlogin_r): Implement for native Windows.
28302         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
28303         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
28304         via John W. Eaton <jwe@gnu.org>.
28305
28306 2010-01-09  Bruno Haible  <bruno@clisp.org>
28307
28308         getlogin_r: Small fixes.
28309         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
28310         succeeds.
28311         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
28312         before testing whether getlogin_r is declared. No need to set
28313         HAVE_DECL_GETLOGIN_R to 1.
28314         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
28315
28316 2010-01-09  Bruno Haible  <bruno@clisp.org>
28317
28318         * lib/unistd.in.h (getlogin_r): Add comment.
28319
28320 2010-01-09  Bruno Haible  <bruno@clisp.org>
28321
28322         Tests for module 'getlogin_r'.
28323         * modules/getlogin_r-tests: New file.
28324         * tests/test-getlogin_r.c: New file.
28325
28326 2010-01-09  Jim Meyering  <meyering@redhat.com>
28327
28328         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
28329         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
28330         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
28331
28332 2010-01-08  Simon Josefsson  <simon@josefsson.org>
28333
28334         * lib/dup2.c (rpl_dup2): Improve comment.
28335
28336 2010-01-08  Eric Blake  <ebb9@byu.net>
28337
28338         maint.mk: allow packages to add makefile @@ exceptions
28339         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
28340         (sc_makefile_check): Rename...
28341         (sc_makefile_at_at_check): ...to this, and use hook.
28342
28343         dup2: work around mingw bug
28344         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
28345         Reported by Simon Josefsson.
28346
28347 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
28348
28349         glob: Fix C++ compilation.
28350         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
28351         C++.
28352
28353 2010-01-07  Bruno Haible  <bruno@clisp.org>
28354
28355         Fix indentation of wctype.in.h, broken since 2007-01-06.
28356         * lib/wctype.in.h: Fix indentation of preprocessor directives.
28357
28358 2010-01-07  Bruno Haible  <bruno@clisp.org>
28359
28360         mbslen: Avoid collision with system function.
28361         * lib/string.in.h [MirBSD]: Include <wchar.h>.
28362         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
28363         * m4/mbslen.m4: New file.
28364         * modules/mbslen (Files): Add it.
28365         (configure.ac): Invoke gl_MBSLEN.
28366         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
28367         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
28368         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
28369         via Ian Beckwith <ianb@erislabs.net>.
28370
28371 2010-01-07  Bruno Haible  <bruno@clisp.org>
28372
28373         dirent: Document the last fix.
28374         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
28375
28376 2010-01-07  Bruno Haible  <bruno@clisp.org>
28377
28378         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
28379         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
28380         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
28381         va_list are defined.
28382         * doc/posix-headers/stdio.texi: Document the bug of missing types.
28383         Reported by Eric Blake.
28384
28385 2010-01-07  Bruno Haible  <bruno@clisp.org>
28386
28387         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
28388         * modules/xlist (Depends-on): Add 'list',
28389         * modules/xoset (Depends-on): Add 'oset'.
28390         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28391
28392 2010-01-07  Bruno Haible  <bruno@clisp.org>
28393
28394         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
28395         * doc/posix-functions/strncasecmp.texi: Likewise.
28396
28397 2010-01-07  Bruno Haible  <bruno@clisp.org>
28398
28399         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
28400
28401 2010-01-07  John W. Eaton  <jwe@octave.org>
28402
28403         wctype: allow C++ use
28404         * lib/wctype.in.h: Add extern "C" block for C++.
28405
28406 2010-01-06  Eric Blake  <ebb9@byu.net>
28407
28408         maint.mk: detect incorrect GFDL usage
28409         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
28410
28411 2010-01-06  Jim Meyering  <meyering@redhat.com>
28412         and Eric Blake  <ebb9@byu.net>
28413
28414         maint.mk: ignore multi-line copyright in NEWS
28415         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
28416
28417 2010-01-06  Eric Blake  <ebb9@byu.net>
28418
28419         select: add missing dependency
28420         * modules/select-tests (Depends-on): Move sockets dependency...
28421         * modules/select (Depends-on): ...here.
28422         Reported by Ian Beckwith.
28423
28424         doc: regenerate INSTALL
28425         * doc/INSTALL: Reflect recent autoconf update.
28426         * doc/INSTALL.ISO: Likewise.
28427         * doc/INSTALL.UTF-8: Likewise.
28428
28429         pread: fix compilation on glibc
28430         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
28431         Reported by Ralf Wildenhues.
28432
28433         dirent: fix test failure
28434         * lib/dirent.in.h (includes): Guarantee ino_t.
28435         Reported by Ralf Wildenhues.
28436
28437 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
28438
28439         linkat, renameat: avoid bad free
28440         * lib/at-func2.c (at_func2): Fix typo.
28441         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
28442
28443 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28444
28445         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
28446         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
28447         to avoid failure of symlink test later.
28448
28449 2010-01-06  Eric Blake  <ebb9@byu.net>
28450
28451         stdio, unistd: guarantee ssize_t
28452         * lib/unistd.in.h (includes): Ensure that types required by POSIX
28453         2008 are exposed when needed.
28454         * lib/stdio.in.h (includes): Likewise.
28455         Reported by Ralf Wildenhues.
28456
28457 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
28458
28459         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
28460         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
28461         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
28462
28463 2010-01-06  Jim Meyering  <meyering@redhat.com>
28464
28465         readtokens: this module *does* require xalloc.h
28466         It uses only functions that were omitted by the old syntax-check rule.
28467         * lib/readtokens.c: Include "xalloc.h" once again.
28468         * modules/readtokens (Depends-on): Add xalloc.
28469         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
28470
28471 2010-01-05  Eric Blake  <ebb9@byu.net>
28472
28473         maint: support 'make announcement' from a VPATH build
28474         * top/maint.mk (announcement): Look for correct NEWS file.
28475
28476 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
28477
28478         utimens (fdutimens): ignore a negative FD, per contract
28479         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
28480         when we have a valid file descriptor.  Otherwise, using a brand
28481         new glibc (with just-patched futimens that now fails with EBADF)
28482         would cause this function to fail with ENOSYS.
28483         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
28484         See also http://bugzilla.redhat.com/552320.
28485
28486 2010-01-05  Eric Blake  <ebb9@byu.net>
28487
28488         strcase: document what it provides
28489         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
28490         gnulib module.
28491         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
28492         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
28493
28494 2010-01-05  Jim Meyering  <meyering@redhat.com>
28495
28496         maint: remove useless inclusions of "xalloc.h"
28497         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
28498         * lib/readtokens.c: Likewise.
28499         * lib/same.c: Likewise.
28500         * modules/getloadavg (Depends-on): Remove xalloc.
28501         * modules/readtokens: Likewise.
28502         * modules/same: Likewise.
28503
28504         maint.mk: include 4 more function names in alloca.h-checking regexp
28505         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
28506         regexp.  Before, we would give a false-positive (saying alloca.h
28507         is included unnecessarily) when the only uses involved omitted symbols.
28508
28509         xalloc.h: use consistent formatting
28510         * lib/xalloc.h: Move declarations to start in the first column.
28511
28512 2010-01-05  Eric Blake  <ebb9@byu.net>
28513
28514         mkdir: avoid xalloc
28515         * lib/mkdir.c (includes): Drop unused header.
28516         Reported by John W. Eaton.
28517
28518 2010-01-04  Jim Meyering  <meyering@redhat.com>
28519
28520         nl_langinfo: avoid configure-time syntax error
28521         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
28522         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
28523         the empty string.  Don't let that provoke a shell syntax error.
28524
28525         regcomp, regexec, fnmatch: avoid array bounds read error
28526         * lib/regcomp.c (build_equiv_class): From glibc:
28527         Use only the low 24 bits of a findidx return value as an index
28528         into the weights array.  Patch by Ulrich Drepper:
28529         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
28530         * lib/regexec.c (check_node_accept_bytes): Likewise.
28531         * lib/fnmatch_loop.c (FCT): Likewise.
28532
28533         regcomp: skip collseq lookup when there are no rules
28534         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
28535         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
28536
28537         regcomp: recognize ill-formed { } expressions
28538         * lib/regcomp.c (parse_dup_op): From glibc:
28539         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
28540
28541         regcomp: fix typo in comment
28542         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
28543         s/satisfy/satisfies/.
28544
28545         regcomp: sync from glibc: remove dead store
28546         * lib/regcomp.c (duplicate_node_closure): Remove useless
28547         search_duplicated_node call and dead store.
28548
28549         regcomp: sync from glibc; always use nl_langinfo
28550         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
28551         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
28552         * modules/regex (Depends-on): Add nl_langinfo.
28553
28554 2010-01-04  Eric Blake  <ebb9@byu.net>
28555
28556         fdopendir: fix configure test
28557         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
28558
28559 2010-01-01  Bruno Haible  <bruno@clisp.org>
28560
28561         wchar: Remove unused configure check.
28562         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
28563
28564 2010-01-01  Eric Blake  <ebb9@byu.net>
28565
28566         headers: make check of system header explicit
28567         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
28568         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
28569         ourselves.
28570         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
28571         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28572         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
28573         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
28574         internals.
28575         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
28576         missing.
28577         Suggested by Bruno Haible.
28578
28579 2010-01-01  Jim Meyering  <meyering@redhat.com>
28580
28581         ChangeLog: tweak to eliminate unnecessary copyright line
28582         * ChangeLog: Remove a copyright line that was mistakenly updated
28583         by today's update-copyright run.  Reported by Eric Blake.
28584
28585         test-update-copyright: don't let envvar setting cause test failure
28586         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
28587
28588 2010-01-01  Bruno Haible  <bruno@clisp.org>
28589
28590         localename: Avoid gcc warning.
28591         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
28592         function if it is not used.
28593
28594 2010-01-01  Jim Meyering  <meyering@redhat.com>
28595
28596         update nearly all FSF copyright year lists to include 2010
28597         Use the same procedure as for 2009, outlined in
28598         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
28599
28600         version-etc: set COPYRIGHT_YEAR to 2010
28601         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
28602
28603 2009-12-31  Eric Blake  <ebb9@byu.net>
28604
28605         doc: correct availability of cygwin 1.5.x getopt
28606         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
28607         variables.
28608         * doc/posix-functions/opterr.texi (opterr): Likewise.
28609         * doc/posix-functions/optind.texi (optind): Likewise.
28610         * doc/posix-functions/optopt.texi (optopt): Likewise.
28611         * doc/posix-functions/tzname.texi (tzname): Likewise.
28612
28613         openat: update maintainer
28614         * modules/openat (Maintainer): Add myself.
28615
28616         utimens: avoid shadowing warning
28617         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
28618         buffers into one, to avoid shadowing, as well as avoiding a
28619         redundant stat.
28620         Reported by Jim Meyering.
28621
28622         test-dup2: avoid compiler warning
28623         * tests/test-dup2.c (is_inheritable): Only define if used.
28624
28625 2010-01-01  Bruno Haible  <bruno@clisp.org>
28626
28627         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
28628         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
28629         defined, use wctomb instead of wcrtomb.
28630
28631 2010-01-01  Bruno Haible  <bruno@clisp.org>
28632
28633         iconv: Reject native Solaris iconv.
28634         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
28635         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
28636
28637 2009-12-31  Bruno Haible  <bruno@clisp.org>
28638
28639         * tests/test-signal.c (main): Remove test of 'SIG'.
28640
28641 2009-12-31  Bruno Haible  <bruno@clisp.org>
28642
28643         spawn: Fix incomplete fix.
28644         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28645         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28646         warnings for GNULIB_POSIXCHECK again.
28647         Reported by Eric Blake.
28648
28649 2009-12-31  Bruno Haible  <bruno@clisp.org>
28650
28651         Avoid namespace pollution on glibc systems.
28652         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
28653         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
28654         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
28655         glibc systems.
28656
28657 2009-12-31  Bruno Haible  <bruno@clisp.org>
28658
28659         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
28660         (gl_REPLACE_WCHAR_H): Turn into a no-op.
28661         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
28662         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
28663         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
28664         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
28665         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
28666
28667 2009-12-31  Bruno Haible  <bruno@clisp.org>
28668
28669         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28670         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
28671         afterwards.
28672
28673 2009-12-31  Bruno Haible  <bruno@clisp.org>
28674
28675         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
28676         SYS_UTSNAME_H.
28677
28678 2009-12-31  Bruno Haible  <bruno@clisp.org>
28679
28680         spawn: Fix misapplied patch.
28681         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
28682         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
28683         warnings for GNULIB_POSIXCHECK.
28684
28685 2009-12-31  Bruno Haible  <bruno@clisp.org>
28686
28687         times: Update after sys_times changed.
28688         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
28689         * modules/times (Files): Add it.
28690         (configure.ac): Invoke gl_FUNC_TIMES.
28691
28692 2009-12-31  Bruno Haible  <bruno@clisp.org>
28693
28694         Use AC_C_INLINE where necessary.
28695         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
28696         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28697         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
28698         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28699         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28700         * m4/mbiter.m4 (gl_MBITER): Likewise.
28701         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28702         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28703         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
28704         * modules/u64 (configure.ac): Likewise.
28705
28706 2009-12-31  Bruno Haible  <bruno@clisp.org>
28707
28708         Use AC_C_INLINE instead of module 'inline' where possible.
28709         * modules/inline (Description): Clarify purpose.
28710         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
28711         * modules/count-one-bits (Depends-on): Remove inline.
28712         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
28713         * modules/openat (Depends-on): Remove inline.
28714         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
28715         instead of depending on module 'inline'.
28716         * modules/filevercmp (Depends-on, configure.ac): Likewise.
28717         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
28718         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
28719         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
28720         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
28721         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
28722         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
28723         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
28724         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
28725         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
28726         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
28727         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
28728         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
28729         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
28730         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
28731         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
28732         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
28733         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
28734         Likewise.
28735         * modules/unictype/property-ascii-hex-digit (Depends-on,
28736         configure.ac): Likewise.
28737         * modules/unictype/property-bidi-arabic-digit (Depends-on,
28738         configure.ac): Likewise.
28739         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
28740         configure.ac): Likewise.
28741         * modules/unictype/property-bidi-block-separator (Depends-on,
28742         configure.ac): Likewise.
28743         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
28744         configure.ac): Likewise.
28745         * modules/unictype/property-bidi-common-separator (Depends-on,
28746         configure.ac): Likewise.
28747         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
28748         Likewise.
28749         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
28750         configure.ac): Likewise.
28751         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
28752         configure.ac): Likewise.
28753         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
28754         configure.ac): Likewise.
28755         * modules/unictype/property-bidi-european-digit (Depends-on,
28756         configure.ac): Likewise.
28757         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
28758         configure.ac): Likewise.
28759         * modules/unictype/property-bidi-left-to-right (Depends-on,
28760         configure.ac): Likewise.
28761         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
28762         configure.ac): Likewise.
28763         * modules/unictype/property-bidi-other-neutral (Depends-on,
28764         configure.ac): Likewise.
28765         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
28766         Likewise.
28767         * modules/unictype/property-bidi-segment-separator (Depends-on,
28768         configure.ac): Likewise.
28769         * modules/unictype/property-bidi-whitespace (Depends-on,
28770         configure.ac): Likewise.
28771         * modules/unictype/property-combining (Depends-on, configure.ac):
28772         Likewise.
28773         * modules/unictype/property-composite (Depends-on, configure.ac):
28774         Likewise.
28775         * modules/unictype/property-currency-symbol (Depends-on,
28776         configure.ac): Likewise.
28777         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
28778         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
28779         Likewise.
28780         * modules/unictype/property-default-ignorable-code-point (Depends-on,
28781         configure.ac): Likewise.
28782         * modules/unictype/property-deprecated (Depends-on, configure.ac):
28783         Likewise.
28784         * modules/unictype/property-diacritic (Depends-on, configure.ac):
28785         Likewise.
28786         * modules/unictype/property-extender (Depends-on, configure.ac):
28787         Likewise.
28788         * modules/unictype/property-format-control (Depends-on, configure.ac):
28789         Likewise.
28790         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
28791         Likewise.
28792         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
28793         Likewise.
28794         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
28795         Likewise.
28796         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
28797         Likewise.
28798         * modules/unictype/property-hyphen (Depends-on, configure.ac):
28799         Likewise.
28800         * modules/unictype/property-id-continue (Depends-on, configure.ac):
28801         Likewise.
28802         * modules/unictype/property-id-start (Depends-on, configure.ac):
28803         Likewise.
28804         * modules/unictype/property-ideographic (Depends-on, configure.ac):
28805         Likewise.
28806         * modules/unictype/property-ids-binary-operator (Depends-on,
28807         configure.ac): Likewise.
28808         * modules/unictype/property-ids-trinary-operator (Depends-on,
28809         configure.ac): Likewise.
28810         * modules/unictype/property-ignorable-control (Depends-on,
28811         configure.ac): Likewise.
28812         * modules/unictype/property-iso-control (Depends-on, configure.ac):
28813         Likewise.
28814         * modules/unictype/property-join-control (Depends-on, configure.ac):
28815         Likewise.
28816         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
28817         Likewise.
28818         * modules/unictype/property-line-separator (Depends-on, configure.ac):
28819         Likewise.
28820         * modules/unictype/property-logical-order-exception (Depends-on,
28821         configure.ac): Likewise.
28822         * modules/unictype/property-lowercase (Depends-on, configure.ac):
28823         Likewise.
28824         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
28825         * modules/unictype/property-non-break (Depends-on, configure.ac):
28826         Likewise.
28827         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
28828         Likewise.
28829         * modules/unictype/property-numeric (Depends-on, configure.ac):
28830         Likewise.
28831         * modules/unictype/property-other-alphabetic (Depends-on,
28832         configure.ac): Likewise.
28833         * modules/unictype/property-other-default-ignorable-code-point
28834         (Depends-on, configure.ac): Likewise.
28835         * modules/unictype/property-other-grapheme-extend (Depends-on,
28836         configure.ac): Likewise.
28837         * modules/unictype/property-other-id-continue (Depends-on,
28838         configure.ac): Likewise.
28839         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
28840         Likewise.
28841         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
28842         Likewise.
28843         * modules/unictype/property-other-math (Depends-on, configure.ac):
28844         Likewise.
28845         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
28846         Likewise.
28847         * modules/unictype/property-paired-punctuation (Depends-on,
28848         configure.ac): Likewise.
28849         * modules/unictype/property-paragraph-separator (Depends-on,
28850         configure.ac): Likewise.
28851         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
28852         Likewise.
28853         * modules/unictype/property-pattern-white-space (Depends-on,
28854         configure.ac): Likewise.
28855         * modules/unictype/property-private-use (Depends-on, configure.ac):
28856         Likewise.
28857         * modules/unictype/property-punctuation (Depends-on, configure.ac):
28858         Likewise.
28859         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
28860         Likewise.
28861         * modules/unictype/property-radical (Depends-on, configure.ac):
28862         Likewise.
28863         * modules/unictype/property-sentence-terminal (Depends-on,
28864         configure.ac): Likewise.
28865         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
28866         Likewise.
28867         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
28868         * modules/unictype/property-terminal-punctuation (Depends-on,
28869         configure.ac): Likewise.
28870         * modules/unictype/property-titlecase (Depends-on, configure.ac):
28871         Likewise.
28872         * modules/unictype/property-unassigned-code-value (Depends-on,
28873         configure.ac): Likewise.
28874         * modules/unictype/property-unified-ideograph (Depends-on,
28875         configure.ac): Likewise.
28876         * modules/unictype/property-uppercase (Depends-on, configure.ac):
28877         Likewise.
28878         * modules/unictype/property-variation-selector (Depends-on,
28879         configure.ac): Likewise.
28880         * modules/unictype/property-white-space (Depends-on, configure.ac):
28881         Likewise.
28882         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
28883         Likewise.
28884         * modules/unictype/property-xid-start (Depends-on, configure.ac):
28885         Likewise.
28886         * modules/unictype/property-zero-width (Depends-on, configure.ac):
28887         Likewise.
28888         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
28889         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
28890         Likewise.
28891
28892 2009-12-31  Bruno Haible  <bruno@clisp.org>
28893
28894         Remove unnecessary AC_C_INLINE invocation.
28895         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
28896         since 2009-08-21.
28897
28898 2009-12-31  Jim Meyering  <meyering@redhat.com>
28899
28900         maint.mk: don't require explicit gpg_key_ID in cfg.mk
28901         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
28902         With this change, we can all remove the gpg_key_ID = ... definition
28903         from our respective cfg.mk files.
28904
28905         maint.mk: create announcement template in ~/, not in /tmp
28906         * top/maint.mk (emit_upload_commands): Adjust.
28907         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
28908         Remove temporary file, .ci-msg.
28909
28910 2009-12-31  Eric Blake  <ebb9@byu.net>
28911
28912         link-warning: always build headers with link warnings
28913         * modules/arpa_inet (Makefile.am): Always build replacement
28914         header.
28915         * modules/ctype (Makefile.am): Likewise.
28916         * modules/dirent (Makefile.am): Likewise.
28917         * modules/inttypes (Makefile.am): Likewise.
28918         * modules/langinfo (Makefile.am): Likewise.
28919         * modules/locale (Makefile.am): Likewise.
28920         * modules/spawn (Makefile.am): Likewise.
28921         * modules/sys_file (Makefile.am): Likewise.
28922         * modules/sys_ioctl (Makefile.am): Likewise.
28923         * modules/sys_select (Makefile.am): Likewise.
28924         * modules/sys_socket (Makefile.am): Likewise.
28925         * modules/sys_times (Makefile.am): Likewise.
28926         * modules/sys_utsname (Makefile.am): Likewise.
28927         * modules/sys_wait (Makefile.am): Likewise.
28928         * modules/wchar (Makefile.am): Likewise.
28929         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
28930         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
28931         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
28932         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
28933         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
28934         Likewise.
28935         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28936         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28937         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
28938         Likewise.
28939         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
28940         Likewise.
28941         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
28942         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
28943         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
28944         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28945         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28946         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28947         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28948         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
28949         (gl_WCHAR_H_DEFAULTS): Likewise.
28950
28951 2009-12-31  Eric Blake  <ebb9@byu.net>
28952
28953         signal, spawn: use link warnings
28954         * lib/signal.in.h (sigset_t): Make unconditional.
28955         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
28956         (sigpending, sigprocmask, sigaction): Add link warnings.
28957         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
28958         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
28959         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
28960         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
28961         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
28962         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
28963         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
28964         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
28965         (posix_spawn_file_actions_destroy)
28966         (posix_spawn_file_actions_addopen)
28967         (posix_spawn_file_actions_addclose)
28968         (posix_spawn_file_actions_adddup2): Likewise.
28969         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
28970         * tests/test-signal.c (main): Enhance test.
28971
28972         spawn: improve wrapper support
28973         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
28974         (gl_SPAWN_H_DEFAULTS): New defaults.
28975         * modules/spawn (Makefile.am): Substitute them.
28976         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
28977         Only declare if missing or broken.
28978
28979         sys_times, sys_utsname: use include_next
28980         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
28981         header.
28982         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
28983         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
28984         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
28985         * modules/sys_times (Depends-on): Add include_next.
28986         (Makefile.am): Substitute additional values.
28987         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
28988         * lib/sys_times.in.h (includes): Include native header, if
28989         available.
28990         * lib/sys_utsname.in.h (includes): Likewise.
28991         * tests/test-sys_times.c (main): Enhance test.
28992
28993         fdutimensat: revert prior patch
28994         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
28995         utimens.h.
28996         Reported by Bruno Haible.
28997
28998 2009-12-30  Eric Blake  <ebb9@byu.net>
28999
29000         sys_wait: drop link-warning dependency
29001         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
29002         link-warning efforts.
29003         * lib/sys_wait.in.h: Likewise.
29004
29005         fdutimensat: remove bogus dependency
29006         * modules/fdutimensat (Depends-on): Drop inline.
29007
29008         unistd: fix typo
29009         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
29010
29011 2009-12-30  Bruno Haible  <bruno@clisp.org>
29012
29013         Fix compilation error with Solaris cc.
29014         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
29015         * lib/unicase/u16-is-invariant.c: Likewise.
29016         * lib/unicase/u32-is-invariant.c: Likewise.
29017         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29018
29019 2009-12-30  Bruno Haible  <bruno@clisp.org>
29020
29021         Fix test crash.
29022         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
29023         locales.
29024         Reported by Simon Josefsson <simon@josefsson.org>.
29025
29026 2009-12-30  Bruno Haible  <bruno@clisp.org>
29027
29028         Fix compilation error on most platforms.
29029         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
29030         Reported by Simon Josefsson <simon@josefsson.org>
29031         and Nelson H. F. Beebe <beebe@math.utah.edu>.
29032
29033 2009-12-30  Eric Blake  <ebb9@byu.net>
29034
29035         futimens, utimensat: work around ntfs-3g bug
29036         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
29037         a ctime bug is present, and expand workaround to cover ntfs-3g.
29038         * lib/utimens.c (fdutimens, lutimens): Likewise.
29039         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
29040         (validate_timespec): Adjust return value.
29041         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
29042         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29043         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
29044
29045 2009-12-29  Eric Blake  <ebb9@byu.net>
29046
29047         link-warning: make usage consistent
29048         * modules/ctype (Depends-on): Add link-warning.
29049         (Makefile.am): Update rules accordingly.
29050         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29051         * modules/locale (Depends-on, Makefile.am): Likewise.
29052         * modules/sys_file (Makefile.am): Likewise.
29053         * modules/getopt-posix (Makefile.am): Delete unused link warning
29054         efforts.
29055         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
29056         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
29057         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
29058         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
29059
29060         stdio: remove unused variables
29061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
29062         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
29063         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29064
29065         tests: test more substitute headers
29066         * modules/ctype-tests: New file.
29067         * modules/dirent-tests: Likewise.
29068         * modules/spawn-tests: Likewise.
29069         * modules/sys_file-tests: Likewise.
29070         * modules/sys_ioctl-tests: Likewise.
29071         * modules/sys_wait-tests: Likewise.
29072         * tests/test-ctype.c: Likewise.
29073         * tests/test-dirent.c: Likewise.
29074         * tests/test-spawn.c: Likewise.
29075         * tests/test-sys_file.c: Likewise.
29076         * tests/test-sys_ioctl.c: Likewise.
29077         * tests/test-sys_wait.c: Likewise.
29078         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
29079         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
29080         whether or not flock is in use.
29081
29082         tests: remove License section from module
29083         * modules/arpa_inet-tests: Remove unneeded section.
29084         * modules/byteswap-tests: Likewise.
29085         * modules/ceilf-tests: Likewise.
29086         * modules/ceill-tests: Likewise.
29087         * modules/crypto/des-tests: Likewise.
29088         * modules/crypto/gc-arcfour-tests: Likewise.
29089         * modules/crypto/gc-arctwo-tests: Likewise.
29090         * modules/crypto/gc-des-tests: Likewise.
29091         * modules/crypto/gc-hmac-md5-tests: Likewise.
29092         * modules/crypto/gc-hmac-sha1-tests: Likewise.
29093         * modules/crypto/gc-md2-tests: Likewise.
29094         * modules/crypto/gc-md4-tests: Likewise.
29095         * modules/crypto/gc-md5-tests: Likewise.
29096         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
29097         * modules/crypto/gc-rijndael-tests: Likewise.
29098         * modules/crypto/gc-sha1-tests: Likewise.
29099         * modules/crypto/gc-tests: Likewise.
29100         * modules/crypto/md2-tests: Likewise.
29101         * modules/crypto/md4-tests: Likewise.
29102         * modules/fcntl-h-tests: Likewise.
29103         * modules/floorf-tests: Likewise.
29104         * modules/floorl-tests: Likewise.
29105         * modules/frexp-nolibm-tests: Likewise.
29106         * modules/frexp-tests: Likewise.
29107         * modules/frexpl-nolibm-tests: Likewise.
29108         * modules/frexpl-tests: Likewise.
29109         * modules/getaddrinfo-tests: Likewise.
29110         * modules/inttypes-tests: Likewise.
29111         * modules/isfinite-tests: Likewise.
29112         * modules/isinf-tests: Likewise.
29113         * modules/ldexpl-tests: Likewise.
29114         * modules/locale-tests: Likewise.
29115         * modules/math-tests: Likewise.
29116         * modules/netdb-tests: Likewise.
29117         * modules/netinet_in-tests: Likewise.
29118         * modules/printf-frexp-tests: Likewise.
29119         * modules/printf-frexpl-tests: Likewise.
29120         * modules/priv-set-tests: Likewise.
29121         * modules/random_r-tests: Likewise.
29122         * modules/round-tests: Likewise.
29123         * modules/roundf-tests: Likewise.
29124         * modules/roundl-tests: Likewise.
29125         * modules/search-tests: Likewise.
29126         * modules/select-tests: Likewise.
29127         * modules/signal-tests: Likewise.
29128         * modules/stdbool-tests: Likewise.
29129         * modules/stddef-tests: Likewise.
29130         * modules/stdint-tests: Likewise.
29131         * modules/stdio-tests: Likewise.
29132         * modules/stdlib-tests: Likewise.
29133         * modules/string-tests: Likewise.
29134         * modules/strings-tests: Likewise.
29135         * modules/sys_select-tests: Likewise.
29136         * modules/sys_socket-tests: Likewise.
29137         * modules/sys_stat-tests: Likewise.
29138         * modules/sys_time-tests: Likewise.
29139         * modules/sys_utsname-tests: Likewise.
29140         * modules/sysexits-tests: Likewise.
29141         * modules/time-tests: Likewise.
29142         * modules/trunc-tests: Likewise.
29143         * modules/truncf-tests: Likewise.
29144         * modules/truncl-tests: Likewise.
29145         * modules/tsearch-tests: Likewise.
29146         * modules/unistd-tests: Likewise.
29147         * modules/wchar-tests: Likewise.
29148         * modules/wctype-tests: Likewise.
29149
29150         tests: fix license on several tests
29151         * tests/test-des.c: Update to GPLv3+.
29152         * tests/test-flock.c: Likewise.
29153         * tests/test-fsync.c: Likewise.
29154         * tests/test-futimens.h: Likewise.
29155         * tests/test-gc-arcfour.c: Likewise.
29156         * tests/test-gc-arctwo.c: Likewise.
29157         * tests/test-gc-des.c: Likewise.
29158         * tests/test-gc-hmac-md5.c: Likewise.
29159         * tests/test-gc-hmac-sha1.c: Likewise.
29160         * tests/test-gc-md2.c: Likewise.
29161         * tests/test-gc-md4.c: Likewise.
29162         * tests/test-gc-md5.c: Likewise.
29163         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29164         * tests/test-gc-rijndael.c: Likewise.
29165         * tests/test-gc-sha1.c: Likewise.
29166         * tests/test-gc.c: Likewise.
29167         * tests/test-getcwd.c: Likewise.
29168         * tests/test-link.c: Likewise.
29169         * tests/test-link.h: Likewise.
29170         * tests/test-lutimens.h: Likewise.
29171         * tests/test-md2.c: Likewise.
29172         * tests/test-md4.c: Likewise.
29173         * tests/test-mkdir.h: Likewise.
29174         * tests/test-rename.c: Likewise.
29175         * tests/test-rename.h: Likewise.
29176         * tests/test-safe-alloc.c: Likewise.
29177         * tests/test-utimens-common.h: Likewise.
29178         * tests/test-utimens.h: Likewise.
29179
29180         maint: sync license texts
29181         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
29182         * doc/gpl-3.0.texi: Revert copyright year update.
29183         * doc/lgpl-3.0.texi: Likewise.
29184
29185 2009-12-29  Jim Meyering  <meyering@redhat.com>
29186
29187         update nearly all FSF copyright year lists to include 2009
29188         The files named by the following are exempted:
29189             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
29190               test -f "$dst" && { echo "$dst"; continue; }
29191               test -d "$dst" || continue
29192               echo "$dst"/$(basename "$src")
29193             done > exempt
29194             git ls-files tests/unictype >> exempt
29195         In the remaining files, convert to all-interval notation if
29196         - there is already at least one year interval like 2000-2003
29197         - the file is maintained by me
29198         - the file is in lib/uni*/, where that style already prevails
29199         Otherwise, use update-copyright's default.
29200
29201 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29202         and Eric Blake  <ebb9@byu.net>
29203
29204         tests: don't require debug system() to pass
29205         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
29206         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29207         * tests/test-unlink.h (test_unlink_func): Likewise.
29208         * tests/test-fstatat.c (main): ...into callers.
29209         * tests/test-lstat.c (main): Likewise.
29210         * tests/test-rmdir.c (main): Likewise.
29211         * tests/test-unlink.c (main): Likewise.
29212         * tests/test-unlinkat.c (main): Likewise.
29213         * tests/test-areadlink-with-size.c (main): Don't require a
29214         debug-only system call to pass, aiding cross-testing to mingw.
29215         * tests/test-areadlink.c (main): Likewise.
29216         * tests/test-areadlinkat-with-size.c (main): Likewise.
29217         * tests/test-areadlinkat.c (main): Likewise.
29218         * tests/test-canonicalize-lgpl.c (main): Likewise.
29219         * tests/test-canonicalize.c (main): Likewise.
29220         * tests/test-chown.c (main): Likewise.
29221         * tests/test-fchownat.c (main): Likewise.
29222         * tests/test-lchown.c (main): Likewise.
29223         * tests/test-fdutimensat.c (main): Likewise.
29224         * tests/test-futimens.c (main): Likewise.
29225         * tests/test-link.c (main): Likewise.
29226         * tests/test-linkat.c (main): Likewise.
29227         * tests/test-mkdir.c (main): Likewise.
29228         * tests/test-mkdirat.c (main): Likewise.
29229         * tests/test-mkfifo.c (main): Likewise.
29230         * tests/test-mkfifoat.c (main): Likewise.
29231         * tests/test-mknod.c (main): Likewise.
29232         * tests/test-readlink.c (main): Likewise.
29233         * tests/test-remove.c (main): Likewise.
29234         * tests/test-rename.c (main): Likewise.
29235         * tests/test-renameat.c (main): Likewise.
29236         * tests/test-symlink.c (main): Likewise.
29237         * tests/test-symlinkat.c (main): Likewise.
29238         * tests/test-utimens.c (main): Likewise.
29239         * tests/test-utimensat.c (main): Likewise.
29240
29241 2009-12-29  Simon Josefsson  <simon@josefsson.org>
29242
29243         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
29244         on $(UNUSED_PARAMETER_H) to avoid build failure.
29245
29246 2009-12-28  Jim Meyering  <meyering@redhat.com>
29247
29248         update-copyright: you may specify a max. line length other than 72
29249         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
29250
29251         maint: use consistent FSF copyright line syntax
29252         * lib/posixtm.c: Add missing comma in FSF copyright line.
29253         * lib/posixtm.h: Likewise.
29254         * lib/getugroups.c: Add missing ", Inc.".
29255
29256         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
29257         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
29258         FSF copyright line.  Remove trailing blanks.
29259
29260 2009-12-28  Eric Blake  <ebb9@byu.net>
29261
29262         test-dup2: reduce dependencies
29263         * modules/cloexec (Configure.ac): Set witness.
29264         * modules/dup2-tests (Depends-on): Drop cloexec.
29265         * tests/test-dup2.c (main): Skip portion of test if cloexec module
29266         not present.
29267         Suggested by Bruno Haible.
29268
29269 2009-12-26  Bruno Haible  <bruno@clisp.org>
29270
29271         Remove an unneeded dependency.
29272         * modules/fseterr (Depends-on): Remove dup2.
29273
29274 2009-12-26  Eric Blake  <ebb9@byu.net>
29275
29276         tests: use macros.h in more places
29277         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
29278         (ASSERT_STREAM): Provide default of stderr.
29279         * tests/test-dirent-safer.c: Include macros.h, using alternate
29280         stream for assertions.
29281         * tests/test-dup-safer.c: Likewise.
29282         * tests/test-freopen-safer.c: Likewise.
29283         * tests/test-getopt.c: Likewise.
29284         * tests/test-openat-safer.c: Likewise.
29285         * tests/test-pipe.c: Likewise.
29286         * tests/test-popen-safer.c: Likewise.
29287         * modules/dirent-safer-tests (Files): Include macros.h.
29288         * modules/unistd-safer-tests (Files): Likewise.
29289         * modules/freopen-safer-tests (Files): Likewise.
29290         * modules/getopt-posix-tests (Files): Likewise.
29291         * modules/openat-safer-tests (Files): Likewise.
29292         * modules/pipe-tests (Files): Likewise.
29293
29294 2009-12-26  Bruno Haible  <bruno@clisp.org>
29295
29296         javacomp: Portability fix.
29297         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
29298         that it also works on Solaris.
29299
29300 2009-12-26  Bruno Haible  <bruno@clisp.org>
29301
29302         localename: Fix storage allocation of gl_locale_name_thread's result.
29303         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
29304         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
29305         all platforms that have 'uselocale'.
29306         (gl_locale_name_thread_unsafe): New function, extracted from
29307         gl_locale_name_thread.
29308         (gl_locale_name_thread): Call struniq on all platforms that have
29309         'uselocale'.
29310         * tests/test-localename.c (test_locale_name_thread): Check that the
29311         resulting strings are permanently allocated.
29312         * modules/localename-tests (Depends-on): Add strdup.
29313
29314 2009-12-26  Bruno Haible  <bruno@clisp.org>
29315
29316         * tests/test-localename.c (categories): Fill in the strings.
29317
29318 2009-12-26  Jim Meyering  <meyering@redhat.com>
29319
29320         isdir: complete the removal of m4/isdir.m4
29321         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
29322
29323         isdir: clean up, since at least grep still uses it
29324         * lib/isdir.c: Include "isdir.h".
29325         (S_ISDIR): Remove now-unneeded definition.
29326         * modules/isdir (Files): Add lib/isdir.h.
29327         * lib/isdir.h: New file, with declaration.
29328         * m4/isdir.m4: Remove file -- unneeded.
29329
29330 2009-12-25  Bruno Haible  <bruno@clisp.org>
29331
29332         selinux-h: Make generated .h files standalone.
29333         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
29334         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
29335         * lib/se-selinux.in.h: Likewise.
29336         * modules/selinux-h (Depends-on): Add unused-parameter.
29337         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
29338         selinux/selinux.h and selinux/context.h.
29339         Suggested by Eric Blake.
29340
29341 2009-12-25  Bruno Haible  <bruno@clisp.org>
29342
29343         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
29344         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
29345         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
29346         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
29347         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
29348
29349 2009-12-24  Bruno Haible  <bruno@clisp.org>
29350
29351         openat: Fix warning.
29352         * lib/openat-proc.c: Include <unistd.h>.
29353
29354 2009-12-24  Bruno Haible  <bruno@clisp.org>
29355
29356         New module 'unused-parameter'.
29357         * build-aux/unused-parameter.h: New file, extracted from earlier
29358         gnulib-common.m4.
29359         * modules/unused-parameter: New file.
29360         * lib/unistr.h: Include unused-parameter.h.
29361         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
29362         _GL_UNUSED.
29363         * modules/unistr/base (Depends-on): Add unused-parameter.
29364
29365 2009-12-24  Bruno Haible  <bruno@clisp.org>
29366
29367         Add missing dependencies to 'extensions' module.
29368         * m4/extensions.m4: Add comment.
29369         * modules/accept4 (Depends-on): Add extensions.
29370         * modules/dup3 (Depends-on): Likewise.
29371         * modules/fcntl (Depends-on): Likewise.
29372         * modules/futimens (Depends-on): Likewise.
29373         * modules/mknod (Depends-on): Likewise.
29374         * modules/pipe2 (Depends-on): Likewise.
29375         * modules/stat-time (Depends-on): Likewise.
29376         * modules/strcasestr-simple (Depends-on): Likewise.
29377         * modules/strsignal (Depends-on): Likewise.
29378         * modules/utimensat (Depends-on): Likewise.
29379         * modules/localcharset (Depends-on): Likewise. Needed because of
29380         gl_FCNTL_O_FLAGS.
29381         * modules/wcrtomb (Depends-on): Likewise. Needed because of
29382         AC_TYPE_MBSTATE_T.
29383         * modules/wcsnrtombs (Depends-on): Likewise.
29384         * modules/wcsrtombs (Depends-on): Likewise.
29385
29386 2009-12-24  Bruno Haible  <bruno@clisp.org>
29387
29388         binary-io: Avoid gcc warning due to SET_BINARY.
29389         * lib/binary-io.h (SET_BINARY): Cast the result to void.
29390         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
29391
29392 2009-12-24  Bruno Haible  <bruno@clisp.org>
29393
29394         Avoid future namespace pollution on glibc systems.
29395         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
29396         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
29397         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
29398         glibc systems.
29399
29400 2009-12-24  Bruno Haible  <bruno@clisp.org>
29401
29402         Refactor common macros used in tests.
29403         * tests/macros.h: New file.
29404         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
29405         and/or <stdlib.h>, if appropriate.
29406         (ASSERT, SIZEOF): Remove macros.
29407         * tests/test-areadlink-with-size.c: Likewise.
29408         * tests/test-areadlinkat.c: Likewise.
29409         * tests/test-areadlinkat-with-size.c: Likewise.
29410         * tests/test-argmatch.c: Likewise.
29411         * tests/test-argv-iter.c: Likewise.
29412         * tests/test-array-mergesort.c: Likewise.
29413         * tests/test-array_list.c: Likewise.
29414         * tests/test-array_oset.c: Likewise.
29415         * tests/test-avltree_list.c: Likewise.
29416         * tests/test-avltree_oset.c: Likewise.
29417         * tests/test-avltreehash_list.c: Likewise.
29418         * tests/test-base64.c: Likewise.
29419         * tests/test-binary-io.c: Likewise.
29420         * tests/test-bitrotate.c: Likewise.
29421         * tests/test-btowc.c: Likewise.
29422         * tests/test-byteswap.c: Likewise.
29423         * tests/test-c-ctype.c: Likewise.
29424         * tests/test-c-stack.c: Likewise.
29425         * tests/test-c-strcasecmp.c: Likewise.
29426         * tests/test-c-strcasestr.c: Likewise.
29427         * tests/test-c-strncasecmp.c: Likewise.
29428         * tests/test-c-strstr.c: Likewise.
29429         * tests/test-canonicalize-lgpl.c: Likewise.
29430         * tests/test-canonicalize.c: Likewise.
29431         * tests/test-carray_list.c: Likewise.
29432         * tests/test-ceilf1.c: Likewise.
29433         * tests/test-ceilf2.c: Likewise.
29434         * tests/test-ceill.c: Likewise.
29435         * tests/test-chown.c: Likewise.
29436         * tests/test-cloexec.c: Likewise.
29437         * tests/test-copy-acl.c: Likewise.
29438         * tests/test-copy-file.c: Likewise.
29439         * tests/test-count-one-bits.c: Likewise.
29440         * tests/test-dprintf-posix.c: Likewise.
29441         * tests/test-dup2.c: Likewise.
29442         * tests/test-dup3.c: Likewise.
29443         * tests/test-duplocale.c: Likewise.
29444         * tests/test-fbufmode.c: Likewise.
29445         * tests/test-fchdir.c: Likewise.
29446         * tests/test-fchownat.c: Likewise.
29447         * tests/test-fcntl-safer.c: Likewise.
29448         * tests/test-fcntl.c: Likewise.
29449         * tests/test-fdopendir.c: Likewise.
29450         * tests/test-fdutimensat.c: Likewise.
29451         * tests/test-fflush2.c: Likewise.
29452         * tests/test-file-has-acl.c: Likewise.
29453         * tests/test-filevercmp.c: Likewise.
29454         * tests/test-flock.c: Likewise.
29455         * tests/test-floorf1.c: Likewise.
29456         * tests/test-floorf2.c: Likewise.
29457         * tests/test-floorl.c: Likewise.
29458         * tests/test-fnmatch.c: Likewise.
29459         * tests/test-fopen.h: Likewise.
29460         * tests/test-fpending.c: Likewise.
29461         * tests/test-fprintf-posix.c: Likewise.
29462         * tests/test-fpurge.c: Likewise.
29463         * tests/test-freadable.c: Likewise.
29464         * tests/test-freadahead.c: Likewise.
29465         * tests/test-freading.c: Likewise.
29466         * tests/test-freadptr.c: Likewise.
29467         * tests/test-freadptr2.c: Likewise.
29468         * tests/test-freadseek.c: Likewise.
29469         * tests/test-freopen.c: Likewise.
29470         * tests/test-frexp.c: Likewise.
29471         * tests/test-frexpl.c: Likewise.
29472         * tests/test-fseek.c: Likewise.
29473         * tests/test-fseeko.c: Likewise.
29474         * tests/test-fstatat.c: Likewise.
29475         * tests/test-fstrcmp.c: Likewise.
29476         * tests/test-fsync.c: Likewise.
29477         * tests/test-ftell.c: Likewise.
29478         * tests/test-ftello.c: Likewise.
29479         * tests/test-func.c: Likewise.
29480         * tests/test-futimens.c: Likewise.
29481         * tests/test-fwritable.c: Likewise.
29482         * tests/test-fwriting.c: Likewise.
29483         * tests/test-getcwd.c: Likewise.
29484         * tests/test-getdate.c: Likewise.
29485         * tests/test-getdelim.c: Likewise.
29486         * tests/test-getdtablesize.c: Likewise.
29487         * tests/test-getgroups.c: Likewise.
29488         * tests/test-getline.c: Likewise.
29489         * tests/test-getndelim2.c: Likewise.
29490         * tests/test-glob.c: Likewise.
29491         * tests/test-hash.c: Likewise.
29492         * tests/test-i-ring.c: Likewise.
29493         * tests/test-iconv-utf.c: Likewise.
29494         * tests/test-iconv.c: Likewise.
29495         * tests/test-idpriv-drop.c: Likewise.
29496         * tests/test-idpriv-droptemp.c: Likewise.
29497         * tests/test-inet_ntop.c: Likewise.
29498         * tests/test-inet_pton.c: Likewise.
29499         * tests/test-isblank.c: Likewise.
29500         * tests/test-isfinite.c: Likewise.
29501         * tests/test-isinf.c: Likewise.
29502         * tests/test-isnan.c: Likewise.
29503         * tests/test-isnand.h: Likewise.
29504         * tests/test-isnanf.h: Likewise.
29505         * tests/test-isnanl.h: Likewise.
29506         * tests/test-lchown.c: Likewise.
29507         * tests/test-ldexpl.c: Likewise.
29508         * tests/test-link.c: Likewise.
29509         * tests/test-linkat.c: Likewise.
29510         * tests/test-linked_list.c: Likewise.
29511         * tests/test-linkedhash_list.c: Likewise.
29512         * tests/test-localename.c: Likewise.
29513         * tests/test-lseek.c: Likewise.
29514         * tests/test-lstat.c: Likewise.
29515         * tests/test-mbmemcasecmp.c: Likewise.
29516         * tests/test-mbmemcasecoll.c: Likewise.
29517         * tests/test-mbrtowc.c: Likewise.
29518         * tests/test-mbscasecmp.c: Likewise.
29519         * tests/test-mbscasestr1.c: Likewise.
29520         * tests/test-mbscasestr2.c: Likewise.
29521         * tests/test-mbscasestr3.c: Likewise.
29522         * tests/test-mbscasestr4.c: Likewise.
29523         * tests/test-mbschr.c: Likewise.
29524         * tests/test-mbscspn.c: Likewise.
29525         * tests/test-mbsinit.c: Likewise.
29526         * tests/test-mbsncasecmp.c: Likewise.
29527         * tests/test-mbsnrtowcs.c: Likewise.
29528         * tests/test-mbspbrk.c: Likewise.
29529         * tests/test-mbspcasecmp.c: Likewise.
29530         * tests/test-mbsrchr.c: Likewise.
29531         * tests/test-mbsrtowcs.c: Likewise.
29532         * tests/test-mbsspn.c: Likewise.
29533         * tests/test-mbsstr1.c: Likewise.
29534         * tests/test-mbsstr2.c: Likewise.
29535         * tests/test-mbsstr3.c: Likewise.
29536         * tests/test-memchr.c: Likewise.
29537         * tests/test-memchr2.c: Likewise.
29538         * tests/test-memcmp.c: Likewise.
29539         * tests/test-memmem.c: Likewise.
29540         * tests/test-memrchr.c: Likewise.
29541         * tests/test-mkdir.c: Likewise.
29542         * tests/test-mkdirat.c: Likewise.
29543         * tests/test-mkfifo.c: Likewise.
29544         * tests/test-mkfifoat.c: Likewise.
29545         * tests/test-mknod.c: Likewise.
29546         * tests/test-nanosleep.c: Likewise.
29547         * tests/test-nl_langinfo.c: Likewise.
29548         * tests/test-obstack-printf.c: Likewise.
29549         * tests/test-open.c: Likewise.
29550         * tests/test-openat.c: Likewise.
29551         * tests/test-pipe-filter-gi1.c: Likewise.
29552         * tests/test-pipe-filter-gi2-main.c: Likewise.
29553         * tests/test-pipe-filter-ii1.c: Likewise.
29554         * tests/test-pipe-filter-ii2-main.c: Likewise.
29555         * tests/test-pipe2.c: Likewise.
29556         * tests/test-popen.h: Likewise.
29557         * tests/test-posixtm.c: Likewise.
29558         * tests/test-pread.c: Likewise.
29559         * tests/test-printf-frexp.c: Likewise.
29560         * tests/test-printf-frexpl.c: Likewise.
29561         * tests/test-printf-posix.c: Likewise.
29562         * tests/test-priv-set.c: Likewise.
29563         * tests/test-quotearg.c: Likewise.
29564         * tests/test-random_r.c: Likewise.
29565         * tests/test-rawmemchr.c: Likewise.
29566         * tests/test-rbtree_list.c: Likewise.
29567         * tests/test-rbtree_oset.c: Likewise.
29568         * tests/test-rbtreehash_list.c: Likewise.
29569         * tests/test-readlink.c: Likewise.
29570         * tests/test-remove.c: Likewise.
29571         * tests/test-rename.c: Likewise.
29572         * tests/test-renameat.c: Likewise.
29573         * tests/test-rmdir.c: Likewise.
29574         * tests/test-round1.c: Likewise.
29575         * tests/test-roundf1.c: Likewise.
29576         * tests/test-roundl.c: Likewise.
29577         * tests/test-safe-alloc.c: Likewise.
29578         * tests/test-sameacls.c: Likewise.
29579         * tests/test-set-mode-acl.c: Likewise.
29580         * tests/test-setenv.c: Likewise.
29581         * tests/test-sigaction.c: Likewise.
29582         * tests/test-signbit.c: Likewise.
29583         * tests/test-sleep.c: Likewise.
29584         * tests/test-snprintf-posix.c: Likewise.
29585         * tests/test-snprintf.c: Likewise.
29586         * tests/test-sprintf-posix.c: Likewise.
29587         * tests/test-stat-time.c: Likewise.
29588         * tests/test-stat.c: Likewise.
29589         * tests/test-strcasestr.c: Likewise.
29590         * tests/test-strchrnul.c: Likewise.
29591         * tests/test-strerror.c: Likewise.
29592         * tests/test-striconv.c: Likewise.
29593         * tests/test-striconveh.c: Likewise.
29594         * tests/test-striconveha.c: Likewise.
29595         * tests/test-strsignal.c: Likewise.
29596         * tests/test-strstr.c: Likewise.
29597         * tests/test-strtod.c: Likewise.
29598         * tests/test-strverscmp.c: Likewise.
29599         * tests/test-symlink.c: Likewise.
29600         * tests/test-symlinkat.c: Likewise.
29601         * tests/test-trunc1.c: Likewise.
29602         * tests/test-trunc2.c: Likewise.
29603         * tests/test-truncf1.c: Likewise.
29604         * tests/test-truncf2.c: Likewise.
29605         * tests/test-truncl.c: Likewise.
29606         * tests/test-uname.c: Likewise.
29607         * tests/test-unlink.c: Likewise.
29608         * tests/test-unlinkat.c: Likewise.
29609         * tests/test-unsetenv.c: Likewise.
29610         * tests/test-usleep.c: Likewise.
29611         * tests/test-utimens.c: Likewise.
29612         * tests/test-utimensat.c: Likewise.
29613         * tests/test-vasnprintf-posix.c: Likewise.
29614         * tests/test-vasnprintf-posix2.c: Likewise.
29615         * tests/test-vasnprintf.c: Likewise.
29616         * tests/test-vasprintf-posix.c: Likewise.
29617         * tests/test-vasprintf.c: Likewise.
29618         * tests/test-vdprintf-posix.c: Likewise.
29619         * tests/test-vfprintf-posix.c: Likewise.
29620         * tests/test-vprintf-posix.c: Likewise.
29621         * tests/test-vsnprintf-posix.c: Likewise.
29622         * tests/test-vsnprintf.c: Likewise.
29623         * tests/test-vsprintf-posix.c: Likewise.
29624         * tests/test-wcrtomb.c: Likewise.
29625         * tests/test-wcsnrtombs.c: Likewise.
29626         * tests/test-wcsrtombs.c: Likewise.
29627         * tests/test-wctype.c: Likewise.
29628         * tests/test-wcwidth.c: Likewise.
29629         * tests/test-xfprintf-posix.c: Likewise.
29630         * tests/test-xmemdup0.c: Likewise.
29631         * tests/test-xprintf-posix.c: Likewise.
29632         * tests/test-xvasprintf.c: Likewise.
29633         * tests/unicase/test-locale-language.c: Likewise.
29634         * tests/unicase/test-mapping-part1.h: Likewise.
29635         * tests/unicase/test-predicate-part1.h: Likewise.
29636         * tests/unicase/test-u8-casecmp.c: Likewise.
29637         * tests/unicase/test-u8-casecoll.c: Likewise.
29638         * tests/unicase/test-u8-casefold.c: Likewise.
29639         * tests/unicase/test-u8-is-cased.c: Likewise.
29640         * tests/unicase/test-u8-is-casefolded.c: Likewise.
29641         * tests/unicase/test-u8-is-lowercase.c: Likewise.
29642         * tests/unicase/test-u8-is-titlecase.c: Likewise.
29643         * tests/unicase/test-u8-is-uppercase.c: Likewise.
29644         * tests/unicase/test-u8-tolower.c: Likewise.
29645         * tests/unicase/test-u8-totitle.c: Likewise.
29646         * tests/unicase/test-u8-toupper.c: Likewise.
29647         * tests/unicase/test-u16-casecmp.c: Likewise.
29648         * tests/unicase/test-u16-casecoll.c: Likewise.
29649         * tests/unicase/test-u16-casefold.c: Likewise.
29650         * tests/unicase/test-u16-is-cased.c: Likewise.
29651         * tests/unicase/test-u16-is-casefolded.c: Likewise.
29652         * tests/unicase/test-u16-is-lowercase.c: Likewise.
29653         * tests/unicase/test-u16-is-titlecase.c: Likewise.
29654         * tests/unicase/test-u16-is-uppercase.c: Likewise.
29655         * tests/unicase/test-u16-tolower.c: Likewise.
29656         * tests/unicase/test-u16-totitle.c: Likewise.
29657         * tests/unicase/test-u16-toupper.c: Likewise.
29658         * tests/unicase/test-u32-casecmp.c: Likewise.
29659         * tests/unicase/test-u32-casecoll.c: Likewise.
29660         * tests/unicase/test-u32-casefold.c: Likewise.
29661         * tests/unicase/test-u32-is-cased.c: Likewise.
29662         * tests/unicase/test-u32-is-casefolded.c: Likewise.
29663         * tests/unicase/test-u32-is-lowercase.c: Likewise.
29664         * tests/unicase/test-u32-is-titlecase.c: Likewise.
29665         * tests/unicase/test-u32-is-uppercase.c: Likewise.
29666         * tests/unicase/test-u32-tolower.c: Likewise.
29667         * tests/unicase/test-u32-totitle.c: Likewise.
29668         * tests/unicase/test-u32-toupper.c: Likewise.
29669         * tests/unicase/test-ulc-casecmp.c: Likewise.
29670         * tests/unicase/test-ulc-casecoll.c: Likewise.
29671         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
29672         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
29673         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
29674         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
29675         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
29676         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
29677         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
29678         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
29679         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
29680         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
29681         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
29682         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
29683         * tests/unictype/test-bidi_byname.c: Likewise.
29684         * tests/unictype/test-bidi_name.c: Likewise.
29685         * tests/unictype/test-bidi_of.c: Likewise.
29686         * tests/unictype/test-bidi_test.c: Likewise.
29687         * tests/unictype/test-block_list.c: Likewise.
29688         * tests/unictype/test-block_of.c: Likewise.
29689         * tests/unictype/test-block_test.c: Likewise.
29690         * tests/unictype/test-categ_and.c: Likewise.
29691         * tests/unictype/test-categ_and_not.c: Likewise.
29692         * tests/unictype/test-categ_byname.c: Likewise.
29693         * tests/unictype/test-categ_name.c: Likewise.
29694         * tests/unictype/test-categ_none.c: Likewise.
29695         * tests/unictype/test-categ_of.c: Likewise.
29696         * tests/unictype/test-categ_or.c: Likewise.
29697         * tests/unictype/test-categ_test_withtable.c: Likewise.
29698         * tests/unictype/test-combining.c: Likewise.
29699         * tests/unictype/test-decdigit.c: Likewise.
29700         * tests/unictype/test-digit.c: Likewise.
29701         * tests/unictype/test-mirror.c: Likewise.
29702         * tests/unictype/test-numeric.c: Likewise.
29703         * tests/unictype/test-pr_byname.c: Likewise.
29704         * tests/unictype/test-pr_test.c: Likewise.
29705         * tests/unictype/test-predicate-part1.h: Likewise.
29706         * tests/unictype/test-scripts.c: Likewise.
29707         * tests/unictype/test-sy_c_ident.c: Likewise.
29708         * tests/unictype/test-sy_java_ident.c: Likewise.
29709         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
29710         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
29711         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
29712         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
29713         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
29714         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
29715         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
29716         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
29717         * tests/uninorm/test-canonical-decomposition.c: Likewise.
29718         * tests/uninorm/test-compat-decomposition.c: Likewise.
29719         * tests/uninorm/test-composition.c: Likewise.
29720         * tests/uninorm/test-decomposing-form.c: Likewise.
29721         * tests/uninorm/test-decomposition.c: Likewise.
29722         * tests/uninorm/test-u8-nfc.c: Likewise.
29723         * tests/uninorm/test-u8-nfd.c: Likewise.
29724         * tests/uninorm/test-u8-nfkc.c: Likewise.
29725         * tests/uninorm/test-u8-nfkd.c: Likewise.
29726         * tests/uninorm/test-u8-normcmp.c: Likewise.
29727         * tests/uninorm/test-u8-normcoll.c: Likewise.
29728         * tests/uninorm/test-u16-nfc.c: Likewise.
29729         * tests/uninorm/test-u16-nfd.c: Likewise.
29730         * tests/uninorm/test-u16-nfkc.c: Likewise.
29731         * tests/uninorm/test-u16-nfkd.c: Likewise.
29732         * tests/uninorm/test-u16-normcmp.c: Likewise.
29733         * tests/uninorm/test-u16-normcoll.c: Likewise.
29734         * tests/uninorm/test-u32-nfc.c: Likewise.
29735         * tests/uninorm/test-u32-nfd.c: Likewise.
29736         * tests/uninorm/test-u32-nfkc.c: Likewise.
29737         * tests/uninorm/test-u32-nfkd.c: Likewise.
29738         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29739         * tests/uninorm/test-u32-normcmp.c: Likewise.
29740         * tests/uninorm/test-u32-normcoll.c: Likewise.
29741         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
29742         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
29743         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
29744         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
29745         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
29746         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
29747         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
29748         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
29749         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
29750         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
29751         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
29752         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
29753         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
29754         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
29755         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
29756         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
29757         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
29758         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
29759         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
29760         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
29761         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
29762         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
29763         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
29764         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
29765         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
29766         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
29767         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
29768         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
29769         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
29770         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
29771         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
29772         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
29773         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
29774         * tests/uniwidth/test-u8-strwidth.c: Likewise.
29775         * tests/uniwidth/test-u8-width.c: Likewise.
29776         * tests/uniwidth/test-u16-strwidth.c: Likewise.
29777         * tests/uniwidth/test-u16-width.c: Likewise.
29778         * tests/uniwidth/test-u32-strwidth.c: Likewise.
29779         * tests/uniwidth/test-u32-width.c: Likewise.
29780         * tests/uniwidth/test-uc_width.c: Likewise.
29781         * tests/uniwidth/test-uc_width2.c: Likewise.
29782         * modules/acl-tests (Files): Add tests/macros.h.
29783         * modules/areadlink-tests (Files): Likewise.
29784         * modules/areadlink-with-size-tests (Files): Likewise.
29785         * modules/areadlinkat-tests (Files): Likewise.
29786         * modules/areadlinkat-with-size-tests (Files): Likewise.
29787         * modules/argmatch-tests (Files): Likewise.
29788         * modules/argv-iter-tests (Files): Likewise.
29789         * modules/array-list-tests (Files): Likewise.
29790         * modules/array-mergesort-tests (Files): Likewise.
29791         * modules/array-oset-tests (Files): Likewise.
29792         * modules/avltree-list-tests (Files): Likewise.
29793         * modules/avltree-oset-tests (Files): Likewise.
29794         * modules/avltreehash-list-tests (Files): Likewise.
29795         * modules/base64-tests (Files): Likewise.
29796         * modules/binary-io-tests (Files): Likewise.
29797         * modules/bitrotate-tests (Files): Likewise.
29798         * modules/btowc-tests (Files): Likewise.
29799         * modules/byteswap-tests (Files): Likewise.
29800         * modules/c-ctype-tests (Files): Likewise.
29801         * modules/c-stack-tests (Files): Likewise.
29802         * modules/c-strcase-tests (Files): Likewise.
29803         * modules/c-strcasestr-tests (Files): Likewise.
29804         * modules/c-strstr-tests (Files): Likewise.
29805         * modules/canonicalize-lgpl-tests (Files): Likewise.
29806         * modules/canonicalize-tests (Files): Likewise.
29807         * modules/carray-list-tests (Files): Likewise.
29808         * modules/ceilf-tests (Files): Likewise.
29809         * modules/ceill-tests (Files): Likewise.
29810         * modules/chown-tests (Files): Likewise.
29811         * modules/cloexec-tests (Files): Likewise.
29812         * modules/copy-file-tests (Files): Likewise.
29813         * modules/count-one-bits-tests (Files): Likewise.
29814         * modules/dprintf-posix-tests (Files): Likewise.
29815         * modules/dup2-tests (Files): Likewise.
29816         * modules/dup3-tests (Files): Likewise.
29817         * modules/duplocale-tests (Files): Likewise.
29818         * modules/fbufmode-tests (Files): Likewise.
29819         * modules/fchdir-tests (Files): Likewise.
29820         * modules/fcntl-safer-tests (Files): Likewise.
29821         * modules/fcntl-tests (Files): Likewise.
29822         * modules/fdopendir-tests (Files): Likewise.
29823         * modules/fdutimensat-tests (Files): Likewise.
29824         * modules/fflush-tests (Files): Likewise.
29825         * modules/filevercmp-tests (Files): Likewise.
29826         * modules/flock-tests (Files): Likewise.
29827         * modules/floorf-tests (Files): Likewise.
29828         * modules/floorl-tests (Files): Likewise.
29829         * modules/fnmatch-tests (Files): Likewise.
29830         * modules/fopen-safer-tests (Files): Likewise.
29831         * modules/fopen-tests (Files): Likewise.
29832         * modules/fpending-tests (Files): Likewise.
29833         * modules/fprintf-posix-tests (Files): Likewise.
29834         * modules/fpurge-tests (Files): Likewise.
29835         * modules/freadable-tests (Files): Likewise.
29836         * modules/freadahead-tests (Files): Likewise.
29837         * modules/freading-tests (Files): Likewise.
29838         * modules/freadptr-tests (Files): Likewise.
29839         * modules/freadseek-tests (Files): Likewise.
29840         * modules/freopen-tests (Files): Likewise.
29841         * modules/frexp-nolibm-tests (Files): Likewise.
29842         * modules/frexp-tests (Files): Likewise.
29843         * modules/frexpl-nolibm-tests (Files): Likewise.
29844         * modules/frexpl-tests (Files): Likewise.
29845         * modules/fseek-tests (Files): Likewise.
29846         * modules/fseeko-tests (Files): Likewise.
29847         * modules/fstrcmp-tests (Files): Likewise.
29848         * modules/fsync-tests (Files): Likewise.
29849         * modules/ftell-tests (Files): Likewise.
29850         * modules/ftello-tests (Files): Likewise.
29851         * modules/func-tests (Files): Likewise.
29852         * modules/futimens-tests (Files): Likewise.
29853         * modules/fwritable-tests (Files): Likewise.
29854         * modules/fwriting-tests (Files): Likewise.
29855         * modules/getcwd-tests (Files): Likewise.
29856         * modules/getdate-tests (Files): Likewise.
29857         * modules/getdelim-tests (Files): Likewise.
29858         * modules/getdtablesize-tests (Files): Likewise.
29859         * modules/getgroups-tests (Files): Likewise.
29860         * modules/getline-tests (Files): Likewise.
29861         * modules/getndelim2-tests (Files): Likewise.
29862         * modules/glob-tests (Files): Likewise.
29863         * modules/hash-tests (Files): Likewise.
29864         * modules/i-ring-tests (Files): Likewise.
29865         * modules/iconv-tests (Files): Likewise.
29866         * modules/iconv_open-utf-tests (Files): Likewise.
29867         * modules/idpriv-drop-tests (Files): Likewise.
29868         * modules/idpriv-droptemp-tests (Files): Likewise.
29869         * modules/inet_ntop-tests (Files): Likewise.
29870         * modules/inet_pton-tests (Files): Likewise.
29871         * modules/isblank-tests (Files): Likewise.
29872         * modules/isfinite-tests (Files): Likewise.
29873         * modules/isinf-tests (Files): Likewise.
29874         * modules/isnan-tests (Files): Likewise.
29875         * modules/isnand-nolibm-tests (Files): Likewise.
29876         * modules/isnand-tests (Files): Likewise.
29877         * modules/isnanf-nolibm-tests (Files): Likewise.
29878         * modules/isnanf-tests (Files): Likewise.
29879         * modules/isnanl-nolibm-tests (Files): Likewise.
29880         * modules/isnanl-tests (Files): Likewise.
29881         * modules/lchown-tests (Files): Likewise.
29882         * modules/ldexpl-tests (Files): Likewise.
29883         * modules/link-tests (Files): Likewise.
29884         * modules/linkat-tests (Files): Likewise.
29885         * modules/linked-list-tests (Files): Likewise.
29886         * modules/linkedhash-list-tests (Files): Likewise.
29887         * modules/localename-tests (Files): Likewise.
29888         * modules/lseek-tests (Files): Likewise.
29889         * modules/lstat-tests (Files): Likewise.
29890         * modules/mbmemcasecmp-tests (Files): Likewise.
29891         * modules/mbmemcasecoll-tests (Files): Likewise.
29892         * modules/mbrtowc-tests (Files): Likewise.
29893         * modules/mbscasecmp-tests (Files): Likewise.
29894         * modules/mbscasestr-tests (Files): Likewise.
29895         * modules/mbschr-tests (Files): Likewise.
29896         * modules/mbscspn-tests (Files): Likewise.
29897         * modules/mbsinit-tests (Files): Likewise.
29898         * modules/mbsncasecmp-tests (Files): Likewise.
29899         * modules/mbsnrtowcs-tests (Files): Likewise.
29900         * modules/mbspbrk-tests (Files): Likewise.
29901         * modules/mbspcasecmp-tests (Files): Likewise.
29902         * modules/mbsrchr-tests (Files): Likewise.
29903         * modules/mbsrtowcs-tests (Files): Likewise.
29904         * modules/mbsspn-tests (Files): Likewise.
29905         * modules/mbsstr-tests (Files): Likewise.
29906         * modules/memchr-tests (Files): Likewise.
29907         * modules/memchr2-tests (Files): Likewise.
29908         * modules/memcmp-tests (Files): Likewise.
29909         * modules/memmem-tests (Files): Likewise.
29910         * modules/memrchr-tests (Files): Likewise.
29911         * modules/mkdir-tests (Files): Likewise.
29912         * modules/mkfifo-tests (Files): Likewise.
29913         * modules/mkfifoat-tests (Files): Likewise.
29914         * modules/mknod-tests (Files): Likewise.
29915         * modules/nanosleep-tests (Files): Likewise.
29916         * modules/nl_langinfo-tests (Files): Likewise.
29917         * modules/obstack-printf-tests (Files): Likewise.
29918         * modules/open-tests (Files): Likewise.
29919         * modules/openat-tests (Files): Likewise.
29920         * modules/pipe-filter-gi-tests (Files): Likewise.
29921         * modules/pipe-filter-ii-tests (Files): Likewise.
29922         * modules/pipe2-tests (Files): Likewise.
29923         * modules/popen-safer-tests (Files): Likewise.
29924         * modules/popen-tests (Files): Likewise.
29925         * modules/posixtm-tests (Files): Likewise.
29926         * modules/pread-tests (Files): Likewise.
29927         * modules/printf-frexp-tests (Files): Likewise.
29928         * modules/printf-frexpl-tests (Files): Likewise.
29929         * modules/printf-posix-tests (Files): Likewise.
29930         * modules/priv-set-tests (Files): Likewise.
29931         * modules/quotearg-tests (Files): Likewise.
29932         * modules/random_r-tests (Files): Likewise.
29933         * modules/rawmemchr-tests (Files): Likewise.
29934         * modules/rbtree-list-tests (Files): Likewise.
29935         * modules/rbtree-oset-tests (Files): Likewise.
29936         * modules/rbtreehash-list-tests (Files): Likewise.
29937         * modules/readlink-tests (Files): Likewise.
29938         * modules/remove-tests (Files): Likewise.
29939         * modules/rename-tests (Files): Likewise.
29940         * modules/renameat-tests (Files): Likewise.
29941         * modules/rmdir-tests (Files): Likewise.
29942         * modules/round-tests (Files): Likewise.
29943         * modules/roundf-tests (Files): Likewise.
29944         * modules/roundl-tests (Files): Likewise.
29945         * modules/safe-alloc-tests (Files): Likewise.
29946         * modules/setenv-tests (Files): Likewise.
29947         * modules/sigaction-tests (Files): Likewise.
29948         * modules/signbit-tests (Files): Likewise.
29949         * modules/sleep-tests (Files): Likewise.
29950         * modules/snprintf-posix-tests (Files): Likewise.
29951         * modules/snprintf-tests (Files): Likewise.
29952         * modules/sprintf-posix-tests (Files): Likewise.
29953         * modules/stat-tests (Files): Likewise.
29954         * modules/stat-time-tests (Files): Likewise.
29955         * modules/strcasestr-tests (Files): Likewise.
29956         * modules/strchrnul-tests (Files): Likewise.
29957         * modules/strerror-tests (Files): Likewise.
29958         * modules/striconv-tests (Files): Likewise.
29959         * modules/striconveh-tests (Files): Likewise.
29960         * modules/striconveha-tests (Files): Likewise.
29961         * modules/strsignal-tests (Files): Likewise.
29962         * modules/strstr-tests (Files): Likewise.
29963         * modules/strtod-tests (Files): Likewise.
29964         * modules/strverscmp-tests (Files): Likewise.
29965         * modules/symlink-tests (Files): Likewise.
29966         * modules/symlinkat-tests (Files): Likewise.
29967         * modules/trunc-tests (Files): Likewise.
29968         * modules/truncf-tests (Files): Likewise.
29969         * modules/truncl-tests (Files): Likewise.
29970         * modules/uname-tests (Files): Likewise.
29971         * modules/unicase/cased-tests (Files): Likewise.
29972         * modules/unicase/ignorable-tests (Files): Likewise.
29973         * modules/unicase/locale-language-tests (Files): Likewise.
29974         * modules/unicase/tolower-tests (Files): Likewise.
29975         * modules/unicase/totitle-tests (Files): Likewise.
29976         * modules/unicase/toupper-tests (Files): Likewise.
29977         * modules/unicase/u8-casecmp-tests (Files): Likewise.
29978         * modules/unicase/u8-casecoll-tests (Files): Likewise.
29979         * modules/unicase/u8-casefold-tests (Files): Likewise.
29980         * modules/unicase/u8-is-cased-tests (Files): Likewise.
29981         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
29982         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
29983         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
29984         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
29985         * modules/unicase/u8-tolower-tests (Files): Likewise.
29986         * modules/unicase/u8-totitle-tests (Files): Likewise.
29987         * modules/unicase/u8-toupper-tests (Files): Likewise.
29988         * modules/unicase/u16-casecmp-tests (Files): Likewise.
29989         * modules/unicase/u16-casecoll-tests (Files): Likewise.
29990         * modules/unicase/u16-casefold-tests (Files): Likewise.
29991         * modules/unicase/u16-is-cased-tests (Files): Likewise.
29992         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
29993         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
29994         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
29995         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
29996         * modules/unicase/u16-tolower-tests (Files): Likewise.
29997         * modules/unicase/u16-totitle-tests (Files): Likewise.
29998         * modules/unicase/u16-toupper-tests (Files): Likewise.
29999         * modules/unicase/u32-casecmp-tests (Files): Likewise.
30000         * modules/unicase/u32-casecoll-tests (Files): Likewise.
30001         * modules/unicase/u32-casefold-tests (Files): Likewise.
30002         * modules/unicase/u32-is-cased-tests (Files): Likewise.
30003         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
30004         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
30005         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
30006         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
30007         * modules/unicase/u32-tolower-tests (Files): Likewise.
30008         * modules/unicase/u32-totitle-tests (Files): Likewise.
30009         * modules/unicase/u32-toupper-tests (Files): Likewise.
30010         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
30011         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
30012         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
30013         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
30014         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
30015         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
30016         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
30017         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
30018         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
30019         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
30020         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
30021         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
30022         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
30023         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
30024         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
30025         * modules/unictype/bidicategory-name-tests (Files): Likewise.
30026         * modules/unictype/bidicategory-of-tests (Files): Likewise.
30027         * modules/unictype/bidicategory-test-tests (Files): Likewise.
30028         * modules/unictype/block-list-tests (Files): Likewise.
30029         * modules/unictype/block-of-tests (Files): Likewise.
30030         * modules/unictype/block-test-tests (Files): Likewise.
30031         * modules/unictype/category-C-tests (Files): Likewise.
30032         * modules/unictype/category-Cc-tests (Files): Likewise.
30033         * modules/unictype/category-Cf-tests (Files): Likewise.
30034         * modules/unictype/category-Cn-tests (Files): Likewise.
30035         * modules/unictype/category-Co-tests (Files): Likewise.
30036         * modules/unictype/category-Cs-tests (Files): Likewise.
30037         * modules/unictype/category-L-tests (Files): Likewise.
30038         * modules/unictype/category-Ll-tests (Files): Likewise.
30039         * modules/unictype/category-Lm-tests (Files): Likewise.
30040         * modules/unictype/category-Lo-tests (Files): Likewise.
30041         * modules/unictype/category-Lt-tests (Files): Likewise.
30042         * modules/unictype/category-Lu-tests (Files): Likewise.
30043         * modules/unictype/category-M-tests (Files): Likewise.
30044         * modules/unictype/category-Mc-tests (Files): Likewise.
30045         * modules/unictype/category-Me-tests (Files): Likewise.
30046         * modules/unictype/category-Mn-tests (Files): Likewise.
30047         * modules/unictype/category-N-tests (Files): Likewise.
30048         * modules/unictype/category-Nd-tests (Files): Likewise.
30049         * modules/unictype/category-Nl-tests (Files): Likewise.
30050         * modules/unictype/category-No-tests (Files): Likewise.
30051         * modules/unictype/category-P-tests (Files): Likewise.
30052         * modules/unictype/category-Pc-tests (Files): Likewise.
30053         * modules/unictype/category-Pd-tests (Files): Likewise.
30054         * modules/unictype/category-Pe-tests (Files): Likewise.
30055         * modules/unictype/category-Pf-tests (Files): Likewise.
30056         * modules/unictype/category-Pi-tests (Files): Likewise.
30057         * modules/unictype/category-Po-tests (Files): Likewise.
30058         * modules/unictype/category-Ps-tests (Files): Likewise.
30059         * modules/unictype/category-S-tests (Files): Likewise.
30060         * modules/unictype/category-Sc-tests (Files): Likewise.
30061         * modules/unictype/category-Sk-tests (Files): Likewise.
30062         * modules/unictype/category-Sm-tests (Files): Likewise.
30063         * modules/unictype/category-So-tests (Files): Likewise.
30064         * modules/unictype/category-Z-tests (Files): Likewise.
30065         * modules/unictype/category-Zl-tests (Files): Likewise.
30066         * modules/unictype/category-Zp-tests (Files): Likewise.
30067         * modules/unictype/category-Zs-tests (Files): Likewise.
30068         * modules/unictype/category-and-not-tests (Files): Likewise.
30069         * modules/unictype/category-and-tests (Files): Likewise.
30070         * modules/unictype/category-byname-tests (Files): Likewise.
30071         * modules/unictype/category-name-tests (Files): Likewise.
30072         * modules/unictype/category-none-tests (Files): Likewise.
30073         * modules/unictype/category-of-tests (Files): Likewise.
30074         * modules/unictype/category-or-tests (Files): Likewise.
30075         * modules/unictype/category-test-withtable-tests (Files): Likewise.
30076         * modules/unictype/combining-class-tests (Files): Likewise.
30077         * modules/unictype/ctype-alnum-tests (Files): Likewise.
30078         * modules/unictype/ctype-alpha-tests (Files): Likewise.
30079         * modules/unictype/ctype-blank-tests (Files): Likewise.
30080         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
30081         * modules/unictype/ctype-digit-tests (Files): Likewise.
30082         * modules/unictype/ctype-graph-tests (Files): Likewise.
30083         * modules/unictype/ctype-lower-tests (Files): Likewise.
30084         * modules/unictype/ctype-print-tests (Files): Likewise.
30085         * modules/unictype/ctype-punct-tests (Files): Likewise.
30086         * modules/unictype/ctype-space-tests (Files): Likewise.
30087         * modules/unictype/ctype-upper-tests (Files): Likewise.
30088         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
30089         * modules/unictype/decimal-digit-tests (Files): Likewise.
30090         * modules/unictype/digit-tests (Files): Likewise.
30091         * modules/unictype/mirror-tests (Files): Likewise.
30092         * modules/unictype/numeric-tests (Files): Likewise.
30093         * modules/unictype/property-alphabetic-tests (Files): Likewise.
30094         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
30095         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
30096         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
30097         Likewise.
30098         * modules/unictype/property-bidi-block-separator-tests (Files):
30099         Likewise.
30100         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
30101         Likewise.
30102         * modules/unictype/property-bidi-common-separator-tests (Files):
30103         Likewise.
30104         * modules/unictype/property-bidi-control-tests (Files): Likewise.
30105         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
30106         Likewise.
30107         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
30108         Likewise.
30109         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
30110         Likewise.
30111         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
30112         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
30113         Likewise.
30114         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
30115         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
30116         Likewise.
30117         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
30118         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
30119         * modules/unictype/property-bidi-segment-separator-tests (Files):
30120         Likewise.
30121         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
30122         * modules/unictype/property-byname-tests (Files): Likewise.
30123         * modules/unictype/property-combining-tests (Files): Likewise.
30124         * modules/unictype/property-composite-tests (Files): Likewise.
30125         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
30126         * modules/unictype/property-dash-tests (Files): Likewise.
30127         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
30128         * modules/unictype/property-default-ignorable-code-point-tests (Files):
30129         Likewise.
30130         * modules/unictype/property-deprecated-tests (Files): Likewise.
30131         * modules/unictype/property-diacritic-tests (Files): Likewise.
30132         * modules/unictype/property-extender-tests (Files): Likewise.
30133         * modules/unictype/property-format-control-tests (Files): Likewise.
30134         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
30135         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
30136         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
30137         * modules/unictype/property-hex-digit-tests (Files): Likewise.
30138         * modules/unictype/property-hyphen-tests (Files): Likewise.
30139         * modules/unictype/property-id-continue-tests (Files): Likewise.
30140         * modules/unictype/property-id-start-tests (Files): Likewise.
30141         * modules/unictype/property-ideographic-tests (Files): Likewise.
30142         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
30143         * modules/unictype/property-ids-trinary-operator-tests (Files):
30144         Likewise.
30145         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
30146         * modules/unictype/property-iso-control-tests (Files): Likewise.
30147         * modules/unictype/property-join-control-tests (Files): Likewise.
30148         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
30149         * modules/unictype/property-line-separator-tests (Files): Likewise.
30150         * modules/unictype/property-logical-order-exception-tests (Files):
30151         Likewise.
30152         * modules/unictype/property-lowercase-tests (Files): Likewise.
30153         * modules/unictype/property-math-tests (Files): Likewise.
30154         * modules/unictype/property-non-break-tests (Files): Likewise.
30155         * modules/unictype/property-not-a-character-tests (Files): Likewise.
30156         * modules/unictype/property-numeric-tests (Files): Likewise.
30157         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
30158         * modules/unictype/property-other-default-ignorable-code-point-tests
30159         (Files): Likewise.
30160         * modules/unictype/property-other-grapheme-extend-tests (Files):
30161         Likewise.
30162         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
30163         * modules/unictype/property-other-id-start-tests (Files): Likewise.
30164         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
30165         * modules/unictype/property-other-math-tests (Files): Likewise.
30166         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
30167         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
30168         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
30169         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
30170         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
30171         * modules/unictype/property-private-use-tests (Files): Likewise.
30172         * modules/unictype/property-punctuation-tests (Files): Likewise.
30173         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
30174         * modules/unictype/property-radical-tests (Files): Likewise.
30175         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
30176         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
30177         * modules/unictype/property-space-tests (Files): Likewise.
30178         * modules/unictype/property-terminal-punctuation-tests (Files):
30179         Likewise.
30180         * modules/unictype/property-test-tests (Files): Likewise.
30181         * modules/unictype/property-titlecase-tests (Files): Likewise.
30182         * modules/unictype/property-unassigned-code-value-tests (Files):
30183         Likewise.
30184         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
30185         * modules/unictype/property-uppercase-tests (Files): Likewise.
30186         * modules/unictype/property-variation-selector-tests (Files): Likewise.
30187         * modules/unictype/property-white-space-tests (Files): Likewise.
30188         * modules/unictype/property-xid-continue-tests (Files): Likewise.
30189         * modules/unictype/property-xid-start-tests (Files): Likewise.
30190         * modules/unictype/property-zero-width-tests (Files): Likewise.
30191         * modules/unictype/scripts-tests (Files): Likewise.
30192         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
30193         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
30194         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
30195         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
30196         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
30197         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
30198         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
30199         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
30200         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
30201         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
30202         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
30203         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
30204         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
30205         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
30206         * modules/uninorm/composition-tests (Files): Likewise.
30207         * modules/uninorm/decomposing-form-tests (Files): Likewise.
30208         * modules/uninorm/decomposition-tests (Files): Likewise.
30209         * modules/uninorm/filter-tests (Files): Likewise.
30210         * modules/uninorm/nfc-tests (Files): Likewise.
30211         * modules/uninorm/nfd-tests (Files): Likewise.
30212         * modules/uninorm/nfkc-tests (Files): Likewise.
30213         * modules/uninorm/nfkd-tests (Files): Likewise.
30214         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
30215         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
30216         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
30217         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
30218         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
30219         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
30220         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
30221         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30222         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
30223         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
30224         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
30225         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
30226         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30227         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
30228         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
30229         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
30230         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
30231         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30232         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
30233         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
30234         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
30235         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
30236         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30237         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
30238         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
30239         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
30240         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
30241         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
30242         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
30243         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
30244         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
30245         * modules/uniwidth/u8-width-tests (Files): Likewise.
30246         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
30247         * modules/uniwidth/u16-width-tests (Files): Likewise.
30248         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
30249         * modules/uniwidth/u32-width-tests (Files): Likewise.
30250         * modules/uniwidth/width-tests (Files): Likewise.
30251         * modules/unlink-tests (Files): Likewise.
30252         * modules/unsetenv-tests (Files): Likewise.
30253         * modules/usleep-tests (Files): Likewise.
30254         * modules/utimens-tests (Files): Likewise.
30255         * modules/utimensat-tests (Files): Likewise.
30256         * modules/vasnprintf-posix-tests (Files): Likewise.
30257         * modules/vasnprintf-tests (Files): Likewise.
30258         * modules/vasprintf-posix-tests (Files): Likewise.
30259         * modules/vasprintf-tests (Files): Likewise.
30260         * modules/vdprintf-posix-tests (Files): Likewise.
30261         * modules/vfprintf-posix-tests (Files): Likewise.
30262         * modules/vprintf-posix-tests (Files): Likewise.
30263         * modules/vsnprintf-posix-tests (Files): Likewise.
30264         * modules/vsnprintf-tests (Files): Likewise.
30265         * modules/vsprintf-posix-tests (Files): Likewise.
30266         * modules/wcrtomb-tests (Files): Likewise.
30267         * modules/wcsnrtombs-tests (Files): Likewise.
30268         * modules/wcsrtombs-tests (Files): Likewise.
30269         * modules/wctype-tests (Files): Likewise.
30270         * modules/wcwidth-tests (Files): Likewise.
30271         * modules/xmemdup0-tests (Files): Likewise.
30272         * modules/xprintf-posix-tests (Files): Likewise.
30273         * modules/xvasprintf-tests (Files): Likewise.
30274
30275 2009-12-24  Eric Blake  <ebb9@byu.net>
30276
30277         test-nanosleep: fix typo
30278         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
30279         patch.
30280         Reported by Bruno Haible.
30281
30282 2009-12-24  Bruno Haible  <bruno@clisp.org>
30283
30284         Reduce namespace pollution on glibc systems.
30285         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
30286         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
30287         systems.
30288         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
30289         <getopt.h> on glibc systems.
30290         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
30291         systems.
30292         * lib/fcntl.c: Include <unistd.h> here instead.
30293
30294 2009-12-24  Bruno Haible  <bruno@clisp.org>
30295
30296         * lib/stdlib.in.h (includes): Fix typo in today's commit.
30297
30298 2009-12-24  Eric Blake  <ebb9@byu.net>
30299
30300         tests: add signature checks
30301         * tests/signature.h (SIGNATURE_CHECK): New file.
30302         * modules/atexit-tests (Files): Use it.
30303         * modules/btowc-tests (Files): Likewise.
30304         * modules/canonicalize-lgpl-tests (Files): Likewise.
30305         * modules/ceilf-tests (Files): Likewise.
30306         * modules/ceill-tests (Files): Likewise.
30307         * modules/chown-tests (Files): Likewise.
30308         * modules/dprintf-posix-tests (Files): Likewise.
30309         * modules/dup2-tests (Files): Likewise.
30310         * modules/dup3-tests (Files): Likewise.
30311         * modules/duplocale-tests (Files): Likewise.
30312         * modules/fchdir-tests (Files): Likewise.
30313         * modules/fcntl-tests (Files): Likewise.
30314         * modules/fdopendir-tests (Files): Likewise.
30315         * modules/fflush-tests (Files): Likewise.
30316         * modules/flock-tests (Files): Likewise.
30317         * modules/floorf-tests (Files): Likewise.
30318         * modules/floorl-tests (Files): Likewise.
30319         * modules/fnmatch-tests (Files): Likewise.
30320         * modules/fopen-tests (Files): Likewise.
30321         * modules/fprintf-posix-tests (Files): Likewise.
30322         * modules/freopen-tests (Files): Likewise.
30323         * modules/frexp-nolibm-tests (Files): Likewise.
30324         * modules/frexp-tests (Files): Likewise.
30325         * modules/frexpl-nolibm-tests (Files): Likewise.
30326         * modules/frexpl-tests (Files): Likewise.
30327         * modules/fseek-tests (Files): Likewise.
30328         * modules/fseeko-tests (Files): Likewise.
30329         * modules/fsync-tests (Files): Likewise.
30330         * modules/ftell-tests (Files): Likewise.
30331         * modules/ftello-tests (Files): Likewise.
30332         * modules/futimens-tests (Files): Likewise.
30333         * modules/getaddrinfo-tests (Files): Likewise.
30334         * modules/getcwd-tests (Files): Likewise.
30335         * modules/getdelim-tests (Files): Likewise.
30336         * modules/getdtablesize-tests (Files): Likewise.
30337         * modules/getgroups-tests (Files): Likewise.
30338         * modules/gethostname-tests (Files): Likewise.
30339         * modules/getline-tests (Files): Likewise.
30340         * modules/getopt-posix-tests (Files): Likewise.
30341         * modules/gettimeofday-tests (Files): Likewise.
30342         * modules/glob-tests (Files): Likewise.
30343         * modules/iconv-tests (Files): Likewise.
30344         * modules/inet_ntop-tests (Files): Likewise.
30345         * modules/inet_pton-tests (Files): Likewise.
30346         * modules/isblank-tests (Files): Likewise.
30347         * modules/lchown-tests (Files): Likewise.
30348         * modules/ldexpl-tests (Files): Likewise.
30349         * modules/link-tests (Files): Likewise.
30350         * modules/linkat-tests (Files): Likewise.
30351         * modules/lseek-tests (Files): Likewise.
30352         * modules/lstat-tests (Files): Likewise.
30353         * modules/mbrtowc-tests (Files): Likewise.
30354         * modules/mbsinit-tests (Files): Likewise.
30355         * modules/mbsnrtowcs-tests (Files): Likewise.
30356         * modules/mbsrtowcs-tests (Files): Likewise.
30357         * modules/memchr-tests (Files): Likewise.
30358         * modules/memcmp-tests (Files): Likewise.
30359         * modules/memmem-tests (Files): Likewise.
30360         * modules/memrchr-tests (Files): Likewise.
30361         * modules/mkdir-tests (Files): Likewise.
30362         * modules/mkfifo-tests (Files): Likewise.
30363         * modules/mkfifoat-tests (Files): Likewise.
30364         * modules/mknod-tests (Files): Likewise.
30365         * modules/nanosleep-tests (Files): Likewise.
30366         * modules/nl_langinfo-tests (Files): Likewise.
30367         * modules/obstack-printf-tests (Files): Likewise.
30368         * modules/open-tests (Files): Likewise.
30369         * modules/openat-tests (Files): Likewise.
30370         * modules/perror-tests (Files): Likewise.
30371         * modules/pipe2-tests (Files): Likewise.
30372         * modules/poll-tests (Files): Likewise.
30373         * modules/popen-tests (Files): Likewise.
30374         * modules/posix_spawn-tests (Files): Likewise.
30375         * modules/posix_spawnp-tests (Files): Likewise.
30376         * modules/pread-tests (Files): Likewise.
30377         * modules/printf-posix-tests (Files): Likewise.
30378         * modules/pty-tests (Files): Likewise.
30379         * modules/random_r-tests (Files): Likewise.
30380         * modules/rawmemchr-tests (Files): Likewise.
30381         * modules/readlink-tests (Files): Likewise.
30382         * modules/remove-tests (Files): Likewise.
30383         * modules/rename-tests (Files): Likewise.
30384         * modules/renameat-tests (Files): Likewise.
30385         * modules/rmdir-tests (Files): Likewise.
30386         * modules/round-tests (Files): Likewise.
30387         * modules/roundf-tests (Files): Likewise.
30388         * modules/roundl-tests (Files): Likewise.
30389         * modules/select-tests (Files): Likewise.
30390         * modules/setenv-tests (Files): Likewise.
30391         * modules/sigaction-tests (Files): Likewise.
30392         * modules/sleep-tests (Files): Likewise.
30393         * modules/snprintf-posix-tests (Files): Likewise.
30394         * modules/snprintf-tests (Files): Likewise.
30395         * modules/sprintf-posix-tests (Files): Likewise.
30396         * modules/stat-tests (Files): Likewise.
30397         * modules/strcasestr-tests (Files): Likewise.
30398         * modules/strchrnul-tests (Files): Likewise.
30399         * modules/strerror-tests (Files): Likewise.
30400         * modules/strsignal-tests (Files): Likewise.
30401         * modules/strstr-tests (Files): Likewise.
30402         * modules/strtod-tests (Files): Likewise.
30403         * modules/strverscmp-tests (Files): Likewise.
30404         * modules/symlink-tests (Files): Likewise.
30405         * modules/symlinkat-tests (Files): Likewise.
30406         * modules/times-tests (Files): Likewise.
30407         * modules/trunc-tests (Files): Likewise.
30408         * modules/truncf-tests (Files): Likewise.
30409         * modules/truncl-tests (Files): Likewise.
30410         * modules/tsearch-tests (Files): Likewise.
30411         * modules/uname-tests (Files): Likewise.
30412         * modules/unlink-tests (Files): Likewise.
30413         * modules/unsetenv-tests (Files): Likewise.
30414         * modules/usleep-tests (Files): Likewise.
30415         * modules/utimensat-tests (Files): Likewise.
30416         * modules/vasprintf-tests (Files): Likewise.
30417         * modules/vdprintf-posix-tests (Files): Likewise.
30418         * modules/vfprintf-posix-tests (Files): Likewise.
30419         * modules/vprintf-posix-tests (Files): Likewise.
30420         * modules/vsnprintf-posix-tests (Files): Likewise.
30421         * modules/vsnprintf-tests (Files): Likewise.
30422         * modules/vsprintf-posix-tests (Files): Likewise.
30423         * modules/wcrtomb-tests (Files): Likewise.
30424         * modules/wcsnrtombs-tests (Files): Likewise.
30425         * modules/wcsrtombs-tests (Files): Likewise.
30426         * modules/wcwidth-tests (Files): Likewise.
30427         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
30428         * tests/test-isinf.c (isinf): Likewise.
30429         * tests/test-isnan.c (isnan): Likewise.
30430         * tests/test-signbit.c (signbit): Likewise.
30431         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
30432         declaration, either as macro or with correct signature.
30433         (select): Ensure function under test is declared with correct
30434         signature in correct header.
30435         * tests/test-atexit.c (atexit): Likewise.
30436         * tests/test-btowc.c (btowc): Likewise.
30437         * tests/test-canonicalize-lgpl.c (realpath)
30438         (canonicalize_file_name): Likewise.
30439         * tests/test-ceilf1.c (ceilf): Likewise.
30440         * tests/test-ceill.c (ceill): Likewise.
30441         * tests/test-chown.c (chown): Likewise.
30442         * tests/test-dprintf-posix.c (dprintf): Likewise.
30443         * tests/test-dup2.c (dup2): Likewise.
30444         * tests/test-dup3.c (dup3): Likewise.
30445         * tests/test-duplocale.c (duplocale): Likewise.
30446         * tests/test-fchdir.c (fchdir): Likewise.
30447         * tests/test-fchownat.c (fchownat): Likewise.
30448         * tests/test-fcntl.c (fcntl): Likewise.
30449         * tests/test-fdopendir.c (fdopendir): Likewise.
30450         * tests/test-fflush.c (fflush): Likewise.
30451         * tests/test-flock.c (flock): Likewise.
30452         * tests/test-floorf1.c (floorf): Likewise.
30453         * tests/test-floorl.c (floorl): Likewise.
30454         * tests/test-fnmatch.c (fnmatch): Likewise.
30455         * tests/test-fopen.c (fopen): Likewise.
30456         * tests/test-fprintf-posix.c (fprintf): Likewise.
30457         * tests/test-freopen.c (freopen): Likewise.
30458         * tests/test-frexp.c (frexp): Likewise.
30459         * tests/test-frexpl.c (frexpl): Likewise.
30460         * tests/test-fseek.c (fseek): Likewise.
30461         * tests/test-fseeko.c (fseeko): Likewise.
30462         * tests/test-fstatat.c (fstatat): Likewise.
30463         * tests/test-fsync.c (fsync): Likewise.
30464         * tests/test-ftell.c (ftell): Likewise.
30465         * tests/test-ftello.c (ftello): Likewise.
30466         * tests/test-futimens.c (futimens): Likewise.
30467         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
30468         (gai_strerror): Likewise.
30469         * tests/test-getcwd.c (getcwd): Likewise.
30470         * tests/test-getdelim.c (getdelim): Likewise.
30471         * tests/test-getdtablesize.c (getdtablesize): Likewise.
30472         * tests/test-getgroups.c (getgroups): Likewise.
30473         * tests/test-gethostname.c (gethostname): Likewise.
30474         * tests/test-getline.c (getline): Likewise.
30475         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
30476         Likewise.
30477         * tests/test-gettimeofday.c (gettimeofday): Likewise.
30478         * tests/test-glob.c (glob, globfree): Likewise.
30479         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
30480         * tests/test-inet_ntop.c (inet_ntop): Likewise.
30481         * tests/test-inet_pton.c (inet_pton): Likewise.
30482         * tests/test-isblank.c (isblank): Likewise.
30483         * tests/test-lchown.c (lchown): Likewise.
30484         * tests/test-ldexpl.c (ldexpl): Likewise.
30485         * tests/test-link.c (link): Likewise.
30486         * tests/test-linkat.c (linkat): Likewise.
30487         * tests/test-lseek.c (lseek): Likewise.
30488         * tests/test-lstat.c (lstat): Likewise.
30489         * tests/test-mbrtowc.c (mbrtowc): Likewise.
30490         * tests/test-mbsinit.c (mbsinit): Likewise.
30491         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
30492         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
30493         * tests/test-memchr.c (memchr): Likewise.
30494         * tests/test-memcmp.c (memcmp): Likewise.
30495         * tests/test-memmem.c (memmem): Likewise.
30496         * tests/test-memrchr.c (memrchr): Likewise.
30497         * tests/test-mkdir.c (mkdir): Likewise.
30498         * tests/test-mkdirat.c (mkdirat): Likewise.
30499         * tests/test-mkfifo.c (mkfifo): Likewise.
30500         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
30501         * tests/test-mknod.c (mknod): Likewise.
30502         * tests/test-nanosleep.c (nanosleep): Likewise.
30503         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
30504         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
30505         Likewise.
30506         * tests/test-open.c (open): Likewise.
30507         * tests/test-openat.c (openat): Likewise.
30508         * tests/test-perror.c (perror): Likewise.
30509         * tests/test-pipe2.c (pipe2): Likewise.
30510         * tests/test-poll.c (poll): Likewise.
30511         * tests/test-popen.c (popen, pclose): Likewise.
30512         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
30513         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
30514         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
30515         (posix_spawn_file_actions_destroy)
30516         (posix_spawn_file_actions_addclose)
30517         (posix_spawn_file_actions_addopen)
30518         (posix_spawn_file_actions_adddup2): Likewise.
30519         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
30520         * tests/test-pread.c (pread): Likewise.
30521         * tests/test-printf-posix.c (printf): Likewise.
30522         * tests/test-pty.c (openpty, forkpty): Likewise.
30523         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
30524         (random_r): Likewise.
30525         * tests/test-rawmemchr.c (rawmemchr): Likewise.
30526         * tests/test-readlink.c (readlink): Likewise.
30527         * tests/test-remove.c (remove): Likewise.
30528         * tests/test-rename.c (rename): Likewise.
30529         * tests/test-renameat.c (renameat): Likewise.
30530         * tests/test-rmdir.c (rmdir): Likewise.
30531         * tests/test-round1.c (round): Likewise.
30532         * tests/test-roundf1.c (roundf): Likewise.
30533         * tests/test-roundl.c (roundl): Likewise.
30534         * tests/test-setenv.c (setenv): Likewise.
30535         * tests/test-sigaction.c (sigaction): Likewise.
30536         * tests/test-sleep.c (sleep): Likewise.
30537         * tests/test-snprintf.c (snprintf): Likewise.
30538         * tests/test-sprintf-posix.c (sprintf): Likewise.
30539         * tests/test-stat.c (stat): Likewise.
30540         * tests/test-stpncpy.c (stpncpy): Likewise.
30541         * tests/test-strcasestr.c (strcasestr): Likewise.
30542         * tests/test-strchrnul.c (strchrnul): Likewise.
30543         * tests/test-strerror.c (strerror): Likewise.
30544         * tests/test-strsignal.c (strsignal): Likewise.
30545         * tests/test-strstr.c (strstr): Likewise.
30546         * tests/test-strtod.c (strtod): Likewise.
30547         * tests/test-strverscmp.c (strverscmp): Likewise.
30548         * tests/test-symlink.c (symlink): Likewise.
30549         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
30550         * tests/test-times.c (times): Likewise.
30551         * tests/test-trunc1.c (trunc): Likewise.
30552         * tests/test-truncf1.c (truncf): Likewise.
30553         * tests/test-truncl.c (truncl): Likewise.
30554         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
30555         Likewise.
30556         * tests/test-uname.c (uname): Likewise.
30557         * tests/test-unlink.c (unlink): Likewise.
30558         * tests/test-unlinkat.c (unlinkat): Likewise.
30559         * tests/test-unsetenv.c (unsetenv): Likewise.
30560         * tests/test-usleep.c (usleep): Likewise.
30561         * tests/test-utimensat.c (utimensat): Likewise.
30562         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
30563         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
30564         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
30565         * tests/test-vprintf-posix.c (vprintf): Likewise.
30566         * tests/test-vsnprintf.c (vsnprintf): Likewise.
30567         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
30568         * tests/test-wcrtomb.c (wcrtomb): Likewise.
30569         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
30570         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
30571         * tests/test-wcwidth.c (wcwidth): Likewise.
30572
30573         build: pull in conditional headers during GNULIB_POSIXCHECK
30574         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
30575         definitions from any conditionally-included headers.
30576         * lib/stdlib.in.h (includes): Likewise.
30577         * lib/unistd.in.h (includes): Likewise.
30578
30579 2009-12-24  Bruno Haible  <bruno@clisp.org>
30580
30581         * tests/test-argv-iter.c: Include header file being tested immediately
30582         after config.h.
30583         * tests/test-base64.c: Likewise.
30584         * tests/test-flock.c: Likewise.
30585         * tests/test-fsync.c: Likewise.
30586         * tests/test-getdate.c: Likewise.
30587         * tests/test-getndelim2.c: Likewise.
30588         * tests/test-isfinite.c: Likewise.
30589         * tests/test-isinf.c: Likewise.
30590         * tests/test-strerror.c: Likewise.
30591         * tests/test-strsignal.c: Likewise.
30592
30593 2009-12-23  Eric Blake  <ebb9@byu.net>
30594
30595         unistd: work around cygwin bug
30596         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
30597         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
30598         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30599
30600 2009-12-23  Bruno Haible  <bruno@clisp.org>
30601
30602         localename: More tests.
30603         * tests/test-localename.c (SIZEOF): New macro.
30604         (categories): New variable.
30605         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
30606         test_locale_name_default): Add test w.r.t. thread locale.
30607         (test_locale_name_thread): New function.
30608         (main): Invoke it.
30609
30610         localename: Make aware of thread locale.
30611         * lib/localename.h (gl_locale_name_thread): New declaration.
30612         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
30613         behaviour with respect to thread locale.
30614         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
30615         <langinfo.h>, glthread/lock.h.
30616         (SIZE_BITS): New macro.
30617         (string_hash): New function.
30618         (struct hash_node): New type.
30619         (HASH_TABLE_SIZE): New macro.
30620         (struniq_hash_table, struniq_lock): New variables.
30621         (struniq): New function.
30622         (gl_locale_name_thread): New function.
30623         (gl_locale_name): Invoke it.
30624         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
30625         * modules/localename (Depends-on): Add lock.
30626         Reported by Mike Gran <spk121@yahoo.com>.
30627
30628 2009-12-23  Eric Blake  <ebb9@byu.net>
30629
30630         va-args: new module
30631         * modules/va-args: New file.
30632         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
30633         * MODULES.html.sh (Core language properties): Mention it.
30634
30635         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
30636         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
30637         named alias for __attribute__((__unused__)).
30638         * lib/chown.c: Update client.
30639         * lib/fchmodat.c: Likewise.
30640         * lib/fts.c: Likewise.
30641         * lib/getdate.y: Likewise.
30642         * lib/getgroups.c: Likewise.
30643         * lib/getopt.c: Likewise.
30644         * lib/getugroups.c: Likewise.
30645         * lib/mkdir.c: Likewise.
30646         * lib/mkfifo.c: Likewise.
30647         * lib/mkfifoat.c: Likewise.
30648         * lib/mknod.c: Likewise.
30649         * lib/mknodat.c: Likewise.
30650         * lib/readlink.c: Likewise.
30651         * lib/se-context.in.h: Likewise.
30652         * lib/se-selinux.in.h: Likewise.
30653         * lib/sockets.c: Likewise.
30654         * lib/symlink.c: Likewise.
30655         * lib/symlinkat.c: Likewise.
30656         * lib/unicodeio.c: Likewise.
30657         * lib/unistr.h: Likewise.
30658         * tests/test-areadlink.c: Likewise.
30659         * tests/test-areadlinkat.c: Likewise.
30660         * tests/test-filenamecat.c: Likewise.
30661         * tests/test-fseeko.c: Likewise.
30662         * tests/test-ftello.c: Likewise.
30663         * tests/test-getdate.c: Likewise.
30664         * tests/test-getgroups.c: Likewise.
30665         * tests/test-gethostname.c: Likewise.
30666         * tests/test-quotearg.c: Likewise.
30667         * tests/test-version-etc.c: Likewise.
30668         * tests/test-xalloc-die.c: Likewise.
30669         * tests/test-xfprintf-posix.c: Likewise.
30670         * tests/test-xprintf-posix.c: Likewise.
30671         * tests/test-xvasprintf.c: Likewise.
30672
30673         tests: avoid compiler warnings
30674         * tests/test-fcntl.c (main): Delete unused parameters.
30675         * tests/test-freopen-safer.c (main): Likewise.
30676         * tests/test-xalloc-die.c (main): Mark unused parameters.
30677         * tests/test-fseeko.c (main): Likewise.
30678         * tests/test-ftello.c (main): Likewise.
30679         * tests/test-nanosleep.c (main): Avoid declaration warning.
30680         * tests/test-sleep.c (main): Likewise.
30681         * tests/test-unsetenv.c (main): Silence warning about string
30682         literal.
30683         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30684
30685 2009-12-23  Bruno Haible  <bruno@clisp.org>
30686
30687         * tests/test-localename.c (test_locale_name): New function, extracted
30688         from main. Also test mixed situations.
30689         (test_locale_name_posix, test_locale_name_environ,
30690         test_locale_name_default): New functions.
30691         (main): Invoke them all.
30692         * modules/localename-tests (configure.ac): Test for newlocale.
30693
30694 2009-12-23  Bruno Haible  <bruno@clisp.org>
30695
30696         unistd: Ensure getcwd gets declared before being overridden.
30697         * lib/unistd.in.h: Conditionally include <io.h>.
30698
30699 2009-12-22  Bruno Haible  <bruno@clisp.org>
30700
30701         wchar: Diagnose broken combination of glibc and gcc versions and flags.
30702         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
30703         (gl_WCHAR_H): Invoke it.
30704         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
30705         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
30706         Reported by Karl Berry <karl@freefriends.org>.
30707
30708 2009-12-22  Eric Blake  <ebb9@byu.net>
30709
30710         math, unistd: avoid redundant includes
30711         * lib/math.in.h (isnan): No need to re-include <math.h>.
30712         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
30713
30714         getsubopt: work around cygwin bug
30715         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
30716         avoid conflicting with system getsubopt.
30717         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
30718         bug.
30719
30720         getopt: synchronize from glibc
30721         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
30722         parameter order.  Adjust all callers.
30723         (_getopt_internal_r, main): Adjust quoting in error messages.
30724         Drop considerations for outdated POSIX 1003.2 error message.
30725         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
30726         callers.
30727         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
30728
30729         test-getopt: test stderr behavior
30730         * modules/getopt-posix-tests (Depends-on): Add dup2.
30731         * tests/test-getopt.c (ASSERT): Avoid stderr.
30732         (main): Move stderr to a temporary file.
30733         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
30734         Instead, add parameter to inform caller if output occurred.
30735         (test_getopt): Adjust all existing tests to expect silence, and
30736         add new tests of leading ":".
30737         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30738         glibc shortcomings with leading "-:" or "+:" in optstring.
30739         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30740         Likewise.
30741         * doc/posix-functions/getopt.texi (getopt): Likewise.
30742
30743         test-getopt: enhance test
30744         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
30745         supports optind=0.
30746         * tests/test-getopt.c (OPTIND_MIN): Move...
30747         * tests/test-getopt.h (OPTIND_MIN): ...here.
30748         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
30749         Require that optind=0 works, since modern BSD supports it in
30750         addition to optreset, and since coreutils expects it.
30751         (test_getopt_long_only): New test.
30752         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
30753         glibc shortcomings with 'W;', and enforcement of optind=0.
30754         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30755         Likewise.
30756
30757 2009-12-21  Bruno Haible  <bruno@clisp.org>
30758
30759         localename: Improvements for MacOS X and Cygwin.
30760         * lib/localename.h (gl_locale_name_environ): New declaration.
30761         * lib/localename.c (gl_locale_name_environ): New function, extracted from
30762         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
30763         (gl_locale_name_posix): Invoke it.
30764         (gl_locale_name_default): Add comments. Use Windows native API also on
30765         Cygwin.
30766
30767 2009-12-21  Bruno Haible  <bruno@clisp.org>
30768
30769         Update list of Win32 locale ids.
30770         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
30771         (LANG_SAMI): Renamed from LANG_SAAMI.
30772         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
30773         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
30774         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
30775         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
30776         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
30777         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
30778         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
30779         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
30780         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
30781         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
30782         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
30783         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
30784         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
30785         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
30786         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
30787         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
30788         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
30789         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
30790         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
30791         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
30792         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
30793         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
30794         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
30795         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
30796         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
30797         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
30798         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
30799         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
30800         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
30801         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
30802         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
30803         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
30804         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
30805         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
30806         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
30807         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
30808         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
30809         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
30810         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
30811         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
30812         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
30813         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
30814         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
30815         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
30816         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
30817         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
30818         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
30819         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
30820         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
30821         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
30822         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
30823         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
30824         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
30825         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
30826         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
30827         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
30828         Add more languages and countries for Sami, Sorbian. Add more countries
30829         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
30830         for Pashto. Change country for Syriac, Tswana.
30831
30832 2009-12-21  Eric Blake  <ebb9@byu.net>
30833
30834         test-utimens: avoid spurious failure
30835         * tests/test-chown.h (nap): Factor...
30836         * tests/nap.h: ...into new file.
30837         * tests/test-lchown.h (nap): Avoid duplication.
30838         * tests/test-utimens-common.h (nap): Use shared implementation,
30839         necessary on file systems with 1-second resolution.
30840         * modules/chown-tests (Files): Include new file.
30841         * modules/fdutimensat-tests (Files): Likewise.
30842         * modules/futimens-tests (Files): Likewise.
30843         * modules/lchown-tests (Files): Likewise.
30844         * modules/openat-tests (Files): Likewise.
30845         * modules/utimens-tests (Files): Likewise.
30846         * modules/utimensat-tests (Files): Likewise.
30847
30848 2009-12-19  Eric Blake  <ebb9@byu.net>
30849
30850         futimens, utimensat: work around Linux bug
30851         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
30852         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30853         * lib/utimensat.c (rpl_utimensat): Work around it.
30854         * lib/futimens.c (rpl_futimens): Adjust comment.
30855
30856         utimens: work around Linux ctime bug
30857         * lib/utimens.c (detect_ctime_bug): New helper function.
30858         (update_timespec): Differentiate between workaround needed for
30859         this bug vs. what is needed for systems that lack utimensat.
30860         (fdutimens, lutimens): Work around bug.
30861
30862         utimens: check for ctime update
30863         * tests/test-utimens-common.h (check_ctime): Define.
30864         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
30865         * tests/test-futimens.h (test_futimens): Likewise.
30866         * tests/test-lutimens.h (test_lutimens): Likewise.
30867         * doc/posix-functions/futimens.texi (futimens): Document the bug.
30868         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30869
30870 2009-12-19  Bruno Haible  <bruno@clisp.org>
30871
30872         dprintf-posix: Check against memory leak fixed on 2009-12-15.
30873         * tests/test-dprintf-posix2.sh: New file.
30874         * tests/test-dprintf-posix2.c: New file.
30875         * modules/dprintf-posix-tests (Files): Add them.
30876         (configure.ac): Check for getrlimit and setrlimit.
30877         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30878
30879 2009-12-19  Bruno Haible  <bruno@clisp.org>
30880
30881         fprintf-posix: Check against memory leak fixed on 2009-12-15.
30882         * tests/test-fprintf-posix3.sh: New file.
30883         * tests/test-fprintf-posix3.c: New file.
30884         * modules/fprintf-posix-tests (Files): Add them.
30885         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
30886
30887 2009-12-19  Eric Blake  <ebb9@byu.net>
30888
30889         dirfd: fix prototype
30890         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
30891         * lib/dirfd.c (dirfd): Likewise.
30892
30893         canonicalize: reduce memory usage
30894         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
30895         allocation to size.
30896         Reported by Solar Designer <solar@openwall.com>.
30897
30898 2009-12-19  Bruno Haible  <bruno@clisp.org>
30899
30900         New module attribute 'Applicability'.
30901         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
30902         * gnulib-tool: New option --extract-applicability.
30903         (func_usage): Document it.
30904         (sed_extract_prog): Recognize it.
30905         (func_get_applicability): New function.
30906         (func_import): Generalize handling of 'link-warning' module.
30907         * modules/link-warning (Applicability): New section.
30908         * modules/arg-nonnull (Applicability): New section.
30909         Repoted by Simon Josefsson <simon@josefsson.org>.
30910
30911 2009-12-19  Bruno Haible  <bruno@clisp.org>
30912
30913         fflush: tweak
30914         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
30915         * lib/fseeko.c (rpl_fseeko): Likewise.
30916
30917 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
30918
30919         * lib/gl_list.h: Fix typo in comment.
30920
30921 2009-12-16  Eric Blake  <ebb9@byu.net>
30922
30923         fcntl: use to simplify other modules
30924         * modules/cloexec (Depends-on): Add fcntl.
30925         * modules/fchdir (Depends-on): Likewise.
30926         * modules/fd-safer-flag (Depends-on): Likewise.
30927         * modules/unistd-safer (Depends-on): Likewise.
30928         * modules/dup3 (configure.ac): Set module indicator.
30929         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
30930         missing.
30931         * lib/fchdir.c (_gl_register_dup): Fix comment.
30932         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
30933         * lib/dup-safer.c (dup_safer): Likewise.
30934         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
30935         * lib/dup3.c (dup3): Likewise.
30936         * tests/test-fchdir.c (main): Enhance test.
30937         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
30938
30939         fcntl: port portions of fcntl to mingw
30940         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
30941         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
30942         replacement for mingw.
30943         * modules/fcntl (Description): Update.
30944         (Depends-on): Add dup2.
30945         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
30946         * modules/fcntl-h (Makefile.am): Substitute it.
30947         * lib/fcntl.in.h (fcntl): Update declaration.
30948         (F_DUPFD, F_GETFD): New macros, when needed.
30949         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30950         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
30951         * tests/test-fcntl.c (check_flags, main): Enhance test for items
30952         we now guarantee.
30953
30954         fcntl: work around cygwin bug in F_DUPFD
30955         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
30956         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
30957         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
30958         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
30959         * doc/posix-functions/fcntl.texi (fcntl): Document it.
30960
30961         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
30962         * modules/fcntl (Files): List new files.
30963         (configure.ac): Run a test.
30964         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
30965         * lib/fcntl.c (rpl_fcntl): Likewise.
30966         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
30967         (gl_FCNTL_H): Always replace fcntl.h.
30968         * modules/fcntl-h (Makefile.am): Substitute witnesses.
30969         * lib/fcntl.in.h (fcntl): Declare replacement.
30970         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
30971         needed, plus a witness.
30972         * doc/posix-functions/fcntl.texi (fcntl): Document this.
30973         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30974         * tests/test-fcntl.c: New file.
30975         * modules/fcntl-tests: Likewise.
30976
30977         binary-io: avoid potential compilation warning
30978         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
30979         directives.
30980
30981         fflush: avoid compilation error on NetBSD
30982         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
30983         between off_t and fpos_t, since the latter is sometimes a struct.
30984         * lib/fseeko.c (rpl_fseeko): Likewise.
30985         Reported by Alexander Nasonov <alnsn@yandex.ru>.
30986
30987 2009-12-15  Eric Blake  <ebb9@byu.net>
30988
30989         fcntl-h, stdio, sys_ioctl: fix declarations
30990         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
30991         function must not take arguments.
30992         * lib/sys_ioctl.in.h (ioctl): Likewise.
30993         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
30994         (open): Add a link warning.
30995
30996 2009-12-15  Jim Meyering  <meyering@redhat.com>
30997
30998         areadlink, areadlink-with-size: relax license to LGPLv2+
30999         * modules/areadlink (License): Relax to LGPLv2+.
31000         * modules/areadlink-with-size (License): Likewise.
31001
31002 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
31003             Bruno Haible  <bruno@clisp.org>
31004
31005         *printf: Fix memory leak.
31006         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
31007         * lib/vfprintf.c (vfprintf): Likewise.
31008         * lib/dprintf.c (dprintf): Likewise.
31009         * lib/vdprintf.c (vdprintf): Likewise.
31010
31011 2009-12-14  Eric Blake  <ebb9@byu.net>
31012
31013         accept4: adjust module dependencies
31014         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
31015
31016         utimens: one more try at avoiding compiler warning
31017         * lib/utimens.c (lutimens): Lower scope of result.
31018
31019 2009-12-13  Bruno Haible  <bruno@clisp.org>
31020
31021         Move the malloc checking from module 'list' to new module 'xlist'.
31022         * modules/xlist: New file.
31023         * lib/gl_xlist.h: New file.
31024         * lib/gl_xlist.c: New file.
31025         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
31026         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
31027         gl_list_add_last, gl_list_add_before, gl_list_add_after,
31028         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
31029         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
31030         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
31031         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
31032         gl_sortedlist_nx_add): New declarations.
31033         (struct gl_list_implementation): Rename and change methods accordingly.
31034         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
31035         (gl_list_nx_create): Renamed from gl_list_create.
31036         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31037         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31038         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31039         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31040         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31041         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31042         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31043         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31044         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
31045         gl_list_create_empty.
31046         (gl_list_nx_create): Renamed from gl_list_create.
31047         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
31048         (gl_list_nx_set_at): Renamed from gl_list_set_at.
31049         (gl_list_nx_add_first): Renamed from gl_list_add_first.
31050         (gl_list_nx_add_last): Renamed from gl_list_add_last.
31051         (gl_list_nx_add_before): Renamed from gl_list_add_before.
31052         (gl_list_nx_add_after): Renamed from gl_list_add_after.
31053         (gl_list_nx_add_at): Renamed from gl_list_add_at.
31054         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
31055         * lib/gl_array_list.c: Don't include xalloc.h.
31056         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
31057         NULL upon out-of-memory.
31058         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
31059         out-of-memory.
31060         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
31061         Change return type to 'int'.
31062         (gl_array_nx_set_at): Renamed from gl_array_set_at.
31063         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31064         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
31065         upon out-of-memory.
31066         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
31067         upon out-of-memory.
31068         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
31069         upon out-of-memory.
31070         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
31071         upon out-of-memory.
31072         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
31073         out-of-memory.
31074         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
31075         Update.
31076         (gl_array_list_implementation): Update.
31077         * lib/gl_carray_list.c: Don't include xalloc.h.
31078         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
31079         Return NULL upon out-of-memory.
31080         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
31081         out-of-memory.
31082         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
31083         Change return type to 'int'.
31084         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
31085         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
31086         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
31087         upon out-of-memory.
31088         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
31089         upon out-of-memory.
31090         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
31091         out-of-memory.
31092         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
31093         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
31094         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
31095         Update.
31096         (gl_carray_list_implementation): Update.
31097         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
31098         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
31099         gl_linked_create_empty. Return NULL upon out-of-memory.
31100         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
31101         out-of-memory.
31102         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
31103         Change return type to 'int'. Return -1 upon out-of-memory.
31104         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
31105         out-of-memory.
31106         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
31107         upon out-of-memory.
31108         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
31109         upon out-of-memory.
31110         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
31111         NULL upon out-of-memory.
31112         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
31113         upon out-of-memory.
31114         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
31115         out-of-memory.
31116         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
31117         Update.
31118         * lib/gl_linked_list.c: Don't include xalloc.h.
31119         (gl_linked_list_implementation): Update.
31120         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
31121         (add_to_bucket): Change return type to 'int'.
31122         (gl_linkedhash_list_implementation): Update.
31123         * lib/gl_anytree_list1.h (free_subtree): New function.
31124         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
31125         gl_tree_create_empty. Return NULL upon out-of-memory.
31126         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
31127         Change return type to 'int'. Return -1 upon out-of-memory.
31128         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
31129         out-of-memory.
31130         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
31131         (gl_tree_remove_node): New function, moved here from
31132         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
31133         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
31134         Update.
31135         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
31136         malloc, not xmalloc. Return NULL upon out-of-memory.
31137         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31138         out-of-memory.
31139         (gl_tree_remove_node_from_tree): New function, extracted from
31140         gl_tree_remove_node.
31141         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31142         upon out-of-memory.
31143         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31144         out-of-memory.
31145         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31146         upon out-of-memory.
31147         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31148         upon out-of-memory.
31149         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31150         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
31151         not xmalloc. Return NULL upon out-of-memory.
31152         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
31153         out-of-memory.
31154         (gl_tree_remove_node_from_tree): New function, extracted from
31155         gl_tree_remove_node.
31156         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
31157         upon out-of-memory.
31158         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
31159         out-of-memory.
31160         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
31161         upon out-of-memory.
31162         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
31163         upon out-of-memory.
31164         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
31165         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
31166         gl_anytree_list1.h before gl_anyavltree_list2.h.
31167         (gl_avltree_list_implementation): Update.
31168         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
31169         gl_anytree_list1.h before gl_anyavltree_list2.h.
31170         (gl_rbtree_list_implementation): Update.
31171         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
31172         Change return type to 'int'. Return -1 upon out-of-memory. Use
31173         __builtin_expect.
31174         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
31175         (gl_avltreehash_list_implementation): Update.
31176         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
31177         (gl_rbtreehash_list_implementation): Update.
31178         * modules/array-list (Depends-on): Remove xalloc.
31179         * modules/carray-list (Depends-on): Likewise.
31180         * modules/linked-list (Depends-on): Likewise.
31181         * modules/linkedhash-list (Depends-on): Likewise.
31182         * modules/avltree-list (Depends-on): Likewise.
31183         * modules/rbtree-list (Depends-on): Likewise.
31184         * modules/avltreehash-list (Depends-on): Likewise.
31185         * modules/rbtreehash-list (Depends-on): Likewise.
31186
31187         * modules/xsublist: New file.
31188         * lib/gl_xsublist.h: New file.
31189         * lib/gl_xsublist.c: New file.
31190         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
31191         (gl_sublist_nx_create): New declaration.
31192         * lib/gl_sublist.c: Don't include xalloc.h.
31193         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
31194         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
31195         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
31196         Change return type to 'int'. Return -1 upon out-of-memory.
31197         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
31198         upon out-of-memory.
31199         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
31200         NULL upon out-of-memory.
31201         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
31202         upon out-of-memory.
31203         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
31204         NULL upon out-of-memory.
31205         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
31206         NULL upon out-of-memory.
31207         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
31208         upon out-of-memory.
31209         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
31210         (gl_sublist_list_implementation): Update.
31211         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
31212         upon out-of-memory.
31213         * modules/sublist (Depends-on): Remove xalloc.
31214
31215         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
31216         * tests/test-carray_list.c: Likewise.
31217         * tests/test-linked_list.c: Likewise.
31218         * tests/test-linkedhash_list.c: Likewise.
31219         * tests/test-avltree_list.c: Likewise.
31220         * tests/test-rbtree_list.c: Likewise.
31221         * tests/test-avltreehash_list.c: Likewise.
31222         * tests/test-rbtreehash_list.c: Likewise.
31223         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
31224         * modules/carray-list-tests (Makefile.am): Likewise.
31225         * modules/linked-list-tests (Makefile.am): Likewise.
31226         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31227         * modules/avltree-list-tests (Makefile.am): Likewise.
31228         * modules/rbtree-list-tests (Makefile.am): Likewise.
31229         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31230         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31231
31232         * NEWS: Mention the changes.
31233
31234         * lib/clean-temp.c: Include gl_xlist.h.
31235         * modules/clean-temp (Depends-on): Add xlist.
31236
31237         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
31238         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
31239
31240         * tests/test-array_oset.c: Include gl_xlist.h.
31241         * modules/array-oset-tests (Depends-on): Add xlist.
31242
31243         Reported by José E. Marchesi <jemarch@gnu.org>.
31244
31245 2009-12-13  Bruno Haible  <bruno@clisp.org>
31246
31247         Move the malloc checking from module 'oset' to new module 'xoset'.
31248         * modules/xoset: New file.
31249         * lib/gl_xoset.h: New file.
31250         * lib/gl_xoset.c: New file.
31251         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
31252         declarations.
31253         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
31254         (struct gl_oset_implementation): Rename and change methods accordingly.
31255         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
31256         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31257         'int'. Mark as __warn_unused_result__.
31258         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
31259         gl_oset_create_empty.
31260         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
31261         'int'.
31262         * lib/gl_array_oset.c: Don't include xalloc.h.
31263         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
31264         malloc, not xmalloc.
31265         (grow): Change return type to 'int'. Don't call xalloc_die.
31266         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
31267         to 'int'.
31268         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
31269         'int'.
31270         (gl_array_oset_implementation): Update.
31271         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
31272         gl_tree_create_empty.
31273         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
31274         'int'.
31275         * lib/gl_avltree_oset.c: Don't include xalloc.h.
31276         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31277         xmalloc.
31278         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31279         not xmalloc.
31280         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31281         xmalloc.
31282         (gl_avltree_oset_implementation): Update.
31283         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
31284         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
31285         xmalloc.
31286         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
31287         not xmalloc.
31288         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
31289         xmalloc.
31290         (gl_rbtree_oset_implementation): Update.
31291         * modules/array-oset (Depends-on): Remove xalloc.
31292         * modules/avltree-oset (Depends-on): Likewise.
31293         * modules/rbtree-oset (Depends-on): Likewise.
31294         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
31295         * tests/test-avltree_oset.c: Likewise.
31296         * tests/test-rbtree_oset.c: Likewise.
31297         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
31298         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
31299         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31300         * NEWS: Mention the change.
31301
31302 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
31303
31304         maint.mk: allow a project to override release-prep commands
31305         * top/maint.mk (alpha, beta, stable): Move release-preparatory
31306         commands into a new rule.
31307         (release-prep): New rule.
31308         (release-prep-hook): New overridable variable.
31309
31310 2009-12-13  Bruno Haible  <bruno@clisp.org>
31311
31312         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
31313
31314 2009-12-13  Jim Meyering  <meyering@redhat.com>
31315
31316         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
31317         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
31318
31319 2009-12-12  Bruno Haible  <bruno@clisp.org>
31320
31321         duplocale: Tweak.
31322         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
31323
31324 2009-12-12  Karl Berry  <karl@gnu.org>
31325
31326         * config/srclist.txt (strtoll.c): tab changes, no more sync.
31327
31328 2009-12-12  Bruno Haible  <bruno@clisp.org>
31329
31330         * m4/po.m4: Undo incorrect untabification.
31331
31332 2009-12-12  Bruno Haible  <bruno@clisp.org>
31333
31334         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
31335         * modules/c-strtod (Depends-on): Add locale.
31336         * modules/c-strtold (Depends-on): Likewise.
31337
31338 2009-12-12  Bruno Haible  <bruno@clisp.org>
31339
31340         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
31341
31342 2009-12-11  Eric Blake  <ebb9@byu.net>
31343
31344         setenv: relax requirement in light of POSIX ruling
31345         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
31346         not NULL.
31347         * tests/test-setenv.c (main): Relax test.
31348         * tests/test-unsetenv.c (main): Likewise.
31349         * doc/posix-functions/setenv.texi (setenv): Document this.
31350         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
31351
31352 2009-12-11  Bruno Haible  <bruno@clisp.org>
31353
31354         New module 'fd-safer-flag'.
31355         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
31356         * lib/dup-safer.c (dup_safer_flag): Remove function.
31357         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
31358         * lib/fd-safer.c (fd_safer_flag): Remove function.
31359         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
31360         * modules/cloexec (configure.ac): Drop indicator macro.
31361         * modules/fd-safer-flag: New file.
31362         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
31363         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
31364         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
31365
31366 2009-12-11  Bruno Haible  <bruno@clisp.org>
31367
31368         Tests for module 'nl_langinfo'.
31369         * modules/nl_langinfo-tests: New file.
31370         * tests/test-nl_langinfo.sh: New file.
31371         * tests/test-nl_langinfo.c: New file.
31372
31373         New module 'nl_langinfo'.
31374         * lib/nl_langinfo.c: New file.
31375         * m4/nl_langinfo.m4: New file.
31376         * modules/nl_langinfo: New file.
31377         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
31378
31379 2009-12-11  Bruno Haible  <bruno@clisp.org>
31380
31381         Tests for module 'langinfo'.
31382         * modules/langinfo-tests: New file.
31383         * tests/test-langinfo.c: New file.
31384
31385         New module 'langinfo'.
31386         * lib/langinfo.in.h: New file.
31387         * m4/langinfo_h.m4: New file.
31388         * modules/langinfo: New file.
31389         * doc/posix-headers/langinfo.texi: Mention the new module.
31390
31391 2009-12-11  Bruno Haible  <bruno@clisp.org>
31392
31393         * lib/config.charset: Untabify.
31394
31395 2009-12-11  Bruno Haible  <bruno@clisp.org>
31396
31397         * modules/unistd-safer (configure.ac): Drop indicator macro.
31398
31399 2009-12-11  Bruno Haible  <bruno@clisp.org>
31400
31401         Move pipe2-safer code to its own file.
31402         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
31403         * lib/pipe-safer.c (pipe2_safer): Remove function.
31404         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
31405         (Makefile.am): Add it to lib_SOURCES.
31406
31407 2009-12-10  Bruno Haible  <bruno@clisp.org>
31408
31409         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
31410
31411 2009-12-10  Bruno Haible  <bruno@clisp.org>
31412
31413         Declare which arguments expect non-NULL values, for GCC and clang.
31414         * build-aux/arg-nonnull.h: New file.
31415         * modules/arg-nonnull: New file.
31416         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
31417         (inet_ntop, inet_pton): Use it.
31418         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
31419         (closedir, dirfd, opendir, scandir, alphasort): Use it.
31420         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
31421         (open, openat): Use it.
31422         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
31423         (fnmatch): Use it.
31424         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
31425         (getopt, getopt_long, getopt_long_only): Use it.
31426         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
31427         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
31428         Use it.
31429         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
31430         (iconv_open): Use it.
31431         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
31432         (strtoimax, strtoumax): Use it.
31433         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
31434         (duplocale): Use it.
31435         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
31436         (frexp, frexpl): Use it.
31437         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
31438         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
31439         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
31440         (tsearch, tfind, tdelete, twalk): Use it.
31441         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
31442         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31443         sigpending): Use it.
31444         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
31445         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31446         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31447         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31448         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31449         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31450         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31451         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31452         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31453         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31454         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31455         Use it.
31456         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
31457         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
31458         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
31459         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
31460         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
31461         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
31462         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
31463         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
31464         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
31465         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
31466         strtoull, unsetenv): Use it.
31467         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
31468         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31469         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31470         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
31471         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
31472         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
31473         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
31474         (strcasecmp, strncasecmp): Use it.
31475         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
31476         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
31477         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
31478         rpl_setsockopt): Use it.
31479         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
31480         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
31481         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
31482         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
31483         (gettimeofday): Use it.
31484         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
31485         (times): Use it.
31486         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
31487         (uname): Use it.
31488         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
31489         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
31490         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
31491         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
31492         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
31493         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
31494         unlinkat, write): Use it.
31495         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
31496         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
31497         * lib/argv-iter.h: Include arg-nonnull.h.
31498         (_ATTRIBUTE_NONNULL_): Remove macro.
31499         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
31500         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
31501         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
31502         optimization.
31503         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
31504         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
31505         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
31506         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
31507         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
31508         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
31509         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
31510         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
31511         * modules/arpa_inet (Depends-on): Add arg-nonnull.
31512         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
31513         * modules/dirent (Depends-on): Add arg-nonnull.
31514         (Makefile.am): Insert arg-nonnull.h into dirent.h.
31515         * modules/fcntl-h (Depends-on): Add arg-nonnull.
31516         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
31517         * modules/fnmatch (Depends-on): Add arg-nonnull.
31518         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
31519         * modules/getopt-posix (Depends-on): Add arg-nonnull.
31520         (Makefile.am): Insert arg-nonnull.h into getopt.h.
31521         * modules/glob (Depends-on): Add arg-nonnull.
31522         (Makefile.am): Insert arg-nonnull.h into glob.h.
31523         * modules/iconv_open (Depends-on): Add arg-nonnull.
31524         (Makefile.am): Insert arg-nonnull.h into iconv.h.
31525         * modules/inttypes (Depends-on): Add arg-nonnull.
31526         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
31527         * modules/locale (Depends-on): Add arg-nonnull.
31528         (Makefile.am): Insert arg-nonnull.h into locale.h.
31529         * modules/math (Depends-on): Add arg-nonnull.
31530         (Makefile.am): Insert arg-nonnull.h into math.h.
31531         * modules/netdb (Depends-on): Add arg-nonnull.
31532         (Makefile.am): Insert arg-nonnull.h into netdb.h.
31533         * modules/search (Depends-on): Add arg-nonnull.
31534         (Makefile.am): Insert arg-nonnull.h into search.h.
31535         * modules/signal (Depends-on): Add arg-nonnull.
31536         (Makefile.am): Insert arg-nonnull.h into signal.h.
31537         * modules/spawn (Depends-on): Add arg-nonnull.
31538         (Makefile.am): Insert arg-nonnull.h into spawn.h.
31539         * modules/stdio (Depends-on): Add arg-nonnull.
31540         (Makefile.am): Insert arg-nonnull.h into stdio.h.
31541         * modules/stdlib (Depends-on): Add arg-nonnull.
31542         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
31543         * modules/string (Depends-on): Add arg-nonnull.
31544         (Makefile.am): Insert arg-nonnull.h into string.h.
31545         * modules/strings (Depends-on): Add arg-nonnull.
31546         (Makefile.am): Insert arg-nonnull.h into strings.h.
31547         * modules/sys_socket (Depends-on): Add arg-nonnull.
31548         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
31549         * modules/sys_stat (Depends-on): Add arg-nonnull.
31550         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
31551         * modules/sys_time (Depends-on): Add arg-nonnull.
31552         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
31553         * modules/sys_times (Depends-on): Add arg-nonnull.
31554         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
31555         * modules/sys_utsname (Depends-on): Add arg-nonnull.
31556         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
31557         * modules/time (Depends-on): Add arg-nonnull.
31558         (Makefile.am): Insert arg-nonnull.h into time.h.
31559         * modules/unistd (Depends-on): Add arg-nonnull.
31560         (Makefile.am): Insert arg-nonnull.h into unistd.h.
31561         * modules/wchar (Depends-on): Add arg-nonnull.
31562         (Makefile.am): Insert arg-nonnull.h into wchar.h.
31563         * modules/argv-iter (Depends-on): Add arg-nonnull.
31564         * tests/test-canonicalize.c (null_ptr): New function.
31565         (main): Use it.
31566         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
31567         (main): Use it.
31568         * tests/test-memmem.c (null_ptr): New function.
31569         (main): Use it.
31570         Reported by Jim Meyering.
31571
31572 2009-12-10  Bruno Haible  <bruno@clisp.org>
31573
31574         Use spaces for indentation, not tabs.
31575         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31576         * m4/*.m4: Untabify.
31577         * build-aux/*.h: Untabify.
31578         * tests/**/*.[hc]: Untabify.
31579         * README: New section "Indent with spaces, not TABs", based on
31580         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
31581         * NEWS: Mention the change.
31582
31583 2009-12-10  Bruno Haible  <bruno@clisp.org>
31584
31585         pty test: Fix link error.
31586         * modules/pty-tests (Makefile.am): Add the default LDADD value to
31587         test_pty_LDADD.
31588
31589 2009-12-07  Simon Josefsson  <simon@josefsson.org>
31590
31591         * modules/pty: New file.
31592         * modules/pty-tests: New file.
31593         * m4/pty.m4: New file.
31594         * tests/test-pty.c: New file.
31595         * doc/glibc-headers/pty.texi: Modified.
31596         * doc/glibc-functions/forkpty.texi: Modified.
31597         * doc/glibc-functions/openpty.texi: Modified.
31598
31599 2009-12-10  Bruno Haible  <bruno@clisp.org>
31600
31601         Avoid syntax error in C++ mode.
31602         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
31603
31604 2009-12-10  Bruno Haible  <bruno@clisp.org>
31605
31606         Use sed with option -e.
31607         * gnulib-tool (func_version, func_emit_copyright_notice,
31608         func_emit_initmacro_end, func_import, func_create_testdir): Pass
31609         option -e to sed.
31610         * modules/link-warning (Makefile.am): Likewise.
31611
31612 2009-12-10  Jim Meyering  <meyering@redhat.com>
31613
31614         mgetgroups: do not write bytes beyond end of malloc'd buffer
31615         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
31616         username, we call getgroups with a one-element-shorter buffer,
31617         but still told it the length was original, max_n_groups.
31618
31619 2009-12-09  Eric Blake  <ebb9@byu.net>
31620
31621         cloexec: relax license
31622         * modules/cloexec (Maintainer): Add myself.
31623         (License): Use LGPL, not GPL.
31624
31625         link-warning: optimize generation
31626         * modules/link-warning (Makefile.am): Reduce process usage.
31627
31628 2009-12-09  Bruno Haible  <bruno@clisp.org>
31629
31630         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
31631         workaround was added on 2009-11-17.
31632
31633 2009-12-09  Jim Meyering  <meyering@redhat.com>
31634             Bruno Haible  <bruno@clisp.org>
31635
31636         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
31637         * modules/link-warning (Makefile.am): Make the comment-removing sed
31638         command more robust in the face of bootstrap-prepended comment lines.
31639
31640 2009-12-09  Bruno Haible  <bruno@clisp.org>
31641
31642         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
31643         most one group.
31644
31645 2009-12-09  Simon Josefsson <simon@josefsson.org>
31646             Bruno Haible  <bruno@clisp.org>
31647
31648         * build-aux/link-warning.h: Add copyright notice.
31649         * modules/link-warning (Makefile.am): Generate link-warning.h from
31650         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
31651         * NEWS: Mention change in link-warning module.
31652         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
31653         * modules/dirent (Makefile.am): Add dependency to dirent.h.
31654         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
31655         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
31656         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
31657         * modules/math (Makefile.am): Add dependency to math.h.
31658         * modules/search (Makefile.am): Add dependency to search.h.
31659         * modules/signal (Makefile.am): Add dependency to signal.h.
31660         * modules/spawn (Makefile.am): Add dependency to spawn.h.
31661         * modules/stdio (Makefile.am): Add dependency to stdio.h.
31662         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
31663         * modules/string (Makefile.am): Add dependency to string.h.
31664         * modules/strings (Makefile.am): Add dependency to strings.h.
31665         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
31666         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
31667         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
31668         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
31669         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
31670         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
31671         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
31672         * modules/unistd (Makefile.am): Add dependency to unistd.h.
31673         * modules/wchar (Makefile.am): Add dependency to wchar.h.
31674
31675 2009-12-09  Bruno Haible  <bruno@clisp.org>
31676
31677         fchdir: Optimize away rpl_fstat when possible.
31678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
31679         REPLACE_OPEN_DIRECTORY.
31680         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
31681
31682 2009-12-09  Bruno Haible  <bruno@clisp.org>
31683
31684         * lib/fchdir.c: Update comment.
31685
31686 2009-12-09  Bruno Haible  <bruno@clisp.org>
31687
31688         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
31689
31690 2009-12-08  Eric Blake  <ebb9@byu.net>
31691
31692         fchdir: avoid memory leak on re-registration.
31693         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
31694
31695 2009-12-08  Jim Meyering  <meyering@redhat.com>
31696
31697         init.sh: avoid Solaris 10 /bin/sh portability problem
31698         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
31699         sourced script:
31700           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
31701           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
31702           bar
31703         tests/init.sh relied on that, accepting a --set-path=DIR argument,
31704         and two tests used that idiom.
31705         * tests/init.sh: Update suggested usage comments.
31706         (path_prepend_): New function, to be used in place
31707         of the --src-path=DIR option.
31708         (setup_): Move PATH-prepending code into path_prepend_.
31709         * tests/test-pread.sh: Adapt to new usage.
31710         * tests/test-xalloc-die.sh: Likewise.
31711
31712 2009-12-08  Simon Josefsson  <simon@josefsson.org>
31713
31714         * doc/gnulib.texi (Glibc pty.h): Add.
31715         * doc/glibc-functions/forkpty.texi: Add.
31716         * doc/glibc-functions/openpty.texi: Add.
31717         Suggested by Bruno Haible.
31718
31719 2009-12-08  Eric Blake  <ebb9@byu.net>
31720
31721         fchdir: fix logic bugs
31722         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
31723         * tests/test-fchdir.c (main): Enhance test.
31724         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
31725         is in use.
31726
31727         dup2: fix logic bugs
31728         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
31729         REPLACE_DUP2 to decide when rpl_dup2 is needed.
31730         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
31731         exists.
31732         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
31733
31734 2009-12-07  Eric Blake  <ebb9@byu.net>
31735
31736         unlink: fix m4 detection
31737         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
31738
31739         unistd-safer: add unit test
31740         * modules/unistd-safer-tests: New file.
31741         * tests/test-dup-safer.c: Likewise.
31742         * tests/test-cloexec.c (setmode): Avoid compiler warning.
31743         * tests/test-dup2.c (setmode): Likewise.
31744         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
31745
31746         cloexec: preserve text vs. binary across dup_cloexec
31747         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
31748         mode.
31749         * modules/dup2-tests (Depends-on): Add binary-io.
31750         * modules/cloexec-tests (Depends-on): Likewise.
31751         * tests/test-dup2.c (setmode, is_mode): New helpers.
31752         (main): Add tests that translation mode is preserved.
31753         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
31754         Reported by Bruno Haible.
31755
31756         mgetgroups: reduce duplicate listings
31757         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
31758         resulting array.
31759         * tests/test-chown.h (test_chown): Simplify client.
31760         * tests/test-lchown.h (test_lchown): Likewise.
31761
31762 2009-12-06  Bruno Haible  <bruno@clisp.org>
31763
31764         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
31765         value.
31766
31767 2009-12-06  Bruno Haible  <bruno@clisp.org>
31768
31769         * lib/progname.c: Include stdio.h, stdlib.h.
31770         (set_program_name): Reject a NULL argument.
31771
31772 2009-12-05  Eric Blake  <ebb9@byu.net>
31773
31774         pipe2-safer: new module
31775         * modules/pipe2-safer: New file.
31776         * lib/unistd-safer.h (pipe2_safer): New prototype.
31777         * lib/unistd--.h (pipe2): New wrapper.
31778         * lib/pipe-safer.c (pipe2_safer): New function.
31779         * modules/pipe (Depends-on): Add pipe2-safer.
31780         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
31781
31782         stdlib-safer: preserve cloexec flag for mkostemp[s]
31783         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
31784         fd_safer_flag.
31785
31786         unistd-safer: allow preservation of cloexec status via flag
31787         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
31788         prototypes.
31789         * lib/dup-safer.c (dup_safer_flag): New function.
31790         * lib/fd-safer.c (fd_safer_flag): Likewise.
31791         * modules/cloexec (configure.ac): Set witness.
31792
31793         test-dup2: enhance test
31794         * modules/dup2-tests (Depends-on): Add cloexec.
31795         * tests/test-dup2.c (main): Enhance test.
31796
31797         cloexec: add dup_cloexec
31798         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
31799         header and comments.
31800         * lib/cloexec.c (set_cloexec_flag): Add comments.
31801         (dup_cloexec): New function, with mingw implementation borrowed
31802         from...
31803         * lib/w32spawn.h (dup_noinherit): ...here.
31804         * modules/execute (Depends-on): Add cloexec.
31805         * modules/pipe (Depends-on): Likewise.
31806         * modules/cloexec (Depends-on): Add dup2.
31807         * modules/cloexec-tests (Files): New file.
31808         * tests/test-cloexec.c: Likewise.
31809
31810         test-xalloc-die: fix test for mingw
31811         * modules/xalloc-die-tests (Files): Add tests/init.sh.
31812         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
31813         directory and .exe suffix off argv[0] output.
31814
31815         test-fseeko: fix test for mingw
31816         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
31817         than undefining fseek, so test will pass on mingw.
31818
31819 2009-12-05  Bruno Haible  <bruno@clisp.org>
31820
31821         * lib/progname.h (set_program_name): Clarify specification.
31822         * lib/progname.c (set_program_name): Likewise.
31823         Reported by Jim Meyering.
31824
31825 2009-12-05  Jim Meyering  <meyering@redhat.com>
31826
31827         maint.mk: backslash-escape parens in default regexp
31828         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
31829         backslash-escape the literal parentheses.
31830
31831         maint.mk: news-date-check: use grep -E
31832         * top/maint.mk (today): Define a Make variable, not a...
31833         (news-date-check): ...shell variable.
31834         (news-date-regexp): Use the Make variable.
31835         Use grep's -E option.  Change the failing diagnostic to mention
31836         the variable, $(news-date-regexp).
31837
31838 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
31839
31840         maintainer-makefile: allow customization of NEWS entry format
31841         * top/maint.mk (news-date-regexp): New overridable variable.
31842         (news-date-check): Use it.
31843
31844 2009-12-04  Eric Blake  <ebb9@byu.net>
31845
31846         mgetgroups: add xgetgroups, and avoid ENOSYS failures
31847         * lib/mgetgroups.h (xgetgroups): New prototype.
31848         * lib/mgetgroups.c (xgetgroups): New wrapper.
31849         (mgetgroups): Handle ENOSYS.
31850         * modules/mgetgroups (Depends-on): Add realloc.
31851         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
31852
31853         mgetgroups: avoid argument promotion issues with -1
31854         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
31855         for invalid gid_t.
31856         * tests/test-chown.h (getegid, test_chown): Likewise.
31857         * tests/test-lchown.h (getegid, test_lchown): Likewise.
31858
31859 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
31860
31861         exclude: Fix header file problems.
31862         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
31863
31864 2009-12-01  Jim Meyering  <meyering@redhat.com>
31865
31866         fts: fts_open: do not let an empty string cause immediate failure
31867         This is required in support of GNU rm, for which the command
31868         "rm A '' B" must process and remove both A and B, in spite of
31869         the empty string argument.
31870         * lib/fts.c (fts_open): Do not let the presence of an empty string
31871         cause fts_open to fail immediately.  Most fts-using tools must be
31872         able to process all arguments, in order, and can be expected to
31873         diagnose such arguments themselves.
31874
31875 2009-11-30  Eric Blake  <ebb9@byu.net>
31876
31877         utimens: fix compilation error
31878         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
31879         Declare variable at right scope.
31880
31881 2009-11-29  Jim Meyering  <meyering@redhat.com>
31882
31883         bootstrap: handle perl-5.11's changed --version output
31884         * build-aux/bootstrap (get_version): Handle perl separately,
31885         since perl-5.11's --version output is different.
31886
31887 2009-11-28  Jim Meyering  <meyering@redhat.com>
31888
31889         userspec: depend on the inttostr module, too
31890         * modules/userspec (Depends-on): Add inttostr.
31891
31892         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
31893         * lib/userspec.c (parse_with_separator): Do not accept a user ID
31894         number of MAXUID when it evaluates to (uid_t) -1.
31895         Likewise for group ID.  Reported by Matt McCutchen in
31896         <http://savannah.gnu.org/bugs/?28113>
31897
31898         userspec: reformat to use spaces, not TABs
31899         * lib/userspec.c: Expand TABs to spaces.
31900         Add Emacs' "indent-tabs-mode: nil" hint.
31901
31902 2009-11-27  Eric Blake  <ebb9@byu.net>
31903
31904         getopt-gnu: flush out another BSD bug
31905         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
31906         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
31907         flush out BSD bug.
31908         * tests/test-getopt.h (test_getopt): End lists with NULL.
31909         * tests/test-getopt_long.h (test_getopt_long): Likewise.
31910         (test_getopt_long_posix): Enhance test.
31911         * modules/getopt-posix-tests (Depends-on): Add stdbool.
31912         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
31913         getopt-gnu.
31914         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31915         Likewise.
31916
31917 2009-11-27  Simon Josefsson  <simon@josefsson.org>
31918
31919         * modules/idpriv-droptemp-tests (Notice): Fix text.
31920
31921 2009-11-27  Jim Meyering  <meyering@redhat.com>
31922
31923         test-xalloc-die: avoid spurious failure due to libtool argv difference
31924         In a libtool-enabled project, this test would fail due to a difference
31925         in the emitted program name, e.g.,
31926         -test-xalloc-die: memory exhausted
31927         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
31928         Use program to avoid that.
31929         * modules/xalloc-die-tests (Depends-on): Add progname.
31930         * tests/test-xalloc-die.c: Include progname.h".
31931         (program_name): Remove decl.
31932         (main): Call set_program_name.
31933         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
31934
31935 2009-11-26  Richard Jones  <rjones@redhat.com>
31936
31937         w32sock: leave win32 error in place.
31938         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
31939
31940 2009-11-26  Eric Blake  <ebb9@byu.net>
31941
31942         init.sh: suggest to use skip_ and fail_ functions in comments
31943         * tests/init.sh: Add a sentence.
31944
31945 2009-11-25  Bruno Haible  <bruno@clisp.org>
31946
31947         init.sh: add documentation in comments
31948         * tests/init.sh: Add some developer and user documentation.
31949
31950 2009-11-26  Jim Meyering  <meyering@redhat.com>
31951
31952         init.sh: accommodate even those who specify bogus srcdir manually
31953         * tests/init.sh: Normally, srcdir is guaranteed by automake and
31954         configure-time tests to be sanitized, so that there is no need to
31955         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
31956         (with no double quotes) suffices.  However, since tests may be
31957         invoked manually, and since you may explicitly set srcdir to the
31958         name of a directory containing spaces, do quote its uses here.
31959         * tests/test-pread.sh: Likewise.
31960         Suggested by Bruno Haible.
31961
31962         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
31963         * tests/test-pread.sh: Write no data into the pipe, because
31964         test-pread actually reads none.  This avoids a diagnostic,
31965         "bash: echo: write error: Broken pipe", that arises in the unusual
31966         event something is ignoring SIGPIPE, and might be interpreted
31967         as some sort of failure.  Reported by Bruno Haible.
31968
31969 2009-11-25  Jim Meyering  <meyering@redhat.com>
31970
31971         test-pread: cover failure with ESPIPE and EINVAL
31972         * tests/test-pread.c (main): Test for failure, too.
31973         * tests/test-pread.sh: Invoke with stdin on a pipe.
31974         Suggested by Eric Blake.
31975
31976         pread: improvement and fix
31977         * modules/pread (Depends-on): Depend on lseek, for portability to
31978         e.g., mingw.  Suggested by Eric Blake.
31979         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
31980
31981         unistd.in.h: correct declaration of pread
31982         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
31983         Reported by Richard W.M. Jones.
31984
31985         test-pread.sh: distribute the test script
31986         * modules/pread-tests (Files): Include test-pread.sh.
31987
31988         test-pread.sh: clean up
31989         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
31990         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
31991         That is unnecessary, since it's always ".".
31992         Suggestion from Eric Blake.
31993
31994         test-pread.sh: make executable
31995         * tests/test-pread.sh: Set executable bit.
31996         Reported by Eric Blake.
31997
31998         correct typo in test-pread.sh
31999         * tests/test-pread.sh: Add #! line.
32000
32001         test pread
32002         * tests/test-pread.c: New file.
32003         * tests/test-pread.sh: Likewise.
32004         * modules/pread-tests: Likewise.
32005
32006         pread: new module
32007         * modules/pread: New file.
32008         * lib/unistd.in.h (pread): Define/declare.
32009         * lib/pread.c (pread): New file.
32010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
32011         * modules/unistd (Makefile.am): Substitute witnesses.
32012         * doc/posix-functions/pread.texi (pread): Update.
32013         * MODULES.html.sh: Add pread.
32014
32015 2009-11-25  Jim Meyering  <meyering@redhat.com>
32016
32017         tests/init.sh: new file to be used via most *.sh tests
32018         * tests/init.sh: New file.
32019
32020 2009-11-25  Eric Blake  <ebb9@byu.net>
32021
32022         utimens: work around older Linux failure with symlinks
32023         * lib/utimens.c (lutimensat_works_really): New variable.
32024         (fdutimens, lutimens): Use it to manage kernels that support
32025         nanosecond times on files, but not on symlinks.
32026         Reported by OndÅ™ej Vašík.
32027
32028         utimes: fix configure grammar
32029         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
32030
32031 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
32032
32033         regex: Fix fastmap for multibyte character ranges.
32034         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
32035         characters when a multibyte character range is included.
32036
32037 2009-11-22  Andy Wingo  <wingo@pobox.com>
32038
32039         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
32040         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
32041
32042 2009-11-24  Bruno Haible  <bruno@clisp.org>
32043
32044         doc: Most *_l functions exist in MacOS X 10.5.
32045         * doc/posix-functions/duplocale.texi: Update platforms list.
32046         * doc/posix-functions/freelocale.texi: Likewise.
32047         * doc/posix-functions/newlocale.texi: Likewise.
32048         * doc/posix-functions/uselocale.texi: Likewise.
32049         * doc/posix-functions/isalnum_l.texi: Likewise.
32050         * doc/posix-functions/isalpha_l.texi: Likewise.
32051         * doc/posix-functions/isblank_l.texi: Likewise.
32052         * doc/posix-functions/iscntrl_l.texi: Likewise.
32053         * doc/posix-functions/isdigit_l.texi: Likewise.
32054         * doc/posix-functions/isgraph_l.texi: Likewise.
32055         * doc/posix-functions/islower_l.texi: Likewise.
32056         * doc/posix-functions/isprint_l.texi: Likewise.
32057         * doc/posix-functions/ispunct_l.texi: Likewise.
32058         * doc/posix-functions/isspace_l.texi: Likewise.
32059         * doc/posix-functions/isupper_l.texi: Likewise.
32060         * doc/posix-functions/iswalnum_l.texi: Likewise.
32061         * doc/posix-functions/iswalpha_l.texi: Likewise.
32062         * doc/posix-functions/iswblank_l.texi: Likewise.
32063         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32064         * doc/posix-functions/iswctype_l.texi: Likewise.
32065         * doc/posix-functions/iswdigit_l.texi: Likewise.
32066         * doc/posix-functions/iswgraph_l.texi: Likewise.
32067         * doc/posix-functions/iswlower_l.texi: Likewise.
32068         * doc/posix-functions/iswprint_l.texi: Likewise.
32069         * doc/posix-functions/iswpunct_l.texi: Likewise.
32070         * doc/posix-functions/iswspace_l.texi: Likewise.
32071         * doc/posix-functions/iswupper_l.texi: Likewise.
32072         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32073         * doc/posix-functions/isxdigit_l.texi: Likewise.
32074         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
32075         * doc/posix-functions/strcasecmp_l.texi: Likewise.
32076         * doc/posix-functions/strcoll_l.texi: Likewise.
32077         * doc/posix-functions/strfmon_l.texi: Likewise.
32078         * doc/posix-functions/strftime_l.texi: Likewise.
32079         * doc/posix-functions/strncasecmp_l.texi: Likewise.
32080         * doc/posix-functions/strxfrm_l.texi: Likewise.
32081         * doc/posix-functions/tolower_l.texi: Likewise.
32082         * doc/posix-functions/toupper_l.texi: Likewise.
32083         * doc/posix-functions/towctrans_l.texi: Likewise.
32084         * doc/posix-functions/towlower_l.texi: Likewise.
32085         * doc/posix-functions/towupper_l.texi: Likewise.
32086         * doc/posix-functions/wcscoll_l.texi: Likewise.
32087         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32088         * doc/posix-functions/wctrans_l.texi: Likewise.
32089         * doc/posix-functions/wctype_l.texi: Likewise.
32090         * doc/glibc-functions/strptime_l.texi: Likewise.
32091         * doc/glibc-functions/strtod_l.texi: Likewise.
32092         * doc/glibc-functions/strtof_l.texi: Likewise.
32093         * doc/glibc-functions/strtol_l.texi: Likewise.
32094         * doc/glibc-functions/strtold_l.texi: Likewise.
32095         * doc/glibc-functions/strtoll_l.texi: Likewise.
32096         * doc/glibc-functions/strtoul_l.texi: Likewise.
32097         * doc/glibc-functions/strtoull_l.texi: Likewise.
32098         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32099         * doc/glibc-functions/wcstod_l.texi: Likewise.
32100         * doc/glibc-functions/wcstof_l.texi: Likewise.
32101         * doc/glibc-functions/wcstol_l.texi: Likewise.
32102         * doc/glibc-functions/wcstold_l.texi: Likewise.
32103         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32104         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32105         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32106
32107 2009-11-24  Bruno Haible  <bruno@clisp.org>
32108
32109         duplocale: Fix logic bug.
32110         * lib/duplocale.c: Don't include <langinfo.h>.
32111         (_NL_LOCALE_NAME): Remove macro.
32112         (rpl_duplocale): Use setlocale instead of nl_langinfo.
32113         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
32114
32115 2009-11-23  Jim Meyering  <meyering@redhat.com>
32116
32117         test-update-copyright: don't hard-code /usr/bin/perl
32118         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
32119         perl to print the current year.  Gilles Espinasse reported that
32120         the replaced use of perl was hard-coded as /usr/bin/perl.
32121
32122 2009-11-23  Bruno Haible  <bruno@clisp.org>
32123
32124         duplocale: Add support for glibc 2.3.x.
32125         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
32126
32127 2009-11-22  Bruno Haible  <bruno@clisp.org>
32128
32129         vasnprintf: Tiny optimization.
32130         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
32131         MacOS X.
32132
32133 2009-11-22  Bruno Haible  <bruno@clisp.org>
32134
32135         Tests for module 'duplocale'.
32136         * modules/duplocale-tests: New file.
32137         * tests/test-duplocale.c: New file.
32138
32139         New module 'duplocale'.
32140         * m4/duplocale.m4: New file.
32141         * lib/locale.in.h (duplocale): New declaration.
32142         * lib/duplocale.c: New file.
32143         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
32144         gl_LOCALE_H_DEFAULTS): New macros.
32145         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
32146         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
32147         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
32148         REPLACE_DUPLOCALE.
32149         * modules/duplocale: New file.
32150         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
32151
32152 2009-11-22  Bruno Haible  <bruno@clisp.org>
32153
32154         * modules/locale-tests (configure.ac): Test for newlocale function.
32155         * tests/test-locale.c: When the system has extended locale functions,
32156         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
32157
32158         locale: Make locale_t available when possible.
32159         * lib/locale.in.h: Include <xlocale.h> when it exists.
32160         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
32161         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
32162         * modules/locale (Depends-on): Add extensions.
32163         (Makefile.am): Also substitute HAVE_XLOCALE_H.
32164         * doc/posix-headers/locale.texi: Document the problem with locale_t.
32165
32166 2009-11-22  Bruno Haible  <bruno@clisp.org>
32167
32168         Add comments.
32169         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
32170         invocation.
32171         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
32172         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32173         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32174
32175 2009-11-22  Bruno Haible  <bruno@clisp.org>
32176
32177         error: account for the possibility of freopen (stdout).
32178         * lib/error.c: Include <unistd.h>.
32179         (flush_stdout): New function, extracted from error and error_at_line.
32180         Determine stdout's fd dynamically.
32181         (error, error_at_line): Invoke flush_stdout.
32182         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
32183         * modules/error (Depends-on): Add unistd.
32184
32185 2009-11-22  Bruno Haible  <bruno@clisp.org>
32186
32187         diffseq: Add comment.
32188         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
32189
32190 2009-11-22  Jim Meyering  <meyering@redhat.com>
32191
32192         c-stack: avoid defining an unused static function
32193         * lib/c-stack.c (find_stack_direction): Do not define this function
32194         when it will not be used.
32195
32196         diffseq: avoid spurious gcc warnings
32197         * lib/diffseq.h (IF_LINT2): Define.
32198         (compareseq): Use it to initialize two members of "part".
32199         This avoids two used-uninitialized warnings.
32200
32201 2009-11-21  Jim Meyering  <meyering@redhat.com>
32202
32203         c-stack: avoid "ignoring return value of `write'" warning
32204         * lib/c-stack.c: Include "ignore-value.h".
32205         (die): Explicitly ignore each write return value.
32206         * modules/c-stack (Depends-on): Add ignore-value.
32207
32208 2009-11-21  Bruno Haible  <bruno@clisp.org>
32209
32210         diffseq: reduce scope of variable 'best'.
32211         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
32212         variable, earlier used for two different purposes.
32213
32214 2009-11-21  Jim Meyering  <meyering@redhat.com>
32215
32216         diffseq: remove useless assignment to "best"
32217         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
32218         assignment.  At that point "best" is already guaranteed to be zero.
32219
32220 2009-11-20  Eric Blake  <ebb9@byu.net>
32221
32222         build: mention ftp redirector in release announcements
32223         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
32224         values that used to come from cfg.mk; mention FTP redirect URL.
32225         * build-aux/announce-gen: Mention the mirror list.
32226         Suggested by Karl Berry.
32227
32228         nanosleep: improve port to mingw
32229         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
32230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
32231         LIB_NANOSLEEP, but only when needed.
32232         * modules/select (Link): Document LIBSOCKET.
32233         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
32234         enough.
32235
32236         nanosleep: work around cygwin bug
32237         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
32238         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
32239         bug.
32240         (getnow): Delete, not needed.
32241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
32242         LIB_CLOCK_GETTIME.
32243         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
32244         clock-time, gettime.
32245         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
32246         bug.
32247         * modules/nanosleep-tests: New test.
32248         * tests/test-nanosleep.c: New file.
32249
32250         sleep: work around cygwin bug
32251         * lib/sleep.c (rpl_sleep): Work around the bug.
32252         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
32253         (gl_PREREQ_SLEEP): Delete unused macro.
32254         * modules/sleep (Depends-on): Add verify.
32255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32256         * modules/unistd (Makefile.am): Substitute witness.
32257         * lib/unistd.in.h (sleep): Update prototype.
32258         * doc/posix-functions/sleep.texi (sleep): Document the bug.
32259         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
32260         * modules/sleep-tests (Depends-on): Check for alarm.
32261
32262 2009-11-20  Jim Meyering  <meyering@redhat.com>
32263
32264         maint.mk: improve sc_prohibit_magic_number_exit
32265         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
32266         so it does not match uses like System.exit(1).
32267         Add comments showing how to correct all offenders.
32268
32269 2009-11-19  Eric Blake  <ebb9@byu.net>
32270
32271         xalloc-die-tests: add missing library
32272         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
32273
32274         test-xvasprintf: silence compiler warnings
32275         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
32276         empty string from gcc.
32277
32278 2009-11-19  Jim Meyering  <meyering@redhat.com>
32279
32280         xfreopen: new module, from coreutils
32281         * modules/xfreopen: New module.
32282         * lib/xfreopen.c: New file.
32283         * lib/xfreopen.h: New file.
32284         * MODULES.html.sh (File stream based Input/Output"): Add it.
32285
32286 2009-11-19  Eric Blake  <ebb9@byu.net>
32287
32288         manywarnings: depend on warnings
32289         * modules/manywarnings (Depends-on): Add warnings.
32290
32291         build: avoid compiler warnings
32292         * lib/select.c (rpl_select): Delete unused variable.
32293         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
32294
32295 2009-11-18  Eric Blake  <ebb9@byu.net>
32296
32297         tests: avoid false negative with --with-packager
32298         * tests/test-version-etc.sh: Discard packager information.
32299         * tests/test-argp-version-etc-1.sh: Likewise.
32300         Reported by Mike Frysinger.
32301
32302         utimens: fix regression on Solaris
32303         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
32304         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
32305         can only change fd timestamps via futimesat.  Instead, use an
32306         additional witness macro to avoid BSD bug.
32307         Reported by Jim Meyering.
32308
32309 2009-11-17  Eric Blake  <ebb9@byu.net>
32310
32311         usleep: use it to simplify tests
32312         * modules/stat-time-tests (Depends-on): Add usleep.
32313         (configure.ac): Drop usleep check.
32314         * modules/chown-tests (Depends-on, configure.ac): Likewise.
32315         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
32316         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
32317         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
32318         * modules/openat-tests (Depends-on, configure.ac): Likewise.
32319         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
32320         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
32321         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
32322         Likewise.
32323         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
32324         * tests/test-lchown.h (nap): Likewise.
32325         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
32326         * tests/test-stat-time.c (nap): Likewise.
32327         * tests/test-utimens-common.h (nap): Update comments.
32328
32329         usleep: new module
32330         * modules/usleep: New file.
32331         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
32332         * lib/usleep.c (usleep): Likewise.
32333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32334         * modules/unistd (Makefile.am): Substitute witnesses.
32335         * lib/unistd.in.h (usleep): Add declaration.
32336         * doc/pastposix-functions/usleep.texi (usleep): Document this.
32337         * MODULES.html.sh (Date and time): Likewise.
32338         * modules/usleep-tests (Depends-on): New test.
32339         * tests/test-usleep.c: New file.
32340
32341         chown: work around OpenBSD bug
32342         * lib/chown.c (rpl_chown): Work around the bug.
32343         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
32344         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
32345         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
32346         * modules/chown (Depends-on): Add stdbool.
32347         * modules/lchown (Depends-on): Likewise.
32348         * doc/posix-functions/chown.texi (chown): Document the bug.
32349         * doc/posix-functions/lchown.texi (lchown): Likewise.
32350         * tests/test-lchown.h (test_chown): Relax test.
32351
32352         mkstemp: avoid conflict with C++ keyword template
32353         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
32354         * lib/mkostemp.c (mkostemp): Likewise.
32355         * lib/mkostemps.c (mkostemps): Likewise.
32356         * lib/mkstemp.c (mkstemp): Likewise.
32357         * lib/mkstemps.c (mkstemps): Likewise.
32358
32359         xalloc-die-tests: optimize
32360         * tests/test-xalloc-die.sh: Reduce number of processes.
32361
32362 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32363
32364         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
32365         patch from ludo@gnu.org (Ludovic Courtès).
32366
32367 2009-11-17  Jim Meyering  <meyering@redhat.com>
32368
32369         version-etc: use proper license string
32370         * modules/version-etc (License): Use LGPL, not LGPLv3+.
32371         * modules/version-etc-fsf: Likewise.
32372
32373 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32374
32375         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
32376         printed to stdout.  Deal with EOL differences.
32377
32378 2009-11-17  Eric Blake  <ebb9@byu.net>
32379
32380         unsetenv: work around Solaris bug
32381         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
32382         * lib/unsetenv.c (rpl_unsetenv): Work around it.
32383         Reported by Jim Meyering.
32384
32385         vasnprintf: avoid compiler warnings
32386         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
32387         variables.
32388         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
32389
32390 2009-11-17  Simon Josefsson  <simon@josefsson.org>
32391
32392         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
32393         settings since xalloc-die is no longer the self test,
32394         xalloc-die.sh is.
32395
32396 2009-11-17  Jim Meyering  <meyering@redhat.com>
32397
32398         test-xalloc-die.sh: make the code agree with the commit log
32399         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
32400         at the end, just in case you happen to have a test-xalloc-die
32401         program in some other PATH directory.
32402
32403         test-xalloc-die.sh: fix a portability bug
32404         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
32405         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
32406         Otherwise, argv[0] (as often seen in diagnostics) would be too
32407         system-dependent, sometimes with, and sometimes without the leading "./".
32408
32409         version-etc-fsf: relax license to LGPLv3+
32410         * modules/version-etc-fsf (License): Relax license.
32411
32412 2009-11-16  Eric Blake  <ebb9@byu.net>
32413
32414         xalloc-die-tests: avoid printing null pointer
32415         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
32416         shell script.
32417         * tests/test-xalloc-die.c (program_name): Declare.
32418         * tests/test-xalloc-die.sh (tmpfiles): New file.
32419
32420         setenv, unsetenv: work around various bugs
32421         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
32422         (setenv) [HAVE_SETENV]: Work around bugs.
32423         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
32424         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
32425         for bugs.
32426         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
32427         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
32428         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
32429         * modules/stdlib (Makefile.am): Update substitutions.
32430         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
32431         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
32432         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
32433         * modules/setenv-tests: New test.
32434         * modules/unsetenv-tests: Likewise.
32435         * tests/test-setenv.c: New file.
32436         * tests/test-unsetenv.c: Likewise.
32437
32438 2009-11-16  Jim Meyering  <meyering@redhat.com>
32439
32440         version-etc: relax license to LGPLv3+
32441         * modules/version-etc (License): Relax license.
32442
32443         better AC_REQUIRE expanded-before-required-warning avoidance
32444         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
32445         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
32446         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
32447         which is no longer needed.
32448
32449 2009-11-16  Eric Blake  <ebb9@byu.net>
32450
32451         test-freading: clean up temporary file
32452         * tests/test-freading.c (main): Remove file on success, and use
32453         ASSERT more liberally.
32454         Reported by Jim Meyering.
32455
32456 2009-11-16  Jim Meyering  <meyering@redhat.com>
32457
32458         avoid new AC_REQUIRE expanded-before-required warnings
32459         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
32460         merely using it.
32461         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
32462         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
32463
32464 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32465
32466         * tests/test-xalloc-die.c: New file.
32467         * modules/xalloc-die-tests: New file.
32468         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
32469         XFAIL_TESTS so it can be appended by modules.
32470
32471 2009-11-15  Simon Josefsson  <simon@josefsson.org>
32472
32473         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
32474         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
32475
32476 2009-11-14  Eric Blake  <ebb9@byu.net>
32477
32478         fnmatch: avoid compiler warning
32479         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
32480         to silence compiler warning about mismatch signedness in ?:.
32481         Reported by Robert Millan.
32482
32483         intprops: add double-inclusion guard
32484         * lib/intprops.h: Allow idempotent includes.
32485         Suggested by Bruce Korb.
32486
32487         openat: detect Solaris fchownat bug
32488         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
32489         penalizing glibc chownat when only lchownat is broken.
32490         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
32491         trailing slash bugs.
32492         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
32493         * modules/openat-tests (Files): Include more files.
32494         (Depends-on): Add mgetgroups, sleep, stat-time.
32495         (configure.ac): Add additional checks.
32496         (Makefile.am): Build new test.
32497         * tests/test-fchownat.c: New file.
32498
32499         lchown: detect Solaris and FreeBSD bug
32500         * lib/lchown.c (rpl_lchown): Work around bug.
32501         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
32502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32503         * modules/unistd (Makefile.am): Populate it.
32504         * lib/unistd.in.h (lchown): Update declaration.
32505         * doc/posix-functions/lchown.texi (lchown): Document the bug.
32506         * modules/lchown-tests: New file.
32507         * tests/test-lchown.h (test_lchown): Likewise.
32508         * tests/test-lchown.c (main): Likewise.
32509
32510         chown: detect Solaris and FreeBSD bug
32511         * lib/chown.c (rpl_chown): Work around bug.
32512         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
32513         (gl_PREREQ_CHOWN): Delete.
32514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32515         * modules/unistd (Makefile.am): Populate it.
32516         * lib/unistd.in.h (chown): Update declaration.
32517         * lib/lchown.c (chown): Update client.
32518         * modules/lchown (Depends-on): Add lstat.
32519         * doc/posix-functions/chown.texi (chown): Document the bug.
32520         * doc/posix-functions/getgroups.texi (getgroups): Document
32521         getgroups pitfall.
32522         * modules/chown-tests: New file.
32523         * tests/test-chown.h (test_chown): Likewise.
32524         * tests/test-chown.c (main): Likewise.
32525
32526 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
32527
32528         gnulib-tool: correctly detect absence of m4 directories
32529         * gnulib-tool: Avoid extra newline on data passed to wc -l.
32530
32531 2009-11-14  Jim Meyering  <meyering@redhat.com>
32532
32533         maint.mk: Prohibit inclusion of "xalloc.h" without use.
32534         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32535
32536 2009-11-14  John W. Eaton  <jwe@gnu.org>
32537
32538         strftime.h: wrap funtion declaration in extern "C" block
32539         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
32540
32541 2009-11-13  Eric Blake  <ebb9@byu.net>
32542
32543         getgroups: avoid compiler warning
32544         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
32545
32546         getgroups: work around FreeBSD bug
32547         * lib/getgroups.c (rpl_getgroups): Work around the bug.
32548         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
32549         * doc/posix-functions/getgroups.texi (getgroups): Document it.
32550         * tests/test-getgroups.c (main): Fix buffer overrun.
32551
32552         getgroups: avoid compilation failure
32553         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
32554         * modules/getgroups (Depends-on): Add stdint.
32555
32556 2009-11-13  Jim Meyering  <meyering@redhat.com>
32557
32558         test-getgroups: avoid compilation failure
32559         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
32560
32561 2009-11-13  Eric Blake  <ebb9@byu.net>
32562
32563         mgetgroups: new module, taken from coreutils
32564         * modules/mgetgroups: New file.
32565         * lib/mgetgroups.h: Likewise.
32566         * lib/mgetgroups.c (mgetgroups): Likewise.
32567         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
32568         * MODULES.html.sh (Users and groups): Mention it.
32569
32570         getgroups: don't expose GETGROUPS_T to user
32571         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
32572         an element at a time if GETGROUPS_T is wrong size.
32573         * lib/getugroups.h (getugroups): Change signature.
32574         * lib/unistd.in.h (getgroups): Likewise.
32575         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
32576         signature needs fixing.
32577         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
32578         AC_TYPE_GETGROUPS.
32579         * modules/group-member (Depends-on): Add getgroups.
32580         * lib/group-member.c (group_info, get_group_info): Use gid_t.
32581         (group_member): Rely on getgroups replacement.
32582         * lib/getugroups.c (getugroups): Use gid_t.
32583         * tests/test-getgroups.c (main): Likewise.
32584         * NEWS: Mention the signature change.
32585         * doc/posix-functions/getgroups.texi (getgroups): Mention the
32586         problem with signature.
32587         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
32588         GETGROUPS_T is still useful for setgroups.
32589
32590         getgroups, getugroups: provide stubs for mingw
32591         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
32592         * lib/getugroups.c (getugroups): Likewise.
32593         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
32594         function.  Modernize replacement scheme.
32595         (gl_PREREQ_GETGROUPS): Delete.
32596         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
32597         * modules/getgroups (configure.ac): Declare witness.
32598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
32599         * modules/unistd (Depends-on): Substitute witness.
32600         * lib/unistd.in.h (getgroups): Declare replacement.
32601
32602         getgroups: avoid calling exit
32603         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
32604         drop xalloc.
32605         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
32606         dependencies.
32607         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
32608         exiting, in the rare case of malloc failure.
32609
32610         getgroups: fix logic error
32611         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
32612         has more than 20 groups.
32613         * modules/getgroups-tests: New test.
32614         * tests/test-getgroups.c: New file.
32615
32616 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32617
32618         * tests/test-base64.c: Improve.
32619
32620 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32621
32622         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
32623         Blake <ebb9@byu.net>.
32624
32625 2009-11-13  Simon Josefsson  <simon@josefsson.org>
32626
32627         * tests/test-xvasprintf.c: Add %s%s related checks.
32628
32629 2009-11-12  Eric Blake  <ebb9@byu.net>
32630
32631         version-etc: match standards.texi style
32632         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
32633         and use <> only for URLs.
32634
32635 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
32636
32637         fts: do not fail on a submount during traversal
32638         * lib/fts.c (fts_build): Read the stat info again after opening
32639         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
32640         Original report at http://bugzilla.redhat.com/501848.
32641
32642 2009-11-12  Jim Meyering  <meyering@redhat.com>
32643
32644         bootstrap: sync from coreutils
32645         * build-aux/bootstrap (bootstrap_epilogue): New function.
32646         Use git_modules_config in one more place.  This make bootstrap's
32647         --gnulib-srcdir option more useful for testing.
32648
32649         bootstrap: generalize autoheader check
32650         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
32651         AC_CONFIG_HEADERS.
32652
32653 2009-11-11  Eric Blake  <ebb9@byu.net>
32654
32655         mkfifoat: use new modules for Solaris and BSD bugs
32656         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
32657         * lib/mkfifoat.c (mknodat): Split...
32658         * lib/mknodat.c (mknodat): ...into new file.
32659         * modules/mkfifoat (Files): Ship new file.
32660         (Depends-on): Add mkfifo, mknod.
32661         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
32662         (Depends-on): Add symlink.
32663         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
32664         redundant with test_mkfifo.h.
32665         (do_mkfifoat, do_mknodat): New helpers.
32666
32667         mknod: new module
32668         * modules/mknod: New file.
32669         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
32670         * lib/mknod.c (mknod): Likewise.
32671         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32672         defaults.
32673         * modules/sys_stat (Makefile.am): Substitute them.
32674         * lib/sys_stat.in.h (mknod): Declare replacement.
32675         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32676         Document it.
32677         * doc/posix-functions/mknod.texi (mknod): Likewise.
32678         * modules/mknod-tests: New test.
32679         * tests/test-mknod.c: Likewise.
32680
32681         mkfifo: new module
32682         * modules/mkfifo: New file.
32683         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
32684         * lib/mkfifo.c (mkfifo): Likewise.
32685         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
32686         defaults.
32687         * modules/sys_stat (Makefile.am): Substitute them.
32688         * lib/sys_stat.in.h (mkfifo): Declare replacement.
32689         * MODULES.html.sh (Support for systems lacking POSIX:2008):
32690         Document it.
32691         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
32692         * modules/mkfifo-tests: New test.
32693         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
32694         from test-mkfifoat.c.
32695         * tests/test-mkfifo.c: New file.
32696
32697         readlink: detect FreeBSD bug
32698         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
32699         slash on symlink.
32700         * doc/posix-functions/readlink.texi (readlink): Document the bug.
32701         * tests/test-readlink.h (test_readlink): Enhance test.
32702
32703         symlink: detect FreeBSD bug
32704         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
32705         slash on symlink.
32706         * doc/posix-functions/symlink.texi (symlink): Document the bug.
32707         * tests/test-symlink.h (test_symlink): Enhance test.
32708
32709 2009-11-10  Eric Blake  <ebb9@byu.net>
32710
32711         link: detect FreeBSD bug
32712         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
32713         symlink.
32714         * doc/posix-functions/link.texi (link): Document the bug.
32715         * tests/test-link.h (test_link): Enhance test.
32716         * tests/test-linkat.c (main): Update caller.
32717
32718         unlink, remove: detect FreeBSD bug
32719         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
32720         slash on symlink.
32721         * doc/posix-functions/unlink.texi (unlink): Document the bug.
32722         * doc/posix-functions/remove.texi (remove): Likewise.
32723         * tests/test-unlink.h (test_unlink): Enhance test.
32724         * tests/test-remove.c (main): Likewise.
32725
32726 2009-11-09  Eric Blake  <ebb9@byu.net>
32727
32728         rename: detect FreeBSD bug
32729         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
32730         slash on symlink.
32731         * modules/renameat-tests (Depends-on): Add filenamecat.
32732         * tests/test-rename.h (test_rename): Allow one more errno.
32733         * tests/test-renameat.c (main): Likewise.
32734         * doc/posix-functions/rename.texi (rename): Document the bug.
32735
32736         open: detect FreeBSD bug
32737         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
32738         symlink.
32739         * doc/posix-functions/open.texi (open): Document the bug.
32740         * doc/posix-functions/utimes.texi (utimes): Likewise.
32741         * tests/test-open.h (test_open): Add parameters, and test symlink
32742         handling.
32743         * tests/test-open.c (main): Adjust caller.
32744         * tests/test-fcntl-safer.c (main): Likewise.
32745         * modules/open-tests (Depends-on): Add stdbool, symlink.
32746         * modules/fcntl-safer-tests (Depends-on): Likewise.
32747         * tests/test-openat.c (main): Add test-open tests.
32748
32749         stat: detect FreeBSD bug
32750         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
32751         symlink.
32752         * doc/posix-functions/stat.texi (stat): Document the bug.
32753         * tests/test-stat.h (test_stat_func): Add argument.
32754         * tests/test-stat.c (main): Adjust caller.
32755         * tests/test-fstatat.c (main): Likewise.
32756         * modules/stat-tests (Depends-on): Add stdbool, symlink.
32757         Reported by Jim Meyering.
32758
32759 2009-11-09  James Youngman  <jay@gnu.org>
32760
32761         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
32762         * lib/strftime.c: Correct placement of #include "ignore-value.h".
32763
32764 2009-11-08  Jim Meyering  <meyering@redhat.com>
32765
32766         utimens: remove invalid futimesat call
32767         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
32768         It used the file descriptor of the target file as the DIR_FD
32769         parameter and NULL as the file name.  That caused failure with
32770         errno == EFAULT on FreeBSD-8.0-rc2
32771
32772 2009-11-07  Eric Blake  <ebb9@byu.net>
32773
32774         fflush, freadseek: use fseeko, not fseek
32775         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
32776         (clear_ungetc_buffer): Avoid potential problems on large files.
32777         * lib/freadseek.c (freadseek): Likewise.
32778         * modules/freadseek (Depends-on): Add fseeko.
32779         * modules/fseek (configure.ac): Set a witness.
32780         * tests/test-fflush.c (main): Use fseeko.
32781         * tests/test-fpurge.c (fseek): Disable link warning.
32782         * tests/test-freadable.c (fseek): Likewise.
32783         * tests/test-freading.c (fseek): Likewise.
32784         * tests/test-fseeko.c (fseek): Likewise.
32785         * tests/test-ftell.c (fseek): Likewise.
32786         * tests/test-ftello.c (fseek): Likewise.
32787         * tests/test-fwritable.c (fseek): Likewise.
32788         * tests/test-fwriting.c (fseek): Likewise.
32789
32790 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32791
32792         * modules/memchr (Depends-on): Drop getpagesize dependency.
32793
32794 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32795
32796         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
32797         Reported by Ludovic Courtès.
32798         * build-aux/pmccabe2html: Improve example usage.
32799         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
32800
32801 2009-11-06  Jim Meyering  <meyering@redhat.com>
32802
32803         do-release-commit-and-tag: New module.
32804         Automate the release-commit and tag process.
32805         * build-aux/do-release-commit-and-tag: New script, from coreutils.
32806         * modules/do-release-commit-and-tag: New file.
32807         * MODULES.html.sh (Support for maintaining and releasing): Add it.
32808
32809 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32810
32811         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
32812         because test-select.c uses inet_pton.
32813
32814 2009-11-06  Simon Josefsson  <simon@josefsson.org>
32815
32816         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
32817         GETADDRINFO_LIB.  Bump serial number.
32818         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
32819         Suggested by Eric Blake <ebb9@byu.net>.
32820
32821 2009-11-05  Eric Blake  <ebb9@byu.net>
32822
32823         strtod: detect darwin bug
32824         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
32825         Reported by Leo Davis.
32826
32827         freopen-safer: new module
32828         * modules/freopen-safer: New module.
32829         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
32830         * lib/freopen-safer.c (freopen_safer): New file.
32831         * lib/stdio-safer.h (freopen_safer): New declaration.
32832         * lib/stdio--.h (freopen): New override.
32833         * MODULES.html.sh (File stream based Input/Output): Mention it.
32834         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
32835         freopen-safer module.
32836         * doc/posix-functions/stderr.texi (stderr): Likewise.
32837         * doc/posix-functions/stdin.texi (stdin): Likewise.
32838         * doc/posix-functions/stdout.texi (stdout): Likewise.
32839         * modules/freopen-safer-tests: New test.
32840         * tests/test-reopen-safer.c: New file.
32841
32842 2009-11-05  Jim Meyering  <meyering@redhat.com>
32843
32844         maint.mk: Prohibit inclusion of "close-stream.h" without use.
32845         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
32846
32847 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32848
32849         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
32850
32851 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32852
32853         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
32854
32855 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32856
32857         Fix link error.
32858         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32859         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32860
32861 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32862
32863         * tests/test-func.c: Also test value of __func__.
32864
32865 2009-11-05  Simon Josefsson  <simon@josefsson.org>
32866
32867         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
32868         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
32869
32870 2009-11-05  Bruno Haible  <bruno@clisp.org>
32871
32872         Fix link error.
32873         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
32874         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32875         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
32876
32877 2009-11-05  Bruno Haible  <bruno@clisp.org>
32878
32879         Tests for module 'inet_pton'.
32880         * modules/inet_pton-tests: New file.
32881         * tests/test-inet_pton.c: New file.
32882
32883 2009-11-05  Bruno Haible  <bruno@clisp.org>
32884
32885         Tests for module 'inet_ntop'.
32886         * modules/inet_ntop-tests: New file.
32887         * tests/test-inet_ntop.c: New file.
32888
32889 2009-11-04  Eric Blake  <ebb9@byu.net>
32890
32891         stdlib-safer: wrap all mkstemp variants
32892         * modules/mkostemp (configure.ac): Set witness.
32893         * modules/mkostemps (configure.ac): Likewise.
32894         * modules/mkstemps (configure.ac): Likewise.
32895         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
32896         (mkstemps_safer): Wrap more functions.
32897         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
32898         wrapping.
32899         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
32900         (mkstemps_safer): Implement the wrappers.
32901
32902         mkstemps, mkostemps: new modules
32903         * modules/mkostemps: New module.
32904         * modules/mkstemps: Likewise.
32905         * lib/mkostemps.c (mkostemps): New file.
32906         * lib/mkstemps.c (mkstemps): Likewise.
32907         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
32908         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
32909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
32910         * modules/stdlib (Makefile.am): Substitute them.
32911         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
32912         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
32913         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
32914         * doc/gnulib.texi (Glibc stdlib.h): Include them.
32915         * MODULES.html.sh (File system functions): Mention them.
32916
32917         tempname: resync from glibc
32918         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
32919         same values for __GT_FILE as glibc.  Abort even when assertions
32920         are disabled.
32921         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
32922         match its value otherwise.  Allow idempotent inclusion.
32923         * lib/mkdtemp.c (mkdtemp): Adjust caller.
32924         * lib/mkostemp.c (mkostemp): Likewise.
32925         * lib/mkstemp.c (mkstemp): Likewise.
32926         * lib/tmpfile.c (tmpfile): Likewise.
32927         * NEWS: Document this.
32928
32929         utimens: fix use of futimens on older Linux
32930         * lib/utimens.c (fdutimens): Use updated, rather than original,
32931         timespec to avoid bug in older Linux kernel.
32932         Reported by Simon Josefsson.
32933
32934 2009-11-04  Bruno Haible  <bruno@clisp.org>
32935
32936         Make num_processors more flexible and consistent.
32937         * lib/nproc.h (enum nproc_query): New type.
32938         (num_processors): Add a 'query' argument.
32939         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
32940         (num_processors): Add a 'query' argument. Test the value of the
32941         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
32942         mingw, count the number of CPUs available for the current process.
32943         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
32944         Check for sched_getaffinity and sched_getaffinity_np.
32945         * modules/nproc (Depends-on): Add c-ctype, extensions.
32946         * NEWS: Mention the change.
32947
32948 2009-11-03  Bruno Haible  <bruno@clisp.org>
32949
32950         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
32951
32952 2009-11-03  Jim Meyering  <meyering@redhat.com>
32953
32954         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
32955         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
32956         if it is defined.
32957
32958 2009-11-02  Eric Blake  <ebb9@byu.net>
32959
32960         mktime, timegm: share common declaration
32961         * lib/mktime-internal.h: New file.
32962         * lib/mktime.c: Use it rather than open-coding a declaration.
32963         * lib/timegm.c: Likewise.
32964         * modules/mktime (Files): Ship it.
32965         * modules/timegm (Files): Likewise.
32966         Suggested by Bruno Haible.
32967
32968         test-update-copyright: update test to match script changes
32969         * tests/test-update-copyright.sh: Avoid hard-coding perl
32970         location.  Don't update *.bak created by earlier runs.
32971
32972 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32973             Simon Josefsson  <simon@josefsson.org>
32974             Bruno Haible  <bruno@clisp.org>
32975
32976         Fix link error on Solaris 8.
32977         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
32978         also in libnsl. Define also INET_PTON_LIB.
32979         * modules/inet_pton (Link): New section.
32980
32981 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32982             Bruno Haible  <bruno@clisp.org>
32983
32984         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
32985         * modules/inet_ntop (Link): New section.
32986         Reported by Boyan Kasarov <bkasarov@gmail.com>.
32987
32988 2009-11-02  Eric Blake  <ebb9@byu.net>
32989
32990         maint: avoid compiler warnings in m4 macros
32991         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
32992         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
32993
32994 2009-11-02  Simon Josefsson  <simon@josefsson.org>
32995
32996         * m4/pmccabe2html.m4: Remove file.
32997         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
32998         function.  Change maintainer.
32999         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
33000         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
33001         Courtès).
33002
33003 2009-10-31  Eric Blake  <ebb9@byu.net>
33004
33005         fseeko: fix m4 regression
33006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
33007         regression from 2009-10-27.
33008         Reported by Ralf Wildenhues.
33009
33010 2009-10-31  Jim Meyering  <meyering@redhat.com>
33011
33012         inttostr: aesthetics and improved (compile-time) safety
33013         Define inttype_is_signed rather than inttype_is_unsigned,
33014         since the sole use is via "#if inttype_is_signed".
33015         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
33016         inttype_is_unsigned.
33017         * lib/offtostr.c (inttype_is_signed): Likewise.
33018         * lib/uinttostr.c (inttype_is_signed): Likewise.
33019         * lib/umaxtostr.c (inttype_is_signed): Likewise.
33020         * lib/inttostr.c (inttostr): Use verify to cross-check the
33021         inttype_is_signed value and the signedness of the actual type.
33022         * modules/inttostr (Depends-on): Add verify.
33023
33024 2009-10-30  Eric Blake  <ebb9@byu.net>
33025
33026         build: avoid compiler warnings
33027         * lib/fchmodat.c (lchmod): Mark unused variables.
33028         * lib/getopt.c (_getopt_initialize): Likewise.
33029         * lib/mktime.c (__mktime_internal): Provide prototype.
33030         * lib/inttostr.c (inttostr): Avoid compiler warning even with
33031         older gcc that do not understand #pragma GCC diagnostic.
33032         * lib/uinttostr.c (inttype_is_unsigned): Define.
33033         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
33034
33035 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33036
33037         stat: fix compilation on AIX
33038         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
33039         only see struct stat64.
33040
33041 2009-10-30  Eric Blake  <ebb9@byu.net>
33042
33043         exclude: make more robust
33044         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
33045         rather than masking a coding bug.
33046         Suggested by Bruno Haible.
33047
33048 2009-10-30  Jim Meyering  <meyering@redhat.com>
33049
33050         perl scripts: remove #!/usr/bin/perl in favor of more portable...
33051         Rather than putting #!/usr/bin/perl on the first line,
33052         start with a variant of what's recommended by "man perlrun" that
33053         invokes the first "perl" program from your shell's search path.
33054         * build-aux/gitlog-to-changelog: Replace #!... as above.
33055         Add a "Local Variables" perl mode setting.
33056         Prompted by a patch from Ludovic Courtès.
33057         Improved by Eric Blake.
33058         * build-aux/useless-if-before-free: Likewise.
33059         * build-aux/announce-gen: Likewise.
33060         * build-aux/update-copyright: Likewise.
33061
33062 2009-10-29  Eric Blake  <ebb9@byu.net>
33063
33064         filenamecat-lgpl: adjust clients
33065         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
33066         filenamecat.
33067         * modules/renameat (Depends-on): Likewise.
33068
33069         filenamecat: split into filenamecat-lgpl
33070         * modules/filenamecat-lgpl: New module.
33071         * modules/filenamecat (Files): Move library-safe files into
33072         filenamecat-lgpl.
33073         (Depends-on): Add filenamecat-lgpl.
33074         (configure.ac): Declare witness.
33075         * lib/filenamecat.h (file_name_concat): Only declare when using
33076         GPL module.
33077         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
33078         Move...
33079         * lib/filenamecat-lgpl.c: ...into new file.
33080         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
33081         (gl_FILE_NAME_CONCAT): Use it.
33082         * MODULES.html.sh (File system functions): Mention new module.
33083
33084         argp: avoid memory leak
33085         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
33086         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
33087         base_name, since the latter malloc()s and can call exit().
33088         Leak introduced 2006-07-03.
33089
33090         dirname-lgpl: adjust clients that don't need full dirname
33091         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
33092         * modules/filenamecat (Depends-on): Likewise.
33093         * modules/linkat (Depends-on): Likewise.
33094         * modules/mkancesdirs (Depends-on): Likewise.
33095         * modules/mkdir (Depends-on): Likewise.
33096         * modules/openat (Depends-on): Likewise.
33097         * modules/savewd (Depends-on): Likewise.
33098         * modules/rename (Depends-on): Likewise.
33099         (License): Relax license.
33100         * modules/mkdir-tests (Depends-on): Drop progname.
33101         (Makefile.am): Delete unneeded LDADD.
33102         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
33103
33104         dirname: split into dirname-lgpl
33105         * modules/dirname-lgpl: New module.
33106         * modules/dirname (Files): Move library-safe files into
33107         dirname-lgpl.
33108         (Depends-on): Add dirname-lgpl.
33109         (configure.ac): Declare witness.
33110         * modules/double-slash-root (License): Relax license.
33111         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
33112         module.
33113         * lib/dirname.c (dir_len, mdir_name): Move...
33114         * lib/dirname-lgpl.c: ...into new file.
33115         * lib/basename.c (last_component, base_len): Move...
33116         * lib/basename-lgpl.c: ...into new file.
33117         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
33118         (gl_DIRNAME): Use it.
33119         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
33120         Mention new module.
33121         * modules/dirname-tests (Depends-on): Add progname.
33122         * tests/test-dirname.c (program_name): Delete.
33123
33124         mkdir: make safe for libraries
33125         * modules/mkdir (Depends-on): Drop xalloc.
33126         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
33127         exit.
33128
33129         tests: avoid some compiler warnings
33130         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
33131         literals.
33132         * tests/test-memchr.c (main): Avoid type mismatch.
33133         * tests/test-arpa_inet.c (main): Avoid unused parameters.
33134         * tests/test-base64.c (main): Likewise.
33135         * tests/test-getdelim.c (main): Likewise.
33136         * tests/test-gethostname.c (main): Likewise.
33137         * tests/test-getline.c (main): Likewise.
33138         * tests/test-netinet_in.c (main): Likewise.
33139         * tests/test-select.c (open_server_socket, main): Likewise.
33140         * tests/test-select-stdin.c (main): Likewise.
33141         * tests/test-sockets.c (main): Likewise.
33142         * tests/test-strsignal.c (main): Likewise.
33143         * tests/test-sys_select.c (main): Likewise.
33144         * tests/test-sys_socket.c (main): Likewise.
33145         * tests/test-u64.c (main): Likewise.
33146         * tests/test-xfprintf-posix.c (main): Likewise.
33147         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
33148
33149         sockets: avoid compiler warning
33150         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
33151
33152         maint: detect usage(1) and other suspicious exits
33153         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
33154
33155 2009-10-29  Jim Meyering  <meyering@redhat.com>
33156
33157         timespec: long-to-int truncation could make timespec_cmp malfunction
33158         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
33159         a multiple of 2^32 nanoseconds as no difference.
33160
33161 2009-10-28  Jim Meyering  <meyering@redhat.com>
33162
33163         fprintftime: wrap macro code argument in "do {...} while(0)"
33164         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
33165         cpy macro must be a statement that can be followed by a semicolon.
33166         Now that the else clause contains a comment and is hence longer
33167         than one line, I require curly braces.  That in turn requires
33168         that we wrap this code block in the standard do...while(0).
33169
33170         fprintftime: remove stray semicolon from previous change
33171         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
33172
33173         fprintftime: avoid a warning about ignored fwrite return value
33174         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
33175         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
33176         that is unsafe.
33177         * modules/fprintftime (Depends-on): Add ignore-value.
33178
33179         exclude: avoid an unwarranted warning
33180         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
33181
33182 2009-10-27  Eric Blake  <ebb9@byu.net>
33183
33184         fseek: avoid compilation failure when fflush is replaced
33185         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
33186         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
33187         module is in use.
33188         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
33189         module is not in use; since REPLACE_FSEEK worked otherwise.
33190         (GNULIB_FTELLO): Likewise for ftell.
33191         Reported by Ian Beckwith and others.
33192
33193 2009-10-27  Bruno Haible  <bruno@clisp.org>
33194
33195         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
33196         Reported by Jim Meyering.
33197
33198 2009-10-27  Jim Meyering  <jim@meyering.net>
33199             Bruno Haible  <bruno@clisp.org>
33200
33201         Avoid warning despite dropping the return value of fwrite.
33202         * lib/unicodeio.c: Include ignore-value.h.
33203         (fwrite_success_callback): Explicitly ignore fwrite's return value.
33204         * modules/unicodeio (Depends-on): Add ignore-value.
33205
33206 2009-10-26  Eric Blake  <ebb9@byu.net>
33207
33208         areadlinkat: fix fallback path
33209         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
33210         pointer and zero.
33211
33212 2009-10-22  Pádraig Brady  <P@draigBrady.com>
33213
33214         Use a better IO block size for modern systems
33215         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
33216         * lib/md2.c: Likewise.
33217         * lib/md4.c: Likewise.
33218         * lib/md5.c: Likewise.
33219         * lib/sha1.c: Likewise.
33220         * lib/sha256.c: Likewise.
33221         * lib/sha512.c: Likewise.
33222
33223 2009-10-22  Eric Blake  <ebb9@byu.net>
33224
33225         tests: avoid several compiler warnings
33226         * tests/test-getcwd.c (main): Avoid buffer underflow.
33227         * tests/test-getdate.c (main): String literals are not safe with
33228         putenv, so use setenv.  Declare unused argument.
33229         * modules/getdate-tests (Depends-on): Add setenv.
33230         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
33231         problems with string literals in char *.
33232         * tests/test-hash.c (main): Avoid shadowing declaration.
33233         (insert_new): Treat string literals as char const *.
33234         * tests/test-getopt.h (test_getopt): Likewise.
33235         (getopt_loop): Alter types to minimize casting elsewhere.
33236         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
33237         (test_getopt_long_posix): Likewise.
33238         (do_getopt_long): Add wrapper to minimize casting.
33239         * tests/test-atexit.c (clear_temp_file): Use void.
33240         * tests/test-areadlink-with-size.c (main): Declare unused
33241         arguments.
33242         * tests/test-areadlink.c (main): Likewise.
33243         * tests/test-areadlinkat-with-size.c (main): Likewise.
33244         * tests/test-areadlinkat.c (main): Likewise.
33245         * tests/test-canonicalize-lgpl.c (main): Likewise.
33246         * tests/test-canonicalize.c (main): Likewise.
33247         * tests/test-dirent-safer.c (main): Likewise.
33248         * tests/test-dirname.c (main): Likewise.
33249         * tests/test-dup2.c (main): Likewise.
33250         * tests/test-fchdir.c (main): Likewise.
33251         * tests/test-fcntl-h.c (main): Likewise.
33252         * tests/test-fcntl-safer.c (main): Likewise.
33253         * tests/test-fdopendir.c (main): Likewise.
33254         * tests/test-fdutimensat.c (main): Likewise.
33255         * tests/test-fflush.c (main): Likewise.
33256         * tests/test-filenamecat.c (main): Likewise.
33257         * tests/test-filevercmp.c (main): Likewise.
33258         * tests/test-fopen-safer.c (main): Likewise.
33259         * tests/test-fopen.c (main): Likewise.
33260         * tests/test-fpending.c (main): Likewise.
33261         * tests/test-fpurge.c (main): Likewise.
33262         * tests/test-freading.c (main): Likewise.
33263         * tests/test-fstatat.c (main): Likewise.
33264         * tests/test-fsync.c (main): Likewise.
33265         * tests/test-futimens.c (main): Likewise.
33266         * tests/test-getndelim2.c (main): Likewise.
33267         * tests/test-gettimeofday.c (main): Likewise.
33268         * tests/test-getopt.c (main): Likewise.
33269         * tests/test-i-ring.c (main): Likewise.
33270         * tests/test-inttypes.c (main): Likewise.
33271         * tests/test-link.c (main): Likewise.
33272         * tests/test-lstat.c (main): Likewise.
33273         * tests/test-math.c (main): Likewise.
33274         * tests/test-md5.c (main): Likewise.
33275         * tests/test-memchr2.c (main): Likewise.
33276         * tests/test-memrchr.c (main): Likewise.
33277         * tests/test-mkdir.c (main): Likewise.
33278         * tests/test-mkdirat.c (main): Likewise.
33279         * tests/test-mkfifoat.c (main): Likewise.
33280         * tests/test-open.c (main): Likewise.
33281         * tests/test-openat-safer.c (main): Likewise.
33282         * tests/test-openat.c (main): Likewise.
33283         * tests/test-quotearg.c (main): Likewise.
33284         * tests/test-rawmemchr.c (main): Likewise.
33285         * tests/test-readlink.c (main): Likewise.
33286         * tests/test-remove.c (main): Likewise.
33287         * tests/test-rename.c (main): Likewise.
33288         * tests/test-renameat.c (main): Likewise.
33289         * tests/test-rmdir.c (main): Likewise.
33290         * tests/test-sha1.c (main): Likewise.
33291         * tests/test-signal.c (main): Likewise.
33292         * tests/test-sigaction.c (main): Likewise.
33293         * tests/test-stat.c (main): Likewise.
33294         * tests/test-stat-time.c (main): Likewise.
33295         * tests/test-stddef.c (main): Likewise.
33296         * tests/test-stdint.c (main): Likewise.
33297         * tests/test-stdio.c (main): Likewise.
33298         * tests/test-stdlib.c (main): Likewise.
33299         * tests/test-strchrnul.c (main): Likewise.
33300         * tests/test-strerror.c (main): Likewise.
33301         * tests/test-string.c (main): Likewise.
33302         * tests/test-strtod.c (main): Likewise.
33303         * tests/test-strverscmp.c (main): Likewise.
33304         * tests/test-symlink.c (main): Likewise.
33305         * tests/test-symlinkat.c (main): Likewise.
33306         * tests/test-sys_stat.c (main): Likewise.
33307         * tests/test-sys_time.c (main): Likewise.
33308         * tests/test-time.c (main): Likewise.
33309         * tests/test-unistd.c (main): Likewise.
33310         * tests/test-unlink.c (main): Likewise.
33311         * tests/test-unlinkat.c (main): Likewise.
33312         * tests/test-utimens.c (main): Likewise.
33313         * tests/test-utimensat.c (main): Likewise.
33314         * tests/test-version-etc.c (main): Likewise.
33315         * tests/test-wchar.c (main): Likewise.
33316         * tests/test-wctype.c (main): Likewise.
33317         * tests/test-xprintf-posix.c (main): Likewise.
33318         * tests/test-posixtm.c (main): Likewise.
33319         (STREQ): Delete unused macro.
33320         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
33321         shadowed variables.
33322         * tests/test-memchr.c (main): Likewise.
33323
33324 2009-10-21  Eric Blake  <ebb9@byu.net>
33325
33326         areadlinkat: avoid failure on older glibc
33327         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
33328         rather than mis-comparing 0 against FUNC_RESULT of char*.
33329
33330 2009-10-21  Bruno Haible  <bruno@clisp.org>
33331
33332         * modules/stpncpy (License): Relicense under LGPLv2+.
33333         Reported by David Lutterkort <lutter@redhat.com>.
33334
33335 2009-10-20  Eric Blake  <ebb9@byu.net>
33336
33337         utimensat: work around Solaris 9 bug
33338         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
33339         has trailing slash bugs.
33340         * tests/test-lutimens.h (test_lutimens): Enhance test.
33341         * tests/test-utimens.h (test_utimens): Likewise.
33342         * doc/posix-functions/utime.texi (utime): Enhance documentation.
33343         * doc/posix-functions/utimes.texi (utimes): Likewise.
33344         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33345         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
33346         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
33347         * doc/posix-functions/futimens.texi (futimens): Likewise.
33348
33349         fdutimensat: new module
33350         * modules/fdutimensat: New file.
33351         * lib/fdutimensat.c (fdutimensat): Likewise.
33352         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
33353         * MODULES.html.sh (File system functions): Mention module.
33354         * modules/fdutimensat-tests: New test.
33355         * tests/test-fdutimensat.c: Likewise.
33356
33357         doc: regenerate INSTALL
33358         * doc/INSTALL: Reflect recent autoconf update.
33359         * doc/INSTALL.ISO: Likewise.
33360         * doc/INSTALL.UTF-8: Likewise.
33361
33362 2009-10-20  Pádraig Brady  <P@draigBrady.com>
33363
33364         acl: warn if ACL support is not detected
33365         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
33366
33367 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
33368
33369         * lib/nproc.h: Add extern "C" block for C++.
33370
33371 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
33372             Bruno Haible  <bruno@clisp.org>
33373
33374         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
33375         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
33376         * doc/posix-functions/isalpha.texi: Likewise.
33377         * doc/posix-functions/isblank.texi: Likewise.
33378         * doc/posix-functions/iscntrl.texi: Likewise.
33379         * doc/posix-functions/isdigit.texi: Likewise.
33380         * doc/posix-functions/isgraph.texi: Likewise.
33381         * doc/posix-functions/islower.texi: Likewise.
33382         * doc/posix-functions/isprint.texi: Likewise.
33383         * doc/posix-functions/ispunct.texi: Likewise.
33384         * doc/posix-functions/isspace.texi: Likewise.
33385         * doc/posix-functions/isupper.texi: Likewise.
33386         * doc/posix-functions/isxdigit.texi: Likewise.
33387
33388 2009-10-18  Bruno Haible  <bruno@clisp.org>
33389
33390         Tests for module 'isblank'.
33391         * modules/isblank-tests: New file.
33392         * tests/test-isblank.c: New file.
33393
33394         New module 'isblank'.
33395         * lib/isblank.c: New file.
33396         * m4/isblank.m4: New file.
33397         * modules/isblank: New file.
33398         * doc/posix-functions/isblank.texi: Mention the new module.
33399
33400 2009-10-18  Bruno Haible  <bruno@clisp.org>
33401
33402         New module 'ctype'.
33403         * lib/ctype.in.h: New file.
33404         * m4/ctype.m4: New file.
33405         * modules/ctype: New file.
33406         * doc/posix-headers/ctype.texi: Mention the new module.
33407
33408 2009-10-18  Jim Meyering  <meyering@redhat.com>
33409
33410         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
33411         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
33412         right after its initialization, rather than farther down.
33413         Keeping these in close proximity makes it easier to ensure
33414         that each such variable is initialized.  E.g.,
33415
33416             LIB_CLOCK_GETTIME=
33417             AC_SUBST([LIB_CLOCK_GETTIME])
33418
33419         This change also increments these serial numbers.
33420         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
33421         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33423
33424 2009-10-18  Bruno Haible  <bruno@clisp.org>
33425
33426         Don't let environment variables perturb build.
33427         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
33428         (gl_PREREQ_GETHRXTIME): ... not here.
33429
33430 2009-10-18  Bruno Haible  <bruno@clisp.org>
33431
33432         Avoid symlink attack in localcharset module.
33433         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
33434         (O_NOFOLLOW): Define fallback.
33435         (get_charset_aliases): Don't open the file if it is a symbolic link.
33436         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
33437         gl_FCNTL_H.
33438         (gl_FCNTL_H): Require it.
33439         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
33440         * modules/localcharset (Files): Add m4/fcntl_h.m4.
33441         Reported by Fergal Glynn <fglynn@veracode.com>.
33442
33443 2009-10-18  Bruno Haible  <bruno@clisp.org>
33444
33445         Implement nproc for mingw.
33446         * lib/nproc.c: Include <windows.h>
33447         (num_processors): On native Windows platforms, try GetSystemInfo.
33448
33449 2009-10-18  Bruno Haible  <bruno@clisp.org>
33450
33451         Implement nproc for IRIX.
33452         * lib/nproc.c: Include <sys/sysmp.h>.
33453         (num_processors): On IRIX systems, try sysmp.
33454         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
33455
33456 2009-10-18  Bruno Haible  <bruno@clisp.org>
33457
33458         Implement nproc for HP-UX.
33459         * lib/nproc.c: Include <sys/pstat.h>
33460         (num_processors): On HP-UX systems, try pstat_getdynamic.
33461         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
33462         pstat_getdynamic.
33463
33464 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
33465             Bruno Haible  <bruno@clisp.org>
33466
33467         Implement nproc for NetBSD, OpenBSD.
33468         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
33469         (ARRAY_SIZE): New macro.
33470         (num_processors): On BSD systems, try sysctl of HW_NCPU.
33471         * m4/nproc.m4: New file.
33472         * modules/nproc (Files): Add m4/nproc.m4.
33473         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
33474         (Makefile.am): Instead, augment lib_SOURCES.
33475
33476 2009-10-18  Bruno Haible  <bruno@clisp.org>
33477
33478         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
33479         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
33480         sys/param.h.
33481
33482 2009-10-16  Eric Blake  <ebb9@byu.net>
33483
33484         utimensat: new module
33485         * modules/utimensat: New file.
33486         * lib/utimensat.c (utimensat): Likewise.
33487         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33488         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
33489         so we can work around Linux bugs.
33490         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33491         * modules/sys_stat (Makefile.am): Substitute them.
33492         * lib/sys_stat.in.h (utimensat): Declare it.
33493         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33494         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33495         * modules/utimensat-tests: New test.
33496         * tests/test-utimensat.c: Likewise.
33497
33498         utimens: let lutimens work on non-symlinks
33499         * lib/utimens.c (lutimens): Fall back to utimens rather than
33500         failing with ENOSYS, when file is not a symlink.
33501         (utimens): Reduce redirection.
33502         * tests/test-lutimens.h (test_lutimens): Update test to cover
33503         non-symlinks.
33504         * tests/test-utimens.h (test_utimens): Update test to cover
33505         symlinks.
33506         * tests/test-utimens.c (main): Update caller.
33507
33508         utimens: cache whether utimensat syscall works
33509         * lib/utimens.c (utimensat_works_really): New cache variable.
33510         (fdutimens, lutimens): Use it to avoid failing syscall.
33511
33512         test-stat-time, test-utimens: improve portability
33513         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
33514         ext4 on alpha, and for cygwin.
33515         * tests/test-utimens-common.h: New file.
33516         (nap): Factor delays into single function.
33517         * tests/test-lutimens.h (test_lutimens): Use new header.
33518         * tests/test-futimens.h (test_futimens): Likewise.
33519         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
33520         timestamps to occur from same machine, as was done previously for
33521         test_utimens.
33522         * modules/utimens-tests (Files): Ship new file.
33523         * modules/futimens-tests (Files): Likewise.
33524         Reported in part by Jim Meyering.
33525
33526         sys_stat: sort replacement declarations
33527         * lib/sys_stat.in.h: Sort declarations.
33528         * lib/futimens.c (futimens): Fix typo.
33529
33530 2009-10-15  Jim Meyering  <meyering@redhat.com>
33531
33532         don't let environment settings perturb build
33533         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
33534         could cause a configure-time and/or build-time malfunction.
33535         Typically, a configure-time function-in-library test is performed
33536         via code like this:
33537
33538           LIB_VAR=
33539           AC_SUBST([LIB_VAR])
33540           prefix_saved_LIBS=$LIBS
33541             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
33542                        [test "$ac_cv_search_FUNC" = "none required" ||
33543                         LIB_VAR=$ac_cv_search_FUNC])
33544           LIBS=$prefix_saved_LIBS
33545
33546         However, in each of the files affected by this change, the LIB_VAR=
33547         initialization was omitted.  Thus, when set in the environment, its
33548         value would propagate into generated Makefiles when FUNC is not found
33549         in LIB_NAME.
33550         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
33551         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33552         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
33553
33554 2009-10-14  Eric Blake  <ebb9@byu.net>
33555
33556         fchdir: avoid infinite recursion in mingw
33557         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
33558         recursing.
33559
33560         test-stat-time: port to mingw
33561         * tests/test-stat-time.c (force_unlink): Return a value.
33562         (test_ctime) [W32]: Fix compilation error.
33563         (nap): Don't call usleep with too large an argument.  Use
33564         force_unlink.
33565         * doc/pastposix-functions/usleep.texi (usleep): Document the
33566         portability issue.
33567
33568 2009-10-13  Jim Meyering  <meyering@redhat.com>
33569
33570         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
33571         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
33572         * modules/pipe-filter-ii: Likewise.
33573         * modules/sys_socket-tests: Likewise.
33574         * modules/tsearch-tests: Likewise.
33575         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
33576         (check): Depend on it.
33577
33578 2009-10-12  Eric Blake  <ebb9@byu.net>
33579
33580         utimens-tests: port to NFS file systems
33581         * tests/test-utimens.h (test_utimens): Refactor utimecmp
33582         comparisons to avoid spurious failures from timestamp drift
33583         between NFS machines.
33584
33585 2009-10-12  Eric Blake  <ebb9@byu.net>
33586
33587         stat-time-tests: minor cleanups
33588         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
33589         * tests/test-stat-time.c (nap): Separate assignment from call.
33590         Suggested by Paolo Bonzini and Bruno Haible.
33591
33592         sys_stat: guarantee struct timespec
33593         * lib/sys_stat.in.h (includes): Always include <time.h>
33594         * modules/sys_stat (Depends-on): Add time.
33595         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
33596         mode_t permission values.
33597         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
33598         get at subsecond timestamps.
33599
33600 2009-10-10  Eric Blake  <ebb9@byu.net>
33601
33602         futimens: new module
33603         * modules/futimens: New file.
33604         * lib/futimens.c (futimens): Likewise.
33605         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
33606         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
33607         we can work around Linux bugs.
33608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33609         * modules/sys_stat (Makefile.am): Substitute them.
33610         * lib/sys_stat.in.h (futimens): Declare it.
33611         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
33612         * doc/posix-functions/futimens.texi (futimens): Likewise.
33613         * modules/futimens-tests: New test.
33614         * tests/test-futimens.c: Likewise.
33615
33616         utimens: introduce fdutimens
33617         * lib/utimens.h (fdutimens): New prototype.
33618         * lib/utimens.c (gl_futimens): Move guts...
33619         (fdutimens): ...to new interface.
33620         * tests/test-utimens.c (do_fdutimens): Use it.
33621
33622         utimens: add UTIME_NOW and UTIME_OMIT support
33623         * lib/utimens.c (validate_timespec, update_timespec): New helper
33624         functions.
33625         (gl_futimens, lutimens): Use them.
33626         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
33627         stdbool, sys_stat.
33628         (Link): Mention resulting library dependency.
33629         * modules/utimecmp (Link): Likewise.
33630         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
33631         (Makefile.am): Pick up library dependency.
33632         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
33633         definition.
33634         * tests/test-sys_stat.c: Test the definitions.
33635         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
33636         * NEWS: Document library dependency.
33637
33638         utimecmp: support symlink timestamps
33639         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
33640         hashing when possible.  Use pathconf when available.
33641         (SYSCALL_RESOLUTION): Recognize tighter resolution.
33642         * modules/utimecmp (Depends-on): Add lstat.
33643
33644         utimens: add lutimens interface
33645         * lib/utimens.c (lutimens): New function.
33646         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
33647         * lib/utimens.h (lutimens): Declare new interface.
33648         * tests/test-utimens.c (main): Enhance test.
33649         * tests/test-lutimens.h (test_lutimens): New file.
33650         * modules/utimens-tests (Files): Distribute it.
33651         (Depends-on): Add symlink.
33652         (configure.ac): Check for usleep.
33653
33654         utimens: validate futimens usage
33655         * lib/utimens.c (gl_futimens): Require valid fd up front, using
33656         fewer syscalls on failure later on.  Avoid compiler warning on
33657         mingw.
33658         * modules/utimens (Depends-on): Add dup2.
33659
33660         utimens: add test
33661         * modules/utimens-tests: New test.
33662         * tests/test-utimens.h: New file.
33663         * tests/test-futimens.h: Likewise.
33664         * tests/test-utimens.c: Likewise.
33665
33666         doc: mention timestamp portability issues
33667         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
33668         instead.
33669         * doc/posix-functions/utime.texi (utime): Likewise.
33670         * doc/posix-functions/utimes.texi (utimes): Likewise.
33671         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
33672         instead.
33673         * doc/posix-functions/futimens.texi (futimens): Mention utimens
33674         module.
33675         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33676         Mention weakness with symlink timestamps.
33677         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
33678         to utimensat/futimens instead.
33679         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
33680
33681         test-dup2: enhance test
33682         * tests/test-dup2.c (main): Also check AT_FDCWD.
33683
33684         test-stat-time: avoid more spurious failures
33685         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
33686         xfs; and avoid race if the two timestamps cross quantization edge.
33687
33688         relocatable: prefer 'file system' over 'filesystem'
33689         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
33690         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
33691         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
33692         * doc/relocatable.texi (Enabling Relocatability): Likewise.
33693         * lib/relocatable.c (compute_curr_prefix): Likewise.
33694
33695 2009-10-10  Jim Meyering  <meyering@redhat.com>
33696
33697         stat-time-tests: check for the usleep function
33698         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
33699
33700 2009-10-10  Bruno Haible  <bruno@clisp.org>
33701
33702         * modules/xnanosleep: Put the Link section after the Include section.
33703
33704 2009-10-09  Eric Blake  <ebb9@byu.net>
33705
33706         dup2: work around FreeBSD 6.1 bug
33707         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
33708         * doc/posix-functions/dup2.texi (dup2): Document it.
33709         Reported by Nelson H. F. Beebe and Jim Meyering.
33710
33711         test-stat-time: port to buggy NFS clients
33712         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
33713         (test_ctime): Also skip test if mtime and ctime are skewed.
33714
33715         maint: prefer 'file system' over 'filesystem'
33716         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
33717         * doc/posix-functions/lstat.texi (lstat): Likewise.
33718         * lib/file-has-acl.c (file_has_acl): Likewise.
33719         * lib/fwriteerror.c [TEST]: Likewise.
33720         * tests/test-areadlink.h (test_areadlink): Likewise.
33721         * tests/test-areadlinkat-with-size.c (main): Likewise.
33722         * tests/test-areadlinkat.c (main): Likewise.
33723         * tests/test-canonicalize-lgpl.c (main): Likewise.
33724         * tests/test-canonicalize.c (main): Likewise.
33725         * tests/test-fstatat.c (main): Likewise.
33726         * tests/test-linkat.c (main): Likewise.
33727         * tests/test-lstat.h (test_lstat_func): Likewise.
33728         * tests/test-mkdir.h (test_mkdir): Likewise.
33729         * tests/test-readlink.h (test_readlink): Likewise.
33730         * tests/test-remove.c (main): Likewise.
33731         * tests/test-rename.h (test_rename): Likewise.
33732         * tests/test-renameat.c (main): Likewise.
33733         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33734         * tests/test-symlink.h (test_symlink): Likewise.
33735         * tests/test-symlinkat.c (main): Likewise.
33736         * tests/test-unlink.h (test_unlink_func): Likewise.
33737         * tests/test-unlinkat.c (main): Likewise.
33738
33739         maint: make realtime library usage explicit
33740         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
33741         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
33742         * modules/settime (Link): Likewise.
33743         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
33744
33745         test-stat-time: speed up execution
33746         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
33747         warning on mingw.
33748         (nap): New helper function.
33749         (prepare_test): Use it to reduce sleep time.
33750         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
33751         execution.
33752         * modules/stat-time-tests (configure.ac): Check for usleep.
33753
33754 2009-10-09  Jim Meyering  <meyering@redhat.com>
33755
33756         selinux-h: always use getfilecon wrappers
33757         * lib/getfilecon.c: New file.
33758         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
33759         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
33760         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
33761         (fgetfilecon): Provide a stub.
33762         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
33763         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
33764         file unconditionally.
33765         When <selinux/selinux.h> is found, arrange to use wrappers.
33766         * modules/selinux-h (Files): Add getfilecon.c.
33767         (Makefile.am): Substitute include-next-related bits
33768         into the now-always-generated selinux/selinux.h file.
33769         * doc/glibc-functions/lgetfilecon.texi: New file.
33770         * doc/glibc-functions/fgetfilecon.texi: New file.
33771         * doc/glibc-functions/getfilecon.texi: New file.
33772         * doc/glibc-functions/getfilecon-desc.texi: New file.
33773         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
33774         which to pull in the new files.
33775         * MODULES.html.sh (Misc): Add selinux-h.
33776
33777 2009-10-08  Jim Meyering  <meyering@redhat.com>
33778
33779         unistd: fix comment typo
33780         * lib/unistd.in.h (euidaccess): Fix a comment typo.
33781
33782 2009-10-08  Eric Blake  <ebb9@byu.net>
33783
33784         areadlink: use SIZE_MAX consistently
33785         * modules/areadlink (Depends-on): Add stdint.
33786         * modules/areadlink-with-size (Depends-on): Likewise.
33787         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
33788         gives NULL; drop sys/types, since unistd gives size_t; and add
33789         stdint for SIZE_MAX.
33790         (SIZE_MAX): Rely on headers.
33791         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
33792         and add stdint.
33793         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
33794         (SIZE_MAX): Likewise.
33795         (INITIAL_BUF_SIZE): Turn into enum.
33796         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
33797
33798 2009-10-08  Jim Meyering  <meyering@redhat.com>
33799
33800         areadlinkat: avoid compilation failure
33801         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
33802         Fix typo in comment.
33803
33804 2009-10-07  Eric Blake  <ebb9@byu.net>
33805
33806         areadlinkat-with-size: new module
33807         * modules/areadlinkat-with-size: New module.
33808         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
33809         * lib/areadlink.h (areadlinkat): Declare it.
33810         * MODULES.html.sh (File system functions): Mention it.
33811         * modules/areadlinkat-with-size-tests: New test.
33812         * tests/test-areadlinkat-with-size.c: New file.
33813
33814         xreadlinkat: new module
33815         * modules/xreadlinkat: New module.
33816         * lib/xreadlinkat.c (xreadlinkat): New file.
33817         * lib/xreadlink.h (xreadlinkat): Declare it.
33818         * MODULES.html.sh (File system functions): Mention it.
33819
33820         areadlinkat: new module
33821         * lib/at-func.c (FUNC_FAIL): New define.
33822         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
33823         * modules/areadlinkat: New module.
33824         * lib/linkat.c (areadlinkat): Move...
33825         * lib/areadlinkat.c (areadlinkat): ...to new file.
33826         * lib/areadlink.h (areadlinkat): Declare it.
33827         * modules/linkat (Depends-on): Add areadlinkat.
33828         * MODULES.html.sh (File system functions): Mention it.
33829         * modules/areadlinkat-tests: New test.
33830         * tests/test-areadlinkat.c: New file.
33831
33832         areadlink, areadlink-with-size: add tests
33833         * modules/areadlink-tests: New test.
33834         * modules/areadlink-with-size-tests: Likewise.
33835         * tests/test-areadlink.h: New file.
33836         * tests/test-areadlink.c: Likewise.
33837         * tests/test-areadlink-with-size.c: Likewise.
33838
33839         maint: minor cleanups
33840         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
33841         _UNUSED_PARAMETER_ instead.
33842         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
33843         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
33844         * modules/linkat-tests (Files): Distribute test-link.h.
33845
33846         openat, utimens: whitespace cleanup
33847         * lib/openat.c: Prefer space throughout, rather than mix of 8
33848         spaces vs. tabs.
33849         * lib/at-func.c: Likewise.
33850         * lib/utimens.c: Likewise.
33851
33852         openat: avoid using wrong fd
33853         * lib/openat.c (openat_permissive): Reject user's fd if saving the
33854         working directory chooses same fd.
33855         * lib/at-func.c (AT_FUNC_NAME): Likewise.
33856
33857         mkdir, mkdirat: fix cygwin 1.5.x bug
33858         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
33859         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
33860         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
33861         bug.
33862         (gl_PREREQ_MKDIR): Delete unused macro.
33863         * modules/mkdir (Files): Track file rename.
33864         (configure.ac): Update macro name.
33865         * modules/openat (Depends-on): Add mkdir.
33866         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
33867
33868         mkdir, mkdirat: add tests
33869         * modules/mkdir-tests: New test.
33870         * tests/test-mkdir.h: New file.
33871         * tests/test-mkdir.c: Likewise.
33872         * tests/test-mkdirat.c: Likewise.
33873         * modules/openat-tests (Files): Add new files.
33874         (Makefile.am): Run new test.
33875
33876 2009-10-06  Eric Blake  <ebb9@byu.net>
33877
33878         doc: tweak *at function documentation
33879         * doc/posix-functions/faccessat.texi (faccessat): Mention
33880         known issue with replacement.
33881         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
33882         * doc/posix-functions/linkat.texi (linkat): Likewise.
33883         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33884         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33885         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33886         * doc/posix-functions/renameat.texi (renameat): Likewise.
33887         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33888
33889         openat: fix GNU/Hurd bug in unlinkat
33890         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
33891         broken.
33892         * doc/posix-functions/unlink.texi (unlink): Document this.
33893         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
33894
33895         fdopendir: fix GNU/Hurd bug
33896         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
33897         allowing non-directory fds.
33898         * lib/fdopendir.c (rpl_fdopendir): Work around it.
33899         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33900         * modules/dirent (Makefile.am): Substitute it.
33901         * lib/dirent.in.h (fdopendir): Declare replacement.
33902         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
33903         * tests/test-fdopendir.c (main): Test something other than
33904         /dev/null, since on Hurd that behaves like a directory.
33905
33906         test-symlink: port to GNU/Hurd
33907         * tests/test-symlink.h (test_symlink): Relax expected errno.
33908
33909         doc: tweak more cygwin information
33910         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
33911         now compatible with glibc.
33912         * doc/posix-functions/getopt.texi (getopt): Likewise.
33913
33914         getopt-gnu: add another test
33915         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
33916         guarantee behavior relied on by m4.
33917         * tests/test-getopt.c (main): Use it.
33918         * modules/getopt-posix-tests (Depends-on): Add setenv.
33919         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
33920
33921         getopt: fix compilation on darwin
33922         * lib/getopt.in.h (includes): Leave breadcrumbs during system
33923         include.
33924         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
33925         Reported by Ludovic Courtès.
33926
33927 2009-10-06  Bruno Haible  <bruno@clisp.org>
33928
33929         * modules/size_max (Description): Discourage its use.
33930         Reported by Simon Josefsson.
33931
33932 2009-10-06  Jim Meyering  <meyering@redhat.com>
33933
33934         linkat: avoid compilation failure
33935         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
33936
33937 2009-10-05  Eric Blake  <ebb9@byu.net>
33938
33939         linkat: support Linux 2.6.17
33940         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
33941         linkat on Linux, but allow cache variable override.
33942         * lib/linkat.c (rpl_linkat): Define override.
33943         * modules/linkat (Depends-on): Add symlinkat.
33944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
33945         * modules/unistd (Makefile.am): Substitute it.
33946         * lib/unistd.in.h (linkat): Declare replacement.
33947         Reported by Pádraig Brady.
33948
33949         quotearg: port test to systems with C.UTF-8 locale
33950         * tests/test-quotearg.c (struct result_strings): Add another
33951         member, differentiating between C.ASCII and C.UTF-8 handling.
33952         (compare_strings): Add parameter.
33953         (main): Adjust all callers.
33954
33955         getopt: avoid clash with FreeBSD _getopt_internal
33956         * lib/getopt.in.h (_getopt_internal): Override the name.
33957         * lib/getopt_int.h (includes): Pick up any overrides.
33958         Reported by Reuben Thomas.
33959
33960         hash: allow C89 compilation
33961         * lib/hash.c (check_tuning): Move declaration before statement.
33962         Reported by Reuben Thomas.
33963
33964 2009-10-05  Karl Berry  <karl@gnu.org>
33965
33966         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
33967
33968 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
33969             Bruno Haible  <bruno@clisp.org>
33970
33971         * lib/uname.c (uname): Use a table-driven algorithm to compute
33972         Windows NT versions.
33973
33974 2009-10-04  Bruno Haible  <bruno@clisp.org>
33975
33976         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
33977         program_invocation_short_name.
33978         * modules/progname (configure.ac): Test for presence of
33979         program_invocation_short_name.
33980         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33981
33982 2009-10-04  Bruno Haible  <bruno@clisp.org>
33983
33984         * lib/progname.c (set_program_name): Fix comment.
33985         Reported by Jim Meyering.
33986
33987 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33988             Bruno Haible  <bruno@clisp.org>
33989
33990         * lib/uname.c: Include <string.h>.
33991         (uname): Do only one call to GetVersionEx in the common case.
33992
33993 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
33994             Bruno Haible  <bruno@clisp.org>
33995
33996         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
33997         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
33998         (uname): Add support for Windows CE and various non-x86 CPU types.
33999
34000 2009-10-03  Bruno Haible  <bruno@clisp.org>
34001
34002         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
34003         invocation to tests/configure.ac.
34004         Reported by Ian Beckwith <ianb@erislabs.net>.
34005
34006 2009-10-02  Eric Blake  <ebb9@byu.net>
34007
34008         fchdir: avoid compiler warning
34009         * lib/fchdir.c (canonicalize_file_name)
34010         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
34011
34012         test-open: support mingw errno values
34013         * tests/test-open.h (test_open): Relax test.
34014         * tests/test-fopen.h (test_fopen): Likewise.
34015         * tests/test-openat-safer.c (main): Likewise.
34016
34017         open: fix opening directory on mingw
34018         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
34019
34020         test-open: on GNU/Hurd, /dev/null is a directory
34021         * tests/test-fopen.h (main): Rename...
34022         (test_fopen): ...to this.  Use a guaranteed non-directory when
34023         confirming open behavior on trailing slash.
34024         * tests/test-openat-safer.c (main): Likewise.
34025         * tests/test-open.h (main): Likewise....
34026         (test_open): ...to this.
34027         * tests/test-fopen.c (main): Adjust caller.
34028         * tests/test-fopen-safer.c (main): Likewise.
34029         * tests/test-open.c (main): Likewise.
34030         * tests/test-fcntl-safer.c (main): Likewise.
34031         Reported by Samuel Thibault.
34032
34033         rename, fchdir: don't ignore chdir failure
34034         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
34035         * lib/rename.c (rpl_rename) [W32]: Likewise.
34036         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
34037         an empty destination directory if source cannot be renamed,
34038         although there is still possibility for failure.
34039         * doc/posix-functions/rename.texi (rename): Document the race.
34040         Reported by Jim Meyering.
34041
34042         maint: cleanup whitespace in recent commits
34043         * lib/rename.c (rpl_rename): Remove tabs.
34044         * tests/test-link.h (test_link): Likewise.
34045         * lib/fchdir.c (get_name): Likewise.
34046         Reported by Jim Meyering.
34047
34048 2009-10-02  Ben Pfaff  <blp@gnu.org>
34049
34050         relocatable-prog-wrapper: Add missing dependency on
34051         double-slash-root.
34052         * modules/relocatable-prog-wrapper: Add dependency.
34053         Reported by Ian Beckwith <ianb@erislabs.net>.
34054
34055 2009-10-02  Eric Blake  <ebb9@byu.net>
34056
34057         renameat: fix Solaris bugs
34058         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
34059         needed fixing.
34060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
34061         * modules/stdio (Makefile.am): Substitute it.
34062         * lib/stdio.in.h (renameat): Declare replacement.
34063         * lib/renameat.c (rpl_renameat): Implement fix.
34064
34065         renameat: new module
34066         * modules/renameat: New file.
34067         * lib/renameat.c (renameat): Likewise.
34068         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
34069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34070         * modules/stdio (Makefile.am): Substitute them.
34071         * lib/stdio.in.h (renameat): Declare it.
34072         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34073         * doc/posix-functions/renameat.texi (renameat): Likewise.
34074         * modules/renameat-tests: New test.
34075         * tests/test-renameat.c: Likewise.
34076
34077         rename: fix mingw bugs
34078         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
34079         directory overwrite bugs.
34080
34081         rename: fix another cygwin 1.5 bug
34082         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
34083         checks.
34084         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
34085         unnecessary cygwin workarounds.  Also work around bug with moving
34086         full directory onto an empty one.
34087         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
34088
34089         rename-dest-slash: merge into rename module
34090         * modules/rename-dest-slash (Status): Mark obsolete.
34091         (Depends-on): Add rename.
34092         (Files): Let rename do it all.
34093         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
34094         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
34095         * m4/rename-dest-slash.m4: ...so this file can be deleted.
34096         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
34097         * lib/rename.c (rpl_rename): Update comments.
34098
34099         rename: fix cygwin 1.5.x bugs
34100         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
34101         * lib/rename.c (rpl_rename): Work around them.
34102         * modules/rename (Depends-on): Add same-inode.
34103
34104         rename: fix Solaris 10 bug
34105         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34106         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
34107         was the only bug.
34108
34109         rename: fix Solaris 9 bug
34110         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
34111         on non-directory.  Avoid calling exit.
34112         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
34113         strdup.
34114         * modules/rename-tests (Depends-on): Drop lstat.
34115         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
34116         (gl_PREREQ_RENAME): Delete unused macro.
34117
34118         rename-dest-slash: fix NetBSD bug
34119         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
34120         links.
34121         * modules/rename-dest-slash (Depends-on): Add same-inode.
34122
34123         rename-tests: new test, exposes several platform bugs
34124         * modules/rename-tests: New file.
34125         * tests/test-rename.h: Likewise.
34126         * tests/test-rename.c: Likewise.
34127         * doc/posix-functions/rename.texi (rename): Improve documentation,
34128         including bugs that will eventually be fixed in gnulib.
34129
34130 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
34131
34132         * lib/uname.c: Include <stdlib.h>
34133         (uname): Assume version info is available.
34134
34135 2009-10-02  Jim Meyering  <meyering@redhat.com>
34136
34137         gnu-web-doc-update: correct --help output
34138         * build-aux/gnu-web-doc-update: Make --help output relevant.
34139
34140         gnu-web-doc-update: add standard options
34141         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
34142
34143         gnu-web-doc-update: New module.
34144         Use this script to automatically update the on-line web documentation
34145         for your GNU project at http://www.gnu.org/software/$pkg/manual/
34146         * modules/gnu-web-doc-update: New file, from coreutils.
34147         * build-aux/gnu-web-doc-update: New script.
34148
34149 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
34150
34151         link: LoadLibrary is not needed.
34152         * lib/link.c: Use GetModuleHandle.
34153
34154 2009-10-01  Eric Blake  <ebb9@byu.net>
34155
34156         getopt: bump serial number
34157         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
34158         change.
34159
34160         tests: tighten link, rmdir, and remove tests
34161         * tests/test-link.h (includes): No need to use <config.h> here.
34162         Clean up if directory hard link was created, otherwise test for
34163         trailing '.'.
34164         * tests/test-linkat.c (main): Simplify.
34165         * tests/test-remove.c (main): Enhance test for trailing '.'.
34166         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34167
34168 2009-10-01  Jim Meyering  <meyering@redhat.com>
34169
34170         maint.mk: requiring "make major" was annoying, for a "minor" release.
34171         What is intended is "stable", to contrast with alpha and beta,
34172         so require "make stable", not "make major".
34173         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
34174         (get_tool_versions): Likewise.
34175         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
34176
34177 2009-09-30  Ben Pfaff  <blp@gnu.org>
34178
34179         Fix broken build of replacement for Windows tmpfile().
34180         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
34181         flags argument added along with the 'mkostemp' module.
34182
34183 2009-09-28  Bruno Haible  <bruno@clisp.org>
34184
34185         Avoid identifier clash with POSIX function 'remove' defined as a macro.
34186         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
34187         to 'remove_elt'.
34188         (gl_list_remove): Update.
34189         * lib/gl_list.c (gl_list_remove): Update.
34190         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
34191         to 'remove_elt'.
34192         (gl_oset_remove): Update.
34193         * lib/gl_list.c (gl_oset_remove): Update.
34194         Reported by Eric Blake.
34195
34196 2009-09-28  Eric Blake  <ebb9@byu.net>
34197
34198         doc: mention yet more cygwin 1.7 status
34199         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
34200         cygwin.
34201         * doc/glibc-functions/execvpe.texi (execvpe): New file.
34202         * doc/gnulib.texi (Glibc unistd.h): Mention it.
34203
34204         argp: fix test failure
34205         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
34206         that are not upper-case.  Pass correct range to tolower.
34207
34208 2009-09-27  Jim Meyering  <meyering@redhat.com>
34209
34210         test-yesno: work around sparc-dash here-document infelicity
34211         Without this change, the literal \177 byte in a here document
34212         would make dash 0.5.5.1-3 access uninitialized memory.
34213         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
34214         Instead, use a marker, "@", and filter through tr to create the desired
34215         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
34216
34217 2009-09-27  Bruno Haible  <bruno@clisp.org>
34218
34219         Disable untested support for new flavours of ACLs on AIX.
34220         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
34221         progress.
34222         * lib/set-mode-acl.c (qset_acl): Likewise.
34223
34224 2008-12-07  Bruno Haible  <bruno@clisp.org>
34225
34226         Add support for new flavours of ACLs on AIX. (Untested.)
34227         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
34228         (file_has_acl): Add support for newer AIX.
34229         * lib/set-mode-acl.c (qset_acl): Likewise.
34230         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
34231         Rainer Tammer <tammer@tammer.net>.
34232
34233 2009-09-26  Eric Blake  <ebb9@byu.net>
34234
34235         argp: fix compilation of getopt
34236         * lib/getopt.in.h (includes): Use different guard than glibc.
34237         Reported by Sergey Poznyakoff.
34238
34239         doc: mention more cygwin 1.7 status
34240         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
34241         bug.
34242         * doc/posix-functions/execl.texi (execl): Likewise.
34243         * doc/posix-functions/execle.texi (execle): Likewise.
34244         * doc/posix-functions/execlp.texi (execlp): Likewise.
34245         * doc/posix-functions/execv.texi (execv): Likewise.
34246         * doc/posix-functions/execve.texi (execve): Likewise.
34247         * doc/posix-functions/execvp.texi (execvp): Likewise.
34248         * doc/glibc-functions/canonicalize_file_name.texi
34249         (canonicalize_file_name): Cygwin 1.7 now provides this.
34250         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
34251         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
34252         on AT_SYMLINK_NOFOLLOW.
34253
34254 2009-09-24  Eric Blake  <ebb9@byu.net>
34255
34256         test-linkat: make test more robust
34257         * tests/test-linkat.c (main): Avoid collision with EEXIST.
34258
34259         getopt: fix inclusion guards for cygwin
34260         * modules/getopt-posix (Depends-on): Add include-next.
34261         (Makefile.am): Substitute more items in replacement header.
34262         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
34263         <getopt.h>.
34264         * lib/getopt.in.h (includes): Use split inclusion guard, and
34265         prefer <getopt.h> over include <unistd.h> when one is present.
34266         (option): Also override name of 'struct option'.
34267
34268         same-inode: revert prior change; it is not yet ready
34269         * NEWS: Undo mention of this change.
34270         * lib/same-inode.h (same-inode.h): Undo tri-state change.
34271         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34272         * lib/cycle-check.c (cycle_check): Likewise.
34273         * lib/same.c (same_name): Likewise.
34274         * lib/at-func2.c (at_func2): Likewise.
34275
34276 2009-09-23  Eric Blake  <ebb9@byu.net>
34277
34278         linkat: new module
34279         * modules/linkat: New file.
34280         * lib/at-func2.c (at_func2): Likewise.
34281         * lib/linkat.c (linkat): Likewise.
34282         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
34283         * lib/openat-priv.h (at_func2): Add declaration.
34284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34285         * modules/unistd (Makefile.am): Substitute them.
34286         * lib/unistd.in.h (linkat): Declare it.
34287         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34288         * doc/posix-functions/linkat.texi (linkat): Likewise.
34289         * doc/posix-functions/link.texi (link): Tweak wording.
34290         * tests/test-link.c (main): Move guts...
34291         * tests/test-link.h (test_link): ...into new file.
34292         * modules/linkat-tests: New test.
34293         * tests/test-linkat.c: Likewise.
34294         * modules/link-tests (Files): Ship new file.
34295         (Depends-on): Add stdbool.
34296
34297         dirname: add library-safe mdir_name
34298         * lib/dirname.h (mdir_name): New prototype.
34299         * lib/dirname.c (dir_name): Move guts...
34300         (mdir_name): ...to new function that avoids xalloc_die.
34301
34302         fchdir: another mingw fix
34303         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
34304         * lib/fchdir.c (get_name): New helper method; skips canonicalize
34305         on mingw (where it has not yet been ported), and make it optional
34306         elsewhere.
34307         (_gl_register_fd): Use it.
34308
34309         same-inode: make SAME_INODE tri-state, to port to mingw
34310         * NEWS: Mention this change.
34311         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
34312         st_ino always being 0.
34313         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
34314         * lib/cycle-check.c (cycle_check): Likewise.
34315         * lib/same.c (same_name): Likewise.
34316
34317         lstat: avoid mingw compilation error
34318         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
34319         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
34320         lstat ourselves.
34321         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
34322         was adequate.
34323         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
34324         the checks for lstat.
34325         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
34326
34327         link: fix test failure on Solaris 9
34328         * lib/link.c (rpl_link): Don't assume link will catch bogus
34329         trailing slash on source.
34330
34331         test-symlinkat: enhance test
34332         * tests/test-readlink.c (main): Move guts...
34333         * tests/test-readlink.h (test_readlink): ...into new file.
34334         * tests/test-symlink.c (main): Move guts...
34335         * tests/test-symlink.h (test_symlink): ...into new file.
34336         * tests/test-symlinkat.c (main): Use new files for further
34337         coverage.
34338         (do_symlink, do_readlink): New helper functions.
34339         * modules/symlink-tests (Files): Ship new file.
34340         (Depends-on): Add stdbool.
34341         * modules/readlink-tests (Files): Ship new file.
34342         (Depends-on): Add stdbool.
34343         * modules/symlinkat-tests (Files): Use new files.
34344
34345 2009-09-23  Eric Blake  <ebb9@byu.net>
34346
34347         readlink: document portability issue with symlink length
34348         * doc/posix-functions/lstat.texi (lstat): Mention that some file
34349         systems have bogus st_size on symlinks, and mention the
34350         areadlink-with-size module.
34351         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
34352         * doc/posix-functions/readlink.texi (readlink): Mention the
34353         areadlink module, and ERANGE failure.
34354         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
34355         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
34356
34357         readlink: fix Solaris 9 bug with trailing slash
34358         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
34359         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
34360         * doc/posix-functions/readlink.texi (readlink): Document this.
34361         * modules/readlink-tests: New test.
34362         * tests/test-readlink.c: Likewise.
34363
34364         readlink: fix cygwin 1.5.x bug with return type
34365         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
34366         * lib/unistd.in.h (readlink): Use ssize_t.
34367         * lib/readlink.c (readlink): Likewise.
34368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34369         * modules/unistd (Makefile.am): Substitute it.
34370         * lib/unistd.in.h (readlink): Declare replacement.
34371         * doc/posix-functions/readlink.texi (readlink): Document this.
34372
34373         symlink: use throughout gnulib
34374         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
34375         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
34376         symlink is not used.
34377         * modules/symlinkat (Depends-on): Add symlink.
34378         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34379         * modules/canonicalize-tests (Depends-on): Likewise.
34380         * modules/lstat-tests (Depends-on): Likewise.
34381         * modules/openat-tests (Depends-on): Likewise.
34382         * modules/remove-tests (Depends-on): Likewise.
34383         * modules/rmdir-tests (Depends-on): Likewise.
34384         * modules/unlink-tests (Depends-on): Likewise.
34385         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
34386         * tests/test-canonicalize.c (symlink): Likewise.
34387         * tests/test-fstatat.c (symlink): Likewise.
34388         * tests/test-lstat.c (symlink): Likewise.
34389         * tests/test-remove.c (symlink): Likewise.
34390         * tests/test-rmdir.c (symlink): Likewise.
34391         * tests/test-unlink.c (symlink): Likewise.
34392         * tests/test-unlinkat.c (symlink): Likewise.
34393
34394         symlink: new module, for Solaris 9 bug
34395         * modules/symlink: New file.
34396         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
34397         * lib/symlink.c: Likewise.
34398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34399         * modules/unistd (Makefile.am): Substitute them.
34400         * lib/unistd.in.h (symlink): Declare replacement.
34401         * MODULES.html.sh (File system functions): Mention it.
34402         * doc/posix-functions/symlink.texi (symlink): Likewise.
34403         * modules/symlink-tests: New test.
34404         * tests/test-symlink.c: Likewise.
34405
34406 2009-09-23  Bruno Haible  <bruno@clisp.org>
34407
34408         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
34409         when needed.
34410         Test case: gnulib-tool --import --with-tests atexit inttypes.
34411         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
34412
34413 2009-09-23  Bruno Haible  <bruno@clisp.org>
34414
34415         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
34416         subcommand, not in a subshell.
34417
34418 2009-09-22  Eric Blake  <ebb9@byu.net>
34419
34420         unistd: sort replacement declarations
34421         * lib/unistd.in.h: Sort declarations.
34422
34423         open, openat: minor optimization
34424         * lib/open.c (open): If open succeeded, len is non-zero.
34425         * lib/openat.c (rpl_openat): Likewise.
34426
34427         link-follow: ensure correct result
34428         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
34429         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
34430         distinguish between possible failures.
34431
34432 2009-09-21  Eric Blake  <ebb9@byu.net>
34433
34434         fts: avoid compiler warning
34435         * lib/fts.c (dirent_inode_sort_may_be_useful)
34436         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
34437
34438 2009-09-19  Bruno Haible  <bruno@clisp.org>
34439
34440         * lib/progreloc.c (canonicalize_file_name): New declaration.
34441
34442 2009-09-19  Eric Blake  <ebb9@byu.net>
34443
34444         link: fix quoting
34445         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
34446
34447         openat: fix openat bugs on Solaris 9
34448         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
34449         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
34450         * modules/openat (Depends-on): Add open.
34451         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
34452         * modules/fcntl-h (Makefile.am): Substitute it.
34453         * lib/fcntl.in.h (openat): Declare replacement.
34454         * doc/posix-functions/openat.texi (openat): Document this.
34455
34456         openat: move fstatat and unlinkat into correct files
34457         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
34458         compiled.
34459         * lib/openat.c (fstatat, unlinkat): Move...
34460         * lib/fstatat.c (fstatat): ...into correct files.
34461         * lib/unlinkat.c (unlinkat): Likewise.
34462
34463         openat: fix unlinkat bugs on Solaris 9
34464         * lib/unlinkat.c (unlinkat): New file.
34465         * modules/openat (Depends-on): Add unlink.
34466         (Files): Distribute it.
34467         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
34468         trailing slash behavior is broken.
34469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34470         * modules/unistd (Makefile.am): Substitute it.
34471         * lib/unistd.in.h (unlinkat): Declare replacement.
34472         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
34473
34474         openat: fix fstatat bugs on Solaris 9
34475         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
34476         stat.
34477         * doc/posix-functions/fstatat.texi (fstatat): Document this.
34478
34479         test-unlinkat: enhance test, to expose Solaris 9 bug
34480         * tests/test-unlink.c (main): Factor guts...
34481         * tests/test-unlink.h (test_rmdir_func): ...into new file.
34482         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
34483         * tests/test-rmdir.c (main): Adjust caller.
34484         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
34485         (unlinker): New helper function.
34486         (rmdirat): Enhance check.
34487         * modules/rmdir-tests (Depends-on): Add stdbool.
34488         * modules/unlink-tests (Depends-on): Likewise.
34489         (Files): Add test-unlink.h.
34490         * modules/openat-tests (Files): Likewise.
34491         (Depends-on): Add unlinkdir.
34492
34493         test-fstatat: new test, to expose Solaris 9 bugs
34494         * tests/test-stat.c (main): Factor guts...
34495         * tests/test-stat.h (test_stat_func): ...into new file.
34496         * tests/test-lstat.c (main): Factor guts...
34497         * tests/test-lstat.h (test_lstat_func): ...into new file.
34498         * tests/test-fstatat.c: New file.
34499         * modules/stat-tests (Files): Add test-stat.h.
34500         * modules/lstat-tests (Files): Add test-lstat.h.
34501         (Depends-on): Add stdbool.
34502         * modules/openat-tests (Depends-on): Add pathmax.
34503         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
34504         (Makefile.am): Run new test.
34505
34506         remove: new module, for mingw and Solaris 9 bugs
34507         * modules/remove: New file.
34508         * lib/remove.c: Likewise.
34509         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
34510         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
34511         * modules/stdio (Makefile.am): Use them.
34512         * lib/stdio.in.h (remove): Declare replacement.
34513         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34514         * doc/posix-functions/remove.texi (remove): Likewise.
34515         * modules/remove-tests: New test.
34516         * tests/test-remove.c: Likewise.
34517
34518         unlink: new module, for Solaris 9 bug
34519         * modules/unlink: New file.
34520         * lib/unlink.c: Likewise.
34521         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
34522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
34523         * modules/unistd (Makefile.am): Use them.
34524         * lib/unistd.in.h (stat): Declare replacement.
34525         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34526         * doc/posix-functions/unlink.texi (unlink): Likewise.
34527         * modules/unlink-tests: New test.
34528         * tests/test-unlink.c: Likewise.
34529
34530         lstat: fix Solaris 9 bug
34531         * lib/lstat.c (lstat): Also check for trailing slash on
34532         non-symlink, non-directories.  Use stat module to simplify logic.
34533         * doc/posix-functions/lstat.texi (lstat): Document it.
34534         * modules/lstat-tests (Depends-on): Add errno, same-inode.
34535         (configure.ac): Check for symlink.
34536         * tests/test-lstat.c (main): Add more tests.
34537
34538         stat: add as dependency to other modules
34539         * modules/chown (Depends-on): Add stat.
34540         * modules/euidaccess (Depends-on): Likewise.
34541         * modules/fchdir (Depends-on): Likewise.
34542         * modules/isdir (Depends-on): Likewise.
34543         * modules/link (Depends-on): Likewise.
34544         * modules/lstat (Depends-on): Likewise.
34545         * modules/mkdir-p (Depends-on): Likewise.
34546         * modules/modechange (Depends-on): Likewise.
34547         * modules/open (Depends-on): Likewise.
34548         * modules/readlink (Depends-on): Likewise.
34549         * modules/same (Depends-on): Likewise.
34550
34551         stat: fix Solaris 9 bug
34552         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
34553         slash.
34554         * lib/stat.c (rpl_stat): Work around it.
34555         * doc/posix-functions/stat.texi (stat): Update documentation.
34556
34557         stat: new module, for mingw bug
34558         * modules/stat: New file.
34559         * lib/stat.c: Likewise.
34560         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
34561         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
34562         * modules/sys_stat (Makefile.am): Use them.
34563         * lib/sys_stat.in.h (stat): Declare replacement.
34564         * lib/openat.c (fstatat): Deal with lstat and stat being function
34565         macros.
34566         * modules/openat (Depends-on): Add inline.
34567         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
34568         * doc/posix-functions/stat.texi (stat): Likewise.
34569         * modules/stat-tests: New test.
34570         * tests/test-stat.c: Likewise.
34571
34572 2009-09-19  Jim Meyering  <meyering@redhat.com>
34573
34574         syntax-check: detect unnecessary inclusion of canonicalize.h
34575         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
34576
34577 2009-09-19  Eric Blake  <ebb9@byu.net>
34578
34579         canonicalize-lgpl: adjust clients to use correct header
34580         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34581         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
34582         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
34583         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
34584         * lib/progreloc.c (includes): Likewise.
34585
34586 2009-09-19  Jim Meyering  <meyering@redhat.com>
34587
34588         test-posixtm.c: correct a comment
34589         * tests/test-posixtm.c: Correct first-line comment.
34590         Spotted by Eric Blake.
34591
34592 2009-09-16  Jim Meyering  <meyering@redhat.com>
34593
34594         posixtm-tests: make T const-correct; add a test case
34595         * tests/test-posixtm.c (T): Declare const.
34596         Add a test for -(2^31+1).
34597         Remove useless can-succeed-only-in-2002 test.
34598
34599         posixtm-tests: adjust the sole failing test
34600         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
34601         expected output matches what mktime now produces.  Cross-checked via
34602         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
34603
34604         posixtm: move #ifdef'd tests into a new module
34605         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
34606         * tests/test-posixtm.c: ... this new file.
34607         * modules/posixtm-tests: New module.
34608
34609 2009-09-19  Eric Blake  <ebb9@byu.net>
34610
34611         openat: simplify use of at-func.c
34612         * lib/at-func.c (includes): Include prerequisites here, to
34613         simplify requirements on client files.
34614         * lib/openat-priv.h: Add double-inclusion guard.
34615         * lib/faccessat.c (includes): Simplify.
34616         * lib/fchmodat.c (includes): Likewise.
34617         * lib/fchownat.c (includes): Likewise.
34618         * lib/mkdirat.c (includes): Likewise.
34619         * lib/mkfifoat.c (includes): Likewise.
34620         * lib/symlinkat.c (includes): Likewise.
34621
34622         openat: allow return of fd 0
34623         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
34624         * modules/save-cwd (Depends-on): Replace fcntl-safer with
34625         unistd-safer.
34626         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
34627         <fcntl.h>; this module does not leak fds.
34628         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
34629         must be allowed to return 0, leaving openat_safer to add the
34630         safety.
34631         (openat_permissive): Avoid writing to just-opened fd 2 if
34632         restoring the current directory fails.
34633         * lib/openat-die.c (openat_restore_fail): Add comment.
34634         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
34635         (save_cwd): Guarantee safe fd, but without use of open_safer.
34636         * tests/test-openat.c: New test.
34637         * modules/openat-tests (Files, Makefile.am): Distribute and build
34638         new file.
34639
34640         relocatable-prog-wrapper: fix build
34641         * modules/relocatable-prog-wrapper (Files): Update name of
34642         canonicalize m4 file, broken on 2009-09-17.
34643         Reported by emad hajjar <aleppos@hotmail.com>.
34644
34645 2009-09-19  Bruno Haible  <bruno@clisp.org>
34646
34647         * lib/safe-alloc.h: Use the standard header with GPL copyright.
34648         * lib/safe-alloc.c: Likewise.
34649         Reported by Ian Beckwith <ianb@erislabs.net>.
34650
34651 2009-09-18  Bruno Haible  <bruno@clisp.org>
34652
34653         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
34654         Reported by <erobles@sensacd.com.mx>.
34655
34656 2009-09-17  Eric Blake  <ebb9@byu.net>
34657
34658         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
34659         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
34660         slashes when checking if last component is missing.
34661         * tests/test-canonicalize.c (main): Test this.
34662
34663         canonicalize, canonicalize-lgpl: honor // if distinct from /
34664         * modules/canonicalize (Files): Add double-slash-root.m4.
34665         * modules/canonicalize-lgpl (Files): Likewise.
34666         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
34667         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
34668         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
34669         fallback definition.
34670         (canonicalize_filename_mode): Use it to protect //.
34671         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
34672         (__realpath): Likewise.
34673         * tests/test-canonicalize.c (main): Test this.
34674         * tests/test-canonicalize-lgpl.c (main): Likewise.
34675         * modules/canonicalize-tests (Depends-on): Add same-inode.
34676         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34677
34678         canonicalize-lgpl: fix glibc bug with trailing slash
34679         * m4/canonicalize-lgpl.m4: Move contents...
34680         * m4/canonicalize.m4: ...here.
34681         (gl_CANONICALIZE_LGPL): Factor realpath check...
34682         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
34683         glibc 2.3.5 bug, fixed 2005-04-27.
34684         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
34685         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
34686         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
34687         * modules/canonicalize-lgpl (Files): Manage file rename.
34688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34689         * modules/stdlib (Makefile.am): Substitute witness.
34690         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
34691         is needed.
34692         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
34693         replacement is required.
34694         * lib/canonicalize.c (canonicalize_file_name): Likewise.
34695         * doc/glibc-functions/canonicalize_file_name.texi
34696         (canonicalize_file_name): Document this.
34697         * doc/posix-functions/realpath.texi (realpath): Likewise.
34698
34699         canonicalize-lgpl: reject non-directory with trailing slash
34700         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
34701         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
34702         catches failures in glibc 2.3.5.
34703         * tests/test-canonicalize.c (main): Likewise.
34704
34705         canonicalize-lgpl: use native realpath if it works
34706         * lib/canonicalize-lgpl.c (realpath): Guard with
34707         FUNC_REALPATH_WORKS.
34708         * lib/stdlib.in.h (realpath): Make declaration optional based on
34709         HAVE_REALPATH.
34710         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
34711         native realpath works.
34712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
34713         * modules/stdlib (Makefile.am): Substitute witness.
34714
34715         canonicalize, canonicalize-lgpl: use <stdlib.h>
34716         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
34717         (Include): Mention <stdlib.h>.
34718         (configure.ac): Mention functions we provide.
34719         * modules/canonicalize (configure.ac): Likewise.
34720         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
34721         realpath if canonicalize_file_name is missing.
34722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
34723         * modules/stdlib (Makefile.am): Substitute witnesses.
34724         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
34725         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
34726         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
34727         * NEWS: Document this.
34728         * doc/glibc-functions/canonicalize_file_name.texi
34729         (canonicalize_file_name): Likewise.
34730         * doc/posix-functions/realpath.texi (realpath): Likewise.
34731         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
34732
34733         test-canonicalize: consolidate into single C program
34734         * tests/test-canonicalize.sh: Delete; move setup into...
34735         * tests/test-canonicalize.c (main): ...the program, making it
34736         easier to run in debugger.  Add some tests.
34737         * modules/canonicalize-tests (Files): Remove unused file.
34738         (Depends-on): Add progname.
34739         (configure.ac, Makefile.am): Simplify.
34740
34741         test-canonicalize-lgpl: consolidate into single C program
34742         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
34743         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
34744         easier to run in debugger.  Add some tests.
34745         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
34746         (configure.ac, Makefile.am): Simplify.
34747
34748         canonicalize: avoid resolvepath
34749         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
34750         unnecessary checks.
34751         * lib/canonicalize.c (includes): Simplify.
34752         (canonicalize_file_name): Drop resolvepath implementation.
34753         * modules/canonicalize (Depends-on): Drop filenamecat.
34754
34755         canonicalize: don't lose errno
34756         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
34757         over calls to free.
34758
34759         canonicalize: simplify errno handling
34760         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
34761         assignment.
34762
34763         canonicalize, canonicalize-lgpl: update module dependencies
34764         * modules/canonicalize (Depends-on): Add extensions, lstat,
34765         pathmax, stdlib.
34766         (Files): Drop pathmax.h.
34767         (configure.ac): Adjust macro name.
34768         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
34769         lstat, stdlib, sys_stat.
34770         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
34771         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
34772         extensions.
34773         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
34774         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
34775         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
34776         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
34777         declaration, if available.
34778         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
34779         we can rely on the readlink module.
34780         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
34781         (includes): Use <unistd.h> unconditionally.
34782
34783 2009-09-17  Eric Blake  <ebb9@byu.net>
34784
34785         maint: make Include sections of modules consistent
34786         * modules/alloca: Use only header name; no need to list #include.
34787         * modules/alloca-opt: Likewise.
34788         * modules/arpa_inet: Likewise.
34789         * modules/canon-host: Likewise.
34790         * modules/configmake: Likewise.
34791         * modules/dirent: Likewise.
34792         * modules/eealloc: Likewise.
34793         * modules/environ: Likewise.
34794         * modules/fchdir: Likewise.
34795         * modules/fcntl: Likewise.
34796         * modules/fcntl-h: Likewise.
34797         * modules/gethrxtime: Likewise.
34798         * modules/gettime: Likewise.
34799         * modules/ignore-value: Likewise.
34800         * modules/inet_ntop: Likewise.
34801         * modules/inet_pton: Likewise.
34802         * modules/inttypes: Likewise.
34803         * modules/isnand-nolibm: Likewise.
34804         * modules/isnanf-nolibm: Likewise.
34805         * modules/mbchar: Likewise.
34806         * modules/mbfile: Likewise.
34807         * modules/mbiter: Likewise.
34808         * modules/mbuiter: Likewise.
34809         * modules/netdb: Likewise.
34810         * modules/netinet_in: Likewise.
34811         * modules/nproc: Likewise.
34812         * modules/pagealign_alloc: Likewise.
34813         * modules/poll: Likewise.
34814         * modules/printf-frexp: Likewise.
34815         * modules/pthread: Likewise.
34816         * modules/putenv: Likewise.
34817         * modules/random_r: Likewise.
34818         * modules/relocatable-prog: Likewise.
34819         * modules/search: Likewise.
34820         * modules/select: Likewise.
34821         * modules/selinux-h: Likewise.
34822         * modules/settime: Likewise.
34823         * modules/signal: Likewise.
34824         * modules/size_max: Likewise.
34825         * modules/socklen: Likewise.
34826         * modules/ssize_t: Likewise.
34827         * modules/stdarg: Likewise.
34828         * modules/stdbool: Likewise.
34829         * modules/stddef: Likewise.
34830         * modules/stdint: Likewise.
34831         * modules/stdio: Likewise.
34832         * modules/stdlib: Likewise.
34833         * modules/string: Likewise.
34834         * modules/strings: Likewise.
34835         * modules/sys_file: Likewise.
34836         * modules/sys_ioctl: Likewise.
34837         * modules/sys_select: Likewise.
34838         * modules/sys_socket: Likewise.
34839         * modules/sys_stat: Likewise.
34840         * modules/sys_time: Likewise.
34841         * modules/sys_times: Likewise.
34842         * modules/sys_utsname: Likewise.
34843         * modules/sys_wait: Likewise.
34844         * modules/sysexits: Likewise.
34845         * modules/time: Likewise.
34846         * modules/times: Likewise.
34847         * modules/tmpfile: Likewise.
34848         * modules/trim: Likewise.
34849         * modules/unistd: Likewise.
34850         * modules/wchar: Likewise.
34851         * modules/wctype: Likewise.
34852
34853 2009-09-17  Bruno Haible  <bruno@clisp.org>
34854
34855         Make getdate.y compile on QNX and NetBSD 5 / i386.
34856         * m4/getdate.m4 (gl_GETDATE): Conditionally define
34857         TIME_T_FITS_IN_LONG_INT.
34858         * lib/getdate.y (long_time_t): New type.
34859         (relative_time): Change type of 'seconds' field to long_time_t.
34860         (get_date): Update types of local variables. Check against overflow
34861         during conversion from long_time_t to time_t.
34862         Reported by Matt Kraai <kraai@ftbfs.org>
34863         and Hasso Tepper <hasso@netbsd.org>.
34864
34865 2009-09-17  Bruno Haible  <bruno@clisp.org>
34866
34867         * modules/COPYING: Update copyright years.
34868         * modules/README: Likeiwse.
34869         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
34870         Reported by Ian Beckwith <ianb@erislabs.net>.
34871
34872 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34873
34874         * users.txt: Update references for gnuit package.
34875
34876 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
34877
34878         * m4/getdelim.m4: Fix typo in copyright line.
34879
34880 2009-09-17  Bruno Haible  <bruno@clisp.org>
34881
34882         * lib/atoll.c: Use the standard header with GPL copyright.
34883         * lib/argz.in.h: Likewise.
34884         * lib/glob.c: Likewise.
34885         * lib/glob-libc.h: Likewise.
34886         * lib/random_r.c: Likewise.
34887         * lib/siglist.h: Likewise.
34888         * lib/strsignal.c: Likewise.
34889         Reported by Ian Beckwith <ianb@erislabs.net>.
34890
34891 2009-09-17  Eric Blake  <ebb9@byu.net>
34892
34893         rmdir: ensure correct dependency order
34894         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
34895
34896 2009-09-17  Bruno Haible  <bruno@clisp.org>
34897
34898         Disable assertion that fails on NetBSD 5 / i386.
34899         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
34900         Reported by Sam Steingold <sds@gnu.org>
34901         and Hasso Tepper <hasso@netbsd.org>.
34902
34903 2009-09-16  Eric Blake  <ebb9@byu.net>
34904
34905         unlinkdir: port to mingw
34906         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
34907         on which no one can unlink a directory.
34908
34909         stdlib: sort witness names
34910         * modules/stdlib (Makefile.am): Sort replacements.
34911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34912         * lib/stdlib.in.h: Likewise.
34913
34914         parse-duration-tests: avoid link failure
34915         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
34916         LIBINTL.
34917         Reported by Tom G. Christensen.
34918
34919         openat-tests: ensure unlinkat behaves like rmdir
34920         * tests/test-rmdir.c (main): Factor guts...
34921         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
34922         * modules/rmdir-tests (Files): Ship new file.
34923         * modules/openat-tests: New test.
34924         * tests/test-unlinkat.c: Likewise.
34925
34926         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
34927         * modules/rmdir-errno (Status, Notice): Now obsolete.
34928
34929         rmdir: work around cygwin 1.5.x and mingw bugs
34930         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
34931         * lib/rmdir.c (rmdir): Work around it.
34932         * modules/rmdir (Status, Notice): No longer obsolete.
34933         (Files): Add dos.m4.
34934         (Depends-on): Add unistd.
34935         (configure.ac): Set witnesses.
34936         (License): Relax to LGPLv2+.
34937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
34938         * modules/unistd (Makefile.am): Substitute witnesses.
34939         * lib/unistd.in.h (rmdir): Declare replacement.
34940         * doc/posix-functions/rmdir.texi (rmdir): Document this.
34941         * modules/rmdir-tests: New tests.
34942         * tests/test-rmdir.c: Likewise.
34943
34944 2009-09-15  Eric Blake  <ebb9@byu.net>
34945
34946         fchdir: improve use of replacement functions
34947         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
34948         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
34949         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
34950         REPLACE_CLOSEDIR.
34951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
34952         * modules/sys_stat (Makefile.am): Substitute correct witness.
34953         * modules/dirent (Makefile.am): Likewise.
34954         * modules/unistd (Makefile.am): Likewise.
34955         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
34956         * lib/unistd.in.h (dup): Likewise.
34957         * lib/sys_stat.in.h (fstat): Likewise.
34958
34959         maint: ignore gnulib-tool temp files
34960         * .gitignore: Ignore files created during gnulib-tool --test.
34961
34962 2009-09-13  Jim Meyering  <meyering@redhat.com>
34963
34964         posixtm: don't reject a time that specify "60" as the number of seconds
34965         * lib/posixtm.c (posixtime): The code to reject invalid dates
34966         would also reject a time specified with the .60 suffix.
34967         But POSIX allows that, in order to accommodate leap seconds.
34968         So don't reject it.
34969         (main): Adjust tests accordingly.
34970         * modules/posixtm (Depends-on): Add stpcpy.
34971
34972 2009-09-11  Jim Meyering  <meyering@redhat.com>
34973
34974         announce-gen: include [$release_type] in emitted Subject:
34975         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
34976         e.g., [stable] in the emitted Subject: line.
34977
34978 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34979
34980         Remove obsolete macros from several modules.
34981         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
34982         obsolete Autoconf macros with their modern counterparts.
34983         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
34984         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
34985         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
34986         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34987         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
34988         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
34989         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34990         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
34991         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
34992         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
34993         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34994         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34995         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
34996         * m4/sockets.m4 (gl_SOCKETS): Likewise.
34997         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
34998         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
34999         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35000         * m4/time_r.m4 (gl_TIME_R): Likewise.
35001         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
35002         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
35003         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35004
35005         Fix copyright header in build-aux scripts.
35006         * build-aux/git-version-gen: Fix copyright header to match GPLv3
35007         recommendation.
35008         * build-aux/ncftpput-ftp: Likewise.
35009         * build-aux/update-copyright: Likewise.
35010
35011 2009-09-09  Eric Blake  <ebb9@byu.net>
35012
35013         test-link: allow Linux choice of errno
35014         * tests/test-link.c (main): Relax test for alternate error.
35015
35016         strndup: fix improper m4 caching
35017         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
35018         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
35019         (gl_PREREQ_STRNDUP): Delete.
35020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
35021         * modules/string (Makefile.am): Substitute it.
35022         * lib/string.in.h (strndup): Modernize prototype.
35023
35024         getcwd: port to mingw
35025         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
35026         different from the POSIX assumptions made throughout the getcwd
35027         module; fortunately, the mingw getcwd does not need replacement.
35028         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
35029         * modules/getcwd-tests: New test.
35030         * tests/test-getcwd.c: Likewise.
35031
35032         link: fix platform bugs
35033         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
35034         * lib/link.c (link): Work around them.  Fix related mingw bug.
35035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
35036         * modules/unistd (Makefile.am): Substitute it.
35037         * lib/unistd.in.h (link): Declare replacement.
35038         * doc/posix-functions/link.texi (link): Document this.
35039         * modules/link (Depends-on): Add strdup-posix, sys_stat.
35040
35041         test-link: consolidate into single C program, test more cases
35042         * tests/test-link.sh: Delete.
35043         * tests/test-link.c: Test more error conditions.  Exposes bugs on
35044         at least Cygwin and Solaris.
35045         * modules/link-tests (Files): Remove unused file.
35046         (Depends-on): Add errno, sys_stat.
35047         (Makefile.am): Simplify.
35048
35049 2009-09-08  Bruno Haible  <bruno@clisp.org>
35050
35051         Work around towlower, towupper bug on mingw.
35052         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
35053         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
35054         * doc/posix-functions/towlower.texi: Mention the mingw bug.
35055         * doc/posix-functions/towupper.texi: Likewise.
35056         Reported by Eric Blake.
35057
35058 2009-09-08  Jim Meyering  <meyering@redhat.com>
35059
35060         build: don't try to run autoheader if we don't use it
35061         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
35062         is not used in configure.ac.
35063
35064 2009-09-08  Eric Blake  <ebb9@byu.net>
35065
35066         euidaccess: fix compilation error
35067         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
35068
35069         rawmemchr: relax license
35070         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
35071         okay.
35072         Reported by Jim Meyering.
35073
35074         mkfifoat: new module
35075         * modules/mkfifoat: New file.
35076         * lib/mkfifoat.c: Likewise.
35077         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
35078         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35079         * modules/sys_stat (Makefile.am): Use them.
35080         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
35081         * MODULES.html.sh (File system functions): Mention module.
35082         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35083         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35084         * modules/mkfifoat-tests: New test.
35085         * tests/test-mkfifoat.c: Likewise.
35086
35087         strchrnul: relax license
35088         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
35089         okay.
35090         Reported by Jim Meyering.
35091
35092 2009-09-08  Eric Blake  <ebb9@byu.net>
35093
35094         fstatat: fix compilation on Solaris
35095         * lib/fstatat.c (includes): Add fcntl.h.
35096         Reported by Pádraig Brady.
35097
35098 2009-09-07  Eric Blake  <ebb9@byu.net>
35099
35100         rename: modernize replacement
35101         * modules/rename (Depends-on): Add stdio.
35102         (configure.ac): Declare witness.
35103         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
35104         stdio take care of replacement.
35105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35106         * modules/stdio (Makefile.am): Substitute them.
35107         * lib/stdio.in.h (rename): Declare replacement.
35108         * lib/rename.c (includes): Allow cross-compilation to non-windows
35109         machines.
35110         * doc/posix-functions/rename.texi (rename): Improve
35111         documentation.
35112
35113         stdio: sort witness names
35114         * modules/stdio (Makefile.am): Sort replacements.
35115         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35116         * lib/stdio.in.h: Likewise.
35117
35118         getcwd: minor cleanups
35119         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
35120         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
35121
35122         openat: provide more convenience names
35123         * modules/faccessat (configure.ac): Add C witness.
35124         * lib/unistd.in.h (readlinkat): Fix typo.
35125         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
35126         convenience wrappers.
35127         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
35128         wrappers in syntax checks.
35129
35130 2009-09-06  Eric Blake  <ebb9@byu.net>
35131
35132         doc: fix comments in recent patches
35133         * lib/faccessat.c: Mention correct function.
35134         * lib/fchmodat.c: Likewise.
35135         * lib/fchownat.c: Likewise.
35136         * lib/symlinkat.c: Likewise.
35137         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
35138         constants.
35139
35140         faccessat, symlinkat: continue cleanup of previous patch
35141         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
35142         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35143         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
35144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
35145         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
35146         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
35147         set.
35148
35149 2009-09-06  Bruno Haible  <bruno@clisp.org>
35150
35151         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
35152         (fstatat): Declare if GNULIB_FSTATAT is set.
35153         (mkdirat): Declare if GNULIB_MKDIRAT is set.
35154         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
35155         (unlinkat): Declare if GNULIB_UNLINKAT is set.
35156         * modules/fcntl-h (Files): Remove m4/openat.m4.
35157         * modules/sys_stat (Files): Remove m4/openat.m4.
35158         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
35159         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
35160         * modules/unistd (Files): Remove m4/openat.m4.
35161         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
35162         GNULIB_OPENAT.
35163         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
35164         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
35165         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
35166         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
35167         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
35168         gl_OPENAT_DEFAULTS.
35169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
35170         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
35171         Don't require gl_OPENAT_DEFAULTS.
35172         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
35173         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
35174         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
35175         (gl_OPENAT_DEFAULTS): Remove macro.
35176
35177 2009-09-06  Bruno Haible  <bruno@clisp.org>
35178
35179         * modules/openat (configure.ac): Remove unneeded witness.
35180
35181 2009-09-06  Bruno Haible  <bruno@clisp.org>
35182
35183         Set errno to ENOSYS when a function is entirely unsupported.
35184         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
35185         EOPNOTSUPP.
35186         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35187         * modules/chown (Depends-on): Remove errno.
35188
35189 2009-09-06  Bruno Haible  <bruno@clisp.org>
35190
35191         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
35192
35193 2009-09-06  Bruno Haible  <bruno@clisp.org>
35194
35195         * lib/sys_stat.in.h: Fix preprocessor command indentation.
35196
35197 2009-09-06  Ben Pfaff  <blp@gnu.org>
35198             Bruno Haible  <bruno@clisp.org>
35199
35200         Work around a glibc bug in strtok_r.
35201         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
35202         Undefine if UNDEFINE_STRTOK_R is set.
35203         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
35204         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35205         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
35206         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
35207         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
35208         UNDEFINE_STRTOK_R.
35209         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
35210
35211 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
35212
35213         exclude: minor fix
35214         * lib/exclude.c: Include wctype.h
35215
35216 2009-09-06  Akim Demaille  <demaille@gostai.com>
35217
35218         bootstrap: improve error message
35219         * build-aux/bootstrap (find_tool): Upon failure, report the list
35220         of candidates.
35221         Honor the initial value of the envvar.
35222
35223 2009-09-05  Eric Blake  <ebb9@byu.net>
35224
35225         symlinkat: new module
35226         * modules/symlinkat: New file.
35227         * lib/symlinkat.c: Likewise.
35228         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
35229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
35230         * modules/unistd (Makefile.am): Use them.
35231         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
35232         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
35233         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
35234         * MODULES.html.sh (File system functions): Mention module.
35235         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35236         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35237         * modules/symlinkat-tests: New test.
35238         * tests/test-symlinkat.c: Likewise.
35239
35240         test-openat-safer: add more checks
35241         * tests/test-openat-safer.c (main): Check more code paths.
35242
35243 2009-09-05  Jim Meyering  <meyering@redhat.com>
35244
35245         syntax-check: detect unnecessary inclusion of openat.h
35246         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
35247
35248 2009-09-05  Bruno Haible  <bruno@clisp.org>
35249
35250         Support towlower, towupper.
35251         * doc/posix-functions/towlower.texi: Mention module wctype.
35252         * doc/posix-functions/towupper.texi: Likewise.
35253         * lib/wctype.in.h (towlower, towupper): New functions.
35254         * tests/test-wctype.c: Include stdio.h, stdlib.h.
35255         (ASSERT): New macro.
35256         (e): New variable.
35257         (main): Test also towlower, towupper. Test WEOF argument.
35258         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35259
35260 2009-09-05  Bruno Haible  <bruno@clisp.org>
35261
35262         Fix conversion behaviour when the input is invalid.
35263         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
35264         mark occurring in first pass of indirect conversion.
35265         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
35266         input.
35267         Found by clang's static analyzer.
35268
35269 2009-09-05  Bruno Haible  <bruno@clisp.org>
35270
35271         * tests/test-striconveh.c (main): Test indirect conversion on platforms
35272         where direct conversion is possible.
35273
35274 2009-09-04  Eric Blake  <ebb9@byu.net>
35275
35276         openat: fail with ENOENT on empty name
35277         * lib/openat-proc.c (openat_proc_name): Special-case the empty
35278         buffer.
35279
35280         link-follow: fix logic bug in prior patch
35281         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
35282         reversed sense of yes and no in prior patch.  Avoid confusing
35283         compilation failure with desired semantics.
35284
35285         link-follow: accomodate mingw and cross-compilation
35286         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
35287         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
35288         cross-compilation results to -1, to make linkat easier to
35289         implement when cross-compiling.  Trivially support mingw.
35290         * modules/link-follow (configure.ac): Call new name.
35291         * NEWS: Mention this.
35292
35293 2009-09-03  Eric Blake  <ebb9@byu.net>
35294
35295         faccessat: compile replacement
35296         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
35297         needed.
35298
35299         fts: fix compilation error
35300         * lib/fts.c (includes): Re-add "openat.h", for
35301         openat_needs_fchdir.
35302
35303         faccessat: new module
35304         * modules/faccessat: New file.
35305         * lib/faccessat.c: Likewise.
35306         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
35307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35308         * modules/unistd (Makefile.am): Use it.
35309         * lib/unistd.in.h (faccessat): Declare it.
35310         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
35311         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
35312         * MODULES.html.sh (File system functions): Mention it.
35313         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
35314         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35315
35316         euidaccess: prefer POSIX over non-standard implementation
35317         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
35318         * lib/euidaccess.c (euidaccess): Use it if available.
35319
35320         openat: make template easier to use
35321         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
35322         AT_FUNC_F2 to be undefined.
35323         (VALIDATE_FLAG): New macro; use it to reject bad flags.
35324         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
35325         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
35326         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
35327         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
35328         Likewise.
35329         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
35330         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
35331         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
35332         Likewise.
35333
35334         openat: declare in POSIX headers
35335         * NEWS: Mention this.
35336         * modules/openat (configure.ac): Declare witnesses.
35337         (Depends-on): Add fcntl-h, sys_stat, unistd.
35338         (Include): Mention correct headers.
35339         * modules/fcntl-h (Depends-on): Add link-warning.
35340         (Files): Add openat.m4.
35341         (Makefile.am): Substitute witnesses.
35342         * modules/sys_stat (Files, Makefile.am): Likewise.
35343         * modules/unistd (Files, Makefile.am): Likewise.
35344         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
35345         (gl_OPENAT_DEFAULTS): New macro.
35346         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
35347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
35348         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
35349         (SYS_STAT_H): Remove unused variable.
35350         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
35351         * lib/fcntl--.h (includes): Remove unneeded header.
35352         * lib/openat-safer.c (includes): Likewise.
35353         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
35354         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
35355         appropriate headers.
35356         (__OPENAT_PREFIX): Delete.
35357         * lib/fcntl.in.h (openat): Provide declaration.
35358         (AT_FDCWD): Fix Solaris bug.
35359         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
35360         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
35361         * lib/fchmodat.c (includes):  Adjust to find declaration.
35362         * lib/fchownat.c (includes): Likewise.
35363         * lib/mkdirat.c (includes): Likewise.
35364         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
35365         still visible.
35366
35367 2009-09-02  Eric Blake  <ebb9@byu.net>
35368
35369         errno: use consistently
35370         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
35371         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
35372         * lib/canonicalize.c (ELOOP): Likewise.
35373         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
35374         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
35375         * lib/lchown.c (EOPNOTSUPP): Likewise.
35376         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
35377         * lib/savewd.c (ESTALE): Likewise.
35378         * lib/settime.c (ENOSYS): Likewise.
35379         * lib/utimens.c (ENOSYS): Likewise.
35380         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
35381         * lib/chdir-safer.c (ELOOP): Likewise.
35382         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
35383         * modules/c-stack (Depends-on): Add errno.
35384         * modules/canonicalize (Depends-on): Likewise.
35385         * modules/chdir-safer (Depends-on): Likewise.
35386         * modules/fdopendir (Depends-on): Likewise.
35387         * modules/inet_ntop (Depends-on): Likewise.
35388         * modules/inet_pton (Depends-on): Likewise.
35389         * modules/lchown (Depends-on): Likewise.
35390         * modules/openat (Depends-on): Likewise.
35391         * modules/savewd (Depends-on): Likewise.
35392         * modules/settime (Depends-on): Likewise.
35393         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
35394
35395         fts: avoid leaking fds
35396         * modules/fts (Depends-on): Add cloexec.
35397         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
35398         flag.
35399
35400         fts: make directory fds more robust
35401         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
35402         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
35403
35404         backupfile, chdir-long, fts, savedir: make safer
35405         * lib/backupfile.c (includes): Use "dirent--.h", since
35406         numbered_backup can write to stderr during readdir.
35407         * lib/savedir.c (includes): Likewise.
35408         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
35409         emulation can write to stderr on failure.
35410         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
35411         * lib/getcwd.c: Document why opendir_safer is unused.
35412         * lib/glob.c: Likewise.
35413         * lib/scandir.c: Likewise.
35414         * lib/openat-proc.c: Likewise, for open_safer.
35415         * modules/backupfile (Depends-on): Add dirent-safer.
35416         * modules/savedir (Depends-on): Likewise.
35417         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
35418         * modules/chdir-long (Depends-on): Add openat-safer.
35419
35420         openat-safer: new module
35421         * modules/openat-safer: New file.
35422         * lib/openat-safer.c: Likewise.
35423         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
35424         * lib/fcntl-safer.h (openat_safer): Declare.
35425         * lib/fcntl--.h (openat): Override.
35426         * MODULES.html.sh (File descriptor based I/O): Mention it.
35427         * lib/openat.h: Add double-inclusion guards.
35428         * lib/openat.c (includes): Only include "fcntl-safer.h", not
35429         "fcntl--.h", so we can implement openat.
35430         * modules/openat-safer-tests: New test.
35431         * tests/test-openat-safer.c: New file.
35432
35433         dirent-safer: new module
35434         * modules/dirent-safer: New file.
35435         * lib/dirent--.h: Likewise.
35436         * lib/dirent-safer.h: Likewise.
35437         * lib/opendir-safer.c: Likewise.
35438         * m4/dirent-safer.m4: Likewise.
35439         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
35440         * modules/dirent-safer-tests: New test.
35441         * tests/test-dirent-safer.c: New file.
35442         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
35443
35444         fdopendir: optimize on mingw
35445         * lib/unistd.in.h (_gl_directory_name): New prototype.
35446         * lib/fchdir.c (_gl_directory_name): Implement it.
35447         (fchdir): Use it to simplify implementation.
35448         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
35449         fchdir, when available, to avoid calling [f]chdir().
35450
35451         fdopendir: split into its own module
35452         * lib/openat.c (fdopendir): Move...
35453         * lib/fdopendir.c: ...into new file.
35454         * modules/fdopendir: New module.
35455         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
35456         * modules/openat (Depends-on): Add fdopendir.
35457         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
35458         fdopendir here.
35459         * modules/savedir (Depends-on): Only need fdopendir, not full
35460         openat.
35461         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
35462         * lib/openat.h (fdopendir): Drop prototype.
35463         * lib/dirent.in.h (fdopendir): Provide prototype.
35464         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
35465         * modules/dirent (Makefile.am): Substitute them.
35466         * MODULES.html.sh (File system functions): Mention it.
35467         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
35468         * modules/fdopendir-tests: New file.
35469         * tests/test-fdopendir.c: Likewise.
35470
35471         fchdir: use more consistent macro convention
35472         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
35473         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
35474         REPLACE_FCHDIR, rather than relying on config.h macros.
35475         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
35476         inside a single make-time REPLACE_FCHDIR block, rather than using
35477         the config.h FCHDIR_REPLACEMENT.
35478         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
35479         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
35480         Manage fstat replacement.
35481         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
35482         REPLACE_FCHDIR.
35483         * modules/sys_stat (Files): Add m4/unistd_h.m4.
35484         (Makefile.am): Substitute REPLACE_FCHDIR.
35485         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
35486         FCHDIR_REPLACEMENT.
35487         * lib/dup-safer.c (dup_safer): Likewise.
35488         * lib/dup2.c (rpl_dup2): Likewise.
35489         * lib/dup3.c (rpl_dup3): Likewise.
35490         * lib/open.c (rpl_open): Likewise.
35491
35492         fchdir: simplify error handling, and support dup3
35493         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
35494         stdbool, malloc-posix, realloc-posix.
35495         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
35496         (ensure_dirs_slot): Return false on allocation failure.
35497         (rpl_dup2): Delete.
35498         (_gl_register_dup): New function.
35499         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
35500         (_gl_register_fd): Close fd on allocation failure.
35501         * lib/fcntl.in.h (_gl_register_fd): Update signature.
35502         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
35503         prototype.
35504         (rpl_dup2_fchdir): Delete prototype.
35505         * lib/open.c (open): Update caller.
35506         * lib/dup2.c (dup2): Track fchdir metadata.
35507         * lib/dup3.c (dup3): Likewise.
35508         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
35509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
35510
35511 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35512
35513         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
35514         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
35515         don't pass arguments to AC_OUTPUT.
35516
35517 2009-09-02  Bruno Haible  <bruno@clisp.org>
35518
35519         * modules/mkdtemp (License): Relicense under LGPLv2+.
35520         Reported by Paolo Bonzini.
35521
35522 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35523
35524         Replace uses of obsolete autoconf macros in Jim's modules.
35525         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
35526         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
35527         can evoke a warning from autoconf when run with -Wobsolete
35528         enabled.  They were declared obsolete for good reasons (see
35529         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
35530         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
35531         should not continue using the deprecated macros.
35532         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
35533         obsolete Autoconf macros with modern counterparts.
35534         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
35535         * m4/dos.m4 (gl_AC_DOS): Likewise.
35536         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
35537         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
35538         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
35539         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
35540         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
35541         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
35542         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
35543         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
35544         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
35545         Likewise.
35546         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
35547         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
35548         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
35549         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
35550         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
35551         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
35552
35553 2009-09-01  Eric Blake  <ebb9@byu.net>
35554
35555         fchdir: fix off-by-one bug in previous patch
35556         * lib/fchdir.c (rpl_fstat): Use correct bounds.
35557         (_gl_unregister_fd): Delete useless if.
35558
35559 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
35560
35561         maint.mk: sort the list of syntax-check rules
35562         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
35563         easier to get a sense of progress when the rules are run sequentially
35564         and take a long time.
35565
35566 2009-09-01  Simon Josefsson  <simon@josefsson.org>
35567
35568         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
35569         * modules/netinet_in: Likewise.
35570         * modules/sys_file: Likewise.
35571         * modules/sys_ioctl: Likewise.
35572         * modules/sys_select: Likewise.
35573         * modules/sys_socket: Likewise.
35574         * modules/sys_stat: Likewise.
35575         * modules/sys_time: Likewise.
35576         * modules/sys_times: Likewise.
35577         * modules/sys_utsname: Likewise.
35578         * modules/sys_wait: Likewise.
35579
35580 2009-09-01  Jim Meyering  <meyering@redhat.com>
35581
35582         fts: help ensure that return values are not ignored
35583         * lib/fts_.h (__GNUC_PREREQ): Define.
35584         (__attribute_warn_unused_result__): Define.
35585         (fts_children, fts_close, fts_open, fts_read): Declare with
35586         __attribute_warn_unused_result__.
35587
35588         fts: fts_close now fails also when closing a dir file descriptor fails
35589         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
35590         and propagate to caller, along with errno.
35591
35592         announce-gen: correct formatting in --help output
35593         * build-aux/announce-gen (usage): Move the one-line description in
35594         --help output "up", to where it belongs, just after Usage:.
35595
35596 2009-08-31  Eric Blake  <ebb9@byu.net>
35597
35598         fchdir: port to mingw
35599         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
35600         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
35601         opened, then use a substitute.
35602         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
35603         replacement.
35604         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
35605         (_gl_register_fd): No need to check stat if open already filters
35606         all directories.
35607         (fchdir): Fix error condition to match POSIX.
35608         * modules/fchdir (Depends-on): Add sys_stat.
35609         * doc/posix-functions/open.texi (open): Document the limitation.
35610         * modules/fchdir-tests: New file.
35611         * tests/test-fchdir.c: Likewise.
35612
35613         canonicalize: allow cross-testing from cygwin to mingw
35614         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
35615         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
35616         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
35617         Likewise.
35618         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
35619         target does not support symlinks.
35620         * tests/test-canonicalize-lgpl.sh: Likewise.
35621
35622         chown: avoid compilation warning on mingw
35623         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
35624         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
35625         mingw.
35626         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
35627         * modules/chown (Depends-on): Add errno.
35628
35629 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
35630
35631         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
35632         command.
35633
35634 2009-08-31  Jim Meyering  <meyering@redhat.com>
35635
35636         canonicalize: remove useless initialization
35637         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
35638         initialization of local, "end".
35639
35640 2009-08-30  Bruno Haible  <bruno@clisp.org>
35641
35642         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
35643         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
35644         ENOSYS.
35645
35646 2009-08-30  Bruno Haible  <bruno@clisp.org>
35647
35648         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
35649         /usr/xpg4/bin/tr when it exists.
35650         * tests/test-pipe-filter-gi1.sh: Likewise.
35651
35652 2009-08-30  Bruno Haible  <bruno@clisp.org>
35653
35654         Work around deficient /usr/bin/id program on Solaris.
35655         * tests/test-file-has-acl.sh (ID): New variable.
35656         * tests/test-set-mode-acl.sh (ID): Likewise.
35657         * tests/test-copy-acl.sh (ID): Likewise.
35658         * tests/test-copy-file.sh (ID): Likewise.
35659
35660 2009-08-30  Bruno Haible  <bruno@clisp.org>
35661
35662         New module 'xstriconveh'.
35663         * lib/xstriconveh.h: New file.
35664         * lib/xstriconveh.c: New file.
35665         * modules/xstriconveh: New file.
35666
35667 2009-08-30  Bruno Haible  <bruno@clisp.org>
35668
35669         Make it easier to use mem_cd_iconveh.
35670         * lib/striconveh.h (iconveh_t): New type.
35671         (iconveh_open, iconveh_close): New declarations.
35672         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35673         with a single 'const iconveh_t *' argument.
35674         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
35675         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
35676         with a single 'const iconveh_t *' argument.
35677         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
35678         * tests/test-striconveh.c (main): Update.
35679         * NEWS: Mention the change.
35680
35681 2009-08-30  Bruno Haible  <bruno@clisp.org>
35682
35683         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
35684         problem.
35685
35686 2009-08-30  Bruno Haible  <bruno@clisp.org>
35687
35688         Work around iconv_open problem on Solaris.
35689         * lib/iconv_open-solaris.gperf: New file.
35690         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
35691         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
35692         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
35693         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
35694         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
35695         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
35696
35697 2009-08-29  Jim Meyering  <meyering@redhat.com>
35698
35699         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
35700         * top/maint.mk (cvs-check): Remove target; it was just an alias
35701         to the better-named vc-diff-check.
35702         (maintainer-distcheck): Remove rule.  It was used only from
35703         the (alpha/beta/major) target, and all of its commands but one
35704         were coreutils-specific.
35705         (vc-dist): Remove rule.
35706         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
35707         Run vc-diff-check, not vc-dist.
35708         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
35709
35710 2009-08-27  Bruno Haible  <bruno@clisp.org>
35711
35712         * tests/test-bitrotate.c (main): Remove test that uses a shift count
35713         of 0.
35714
35715 2009-08-27  Bruno Haible  <bruno@clisp.org>
35716
35717         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
35718         compilers.
35719         * doc/func.texi: Document the SunPRO C bug.
35720
35721 2009-08-27  Bruno Haible  <bruno@clisp.org>
35722
35723         Fix link error on Solaris.
35724         * tests/test-parse-duration.c (xstrdup): Remove function.
35725
35726 2009-08-26  Pádraig Brady  <P@draigbrady.com>
35727
35728         ignore-value: handle pointer types, too
35729         * lib/ignore-value.h (__attribute__): Remove definition.
35730         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
35731         of a more concise and more-often effective "(void) i" statement.
35732         (ignore_ptr): New function to suppress warnings from functions that
35733         return pointers, and to make it explicit that one function doesn't
35734         handle all cases.
35735
35736 2009-08-25  Bruno Haible  <bruno@clisp.org>
35737
35738         dup2: work around a Linux bug.
35739         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
35740         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
35741         * doc/posix-functions/dup2.texi: Mention the Linux bug.
35742         Reported by Simon Josefsson.
35743
35744 2009-08-25  Jim Meyering  <meyering@redhat.com>
35745
35746         libguestfs uses gnulib
35747         * users.txt: Add libguestfs.
35748
35749 2009-08-24  Eric Blake  <ebb9@byu.net>
35750
35751         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
35752         * lib/pipe2.c (includes): Add binary-io.h.
35753         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
35754
35755 2009-08-24  Bruno Haible  <bruno@clisp.org>
35756
35757         Tolerate declared but missing accept4 syscall.
35758         * lib/accept4.c (accept4): Invoke original accept4 function first, if
35759         available.
35760         * lib/sys_socket.in.h (accept4): If the function is already present,
35761         override it.
35762         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
35763         * modules/accept4 (Makefile.am): Compile accept4.c always.
35764         Reported by Paolo Bonzini and Eric Blake.
35765
35766 2009-08-23  Bruno Haible  <bruno@clisp.org>
35767
35768         New module 'accept4'.
35769         * lib/sys_socket.in.h (accept4): New declaration.
35770         * lib/accept4.c: New file.
35771         * m4/accept4.m4: New file.
35772         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35773         GNULIB_ACCEPT4, HAVE_ACCEPT4.
35774         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
35775         HAVE_ACCEPT4.
35776         * modules/accept4: New file.
35777         * doc/glibc-functions/accept4.texi: Mention the new module.
35778
35779 2009-08-24  Jim Meyering  <meyering@redhat.com>
35780
35781         progname: also set global program_invocation_name, when possible
35782         Before this change, a libtool-enabled program that calls glibc's
35783         error function would report the program name as
35784         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
35785         * modules/progname (configure.ac): Check for a declaration of
35786         program_invocation_name.
35787         * lib/progname.c:  Include <errno.h>.
35788         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
35789         Set program_invocation_name.
35790
35791 2009-08-23  Bruno Haible  <bruno@clisp.org>
35792
35793         * lib/dup3.c: Include <string.h>.
35794
35795 2009-08-23  Bruno Haible  <bruno@clisp.org>
35796
35797         * lib/dup3.c (dup3): Test only once whether the system actually exists.
35798         * lib/pipe2.c (pipe2): Likewise.
35799         Suggested by Eric Blake.
35800
35801 2009-08-23  Bruno Haible  <bruno@clisp.org>
35802
35803         Tolerate declared but missing dup3 syscall.
35804         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
35805         * lib/unistd.in.h (dup3): If the function is already present,
35806         override it.
35807         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
35808         * modules/dup3 (Makefile.am): Compile dup3.c always.
35809         Reported by Paolo Bonzini.
35810
35811 2009-08-23  Bruno Haible  <bruno@clisp.org>
35812
35813         Tolerate declared but missing pipe2 syscall.
35814         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
35815         available.
35816         * lib/unistd.in.h (pipe2): If the function is already present,
35817         override it.
35818         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
35819         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
35820         Reported by Paolo Bonzini.
35821
35822 2009-08-23  Bruno Haible  <bruno@clisp.org>
35823
35824         * lib/pipe2.c (pipe2): Move #ifs inside function.
35825
35826 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35827
35828         quotearg: document limitations of quote_these_too
35829         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
35830         those limitations are created.
35831         * lib/quotearg.h (set_char_quoting): Document that digits and
35832         letters that are special after backslash are not permitted.
35833         (quotearg_char): Cross-reference set_char_quoting documentation.
35834
35835 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
35836
35837         quotearg: implement custom_quoting_style
35838         * lib/quotearg.c: (struct quoting_options): Add left_quote and
35839         right_quote fields.
35840         (set_custom_quoting): New public function.
35841         (quotearg_buffer_restyled): Add left_quote and right_quote
35842         arguments, handle them very much like locale quoting, and update
35843         all uses.
35844         (quotearg_n_custom): New public function.
35845         (quotearg_n_custom_mem): New public function.
35846         (quotearg_custom): New public function.
35847         (quotearg_custom_mem): New public function.
35848         * lib/quotearg.h: Prototype and document new public functions.
35849         (enum quoting_style): For escape_quoting_style and
35850         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
35851         ignored even though they're otherwise like c_quoting_style.
35852         Add custom_quoting_style member and document with comparison to
35853         clocale_quoting_style.
35854         * tests/test-quotearg.c (custom_quotes): New array.
35855         (custom_results): New array.
35856         (main): Extend to test custom quoting.
35857
35858 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35859
35860         quotearg: fix right quote escaping when it's in quote_these_too
35861         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
35862         quote, be sure to prepend only one backslash.
35863         * tests/test-quotearg.c (use_quote_double_quotes): New function.
35864         (main): Test it.
35865
35866 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
35867
35868         quotearg-tests: test escaping of embedded locale quotes
35869         * tests/test-quotearg.c (struct result_strings): Add member for
35870         new input.
35871         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
35872         (inputs): Add new input.
35873         (results_g): Add expected results.
35874         (flag_results): Likewise.
35875         (locale_results): Likewise.
35876         (compare_strings): Check those.
35877
35878 2009-08-23  Bruno Haible  <bruno@clisp.org>
35879
35880         Tests for module 'dup3'.
35881         * modules/dup3-tests: New file.
35882         * tests/test-dup3.c: New file.
35883
35884         New module 'dup3'.
35885         * lib/unistd.in.h (dup3): New declaration.
35886         * lib/dup3.c: New file.
35887         * m4/dup3.m4: New file.
35888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
35889         HAVE_DUP3.
35890         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
35891         * modules/dup3: New file.
35892         * doc/glibc-functions/dup3.texi: Mention the new module.
35893
35894 2009-08-23  Bruno Haible  <bruno@clisp.org>
35895
35896         Tweak the dup2 test.
35897         * tests/test-dup2.c (main): Create the test file empty. Verify that an
35898         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
35899         the test file is still empty. Fix argument order of lseek.
35900
35901 2009-08-23  Bruno Haible  <bruno@clisp.org>
35902
35903         Avoid test link errors when the modules getopt-gnu, gettext are used.
35904         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
35905         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35906
35907 2009-08-23  Bruno Haible  <bruno@clisp.org>
35908
35909         Fix getdtablesize() on mingw.
35910         * lib/getdtablesize.c (getdtablesize): Implement differently.
35911         * lib/unistd.in.h (getdtablesize): Improve comment.
35912
35913 2009-08-23  Bruno Haible  <bruno@clisp.org>
35914
35915         New module 'mkostemp'.
35916         Based on Ulrich Drepper's 2007-08-10 change in glibc.
35917         * lib/stdlib.in.h (mksotemp): New declaration.
35918         * lib/mkostemp.c: New file, from glibc with modifications.
35919         * lib/tempname.h (GT_FILE): Remove outdated comment.
35920         (gen_tempname): Add flags argument.
35921         * lib/tempname.c (__GT_BIGFILE): Remove macro.
35922         (__GT_FILE): Map to 1.
35923         (small_open, large_open): Remove macros.
35924         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
35925         * lib/mkstemp.c (mkstemp): Update.
35926         * lib/mkdtemp.c (mkdtemp): Likewise.
35927         * m4/mkostemp.m4: New file.
35928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
35929         HAVE_MKOSTEMP.
35930         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
35931         HAVE_MKOSTEMP.
35932         * modules/mkostemp: New file, based on modules/mkstemp.
35933         * doc/glibc-functions/mkostemp.texi: Mention the new module.
35934         * NEWS: Mention the change.
35935
35936 2009-08-23  Bruno Haible  <bruno@clisp.org>
35937
35938         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
35939         Reported by Eric Blake.
35940
35941 2009-08-23  Bruno Haible  <bruno@clisp.org>
35942
35943         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
35944         Reported by Eric Blake.
35945
35946 2009-08-23  Bruno Haible  <bruno@clisp.org>
35947
35948         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
35949         * modules/pipe2 (Depends-on): Likewise.
35950
35951 2009-08-23  Eric Blake  <ebb9@byu.net>
35952
35953         fcntl-h: add O_TTY_INIT support
35954         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
35955         * tests/test-fcntl-h.c (o): Test it.
35956         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35957
35958         fcntl-h: rename from fcntl, in preparation for fcntl(2)
35959         * modules/fcntl: Move <fcntl.h> header replacement...
35960         * modules/fcntl-h: ...to new name, so as not to collide with
35961         like-named function.
35962         * tests/test-fcntl.c: Rename...
35963         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
35964         * modules/fcntl-tests: Rename...
35965         * modules/fcntl-h-tests: ...to this.  Update test file name.
35966         * modules/chdir-long (Depends-on): Update clients.
35967         * modules/chdir-safer (Depends-on): Likewise.
35968         * modules/fcntl-safer (Depends-on): Likewise.
35969         * modules/fts (Depends-on): Likewise.
35970         * modules/mkancesdirs (Depends-on): Likewise.
35971         * modules/mkdir-p (Depends-on): Likewise.
35972         * modules/open (Depends-on): Likewise.
35973         * modules/savewd (Depends-on): Likewise.
35974         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
35975         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35976
35977 2009-08-22  Bruno Haible  <bruno@clisp.org>
35978
35979         * modules/binary-io (License): Relicense under LGPL.
35980         * modules/pipe2 (License): Likewise.
35981
35982 2009-08-22  Bruno Haible  <bruno@clisp.org>
35983
35984         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
35985         return value.
35986         * lib/pipe-filter-gi.c (filter_init): Likewise.
35987         Reported by Eric Blake.
35988
35989 2009-08-22  Bruno Haible  <bruno@clisp.org>
35990
35991         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
35992         * modules/pipe (Depends-on): Add pipe2.
35993
35994 2009-08-22  Bruno Haible  <bruno@clisp.org>
35995
35996         Tests for module 'pipe2'.
35997         * modules/pipe2-tests: New file.
35998         * tests/test-pipe2.c: New file.
35999
36000         New module 'pipe2'.
36001         * lib/unistd.in.h (pipe2): New declaration.
36002         * lib/pipe2.c: New file.
36003         * m4/pipe2.m4: New file.
36004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
36005         HAVE_PIPE2.
36006         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
36007         * modules/pipe2: New file.
36008         * doc/glibc-functions/pipe2.texi: Mention the new module.
36009
36010 2009-08-22  Bruno Haible  <bruno@clisp.org>
36011
36012         Reference some new glibc functions.
36013         * doc/glibc-functions/accept4.texi: New file.
36014         * doc/glibc-functions/dup3.texi: New file.
36015         * doc/glibc-functions/mkostemp.texi: New file.
36016         * doc/glibc-functions/pipe2.texi: New file.
36017         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
36018         (Glibc sys/socket.h): Refer to accept4.
36019         (Glibc unistd.h): Refer to dup3, pipe2.
36020         Reported by Eric Blake.
36021
36022 2009-08-22  Jim Meyering  <meyering@redhat.com>
36023             Bruno Haible  <bruno@clisp.org>
36024
36025         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
36026         This makes it so packages using automake-1.11's silent-rules option
36027         can print e.g., a single "GEN    configmake.h" line, rather than
36028         the 30+ statements that perform the job.  If you want to see the
36029         actual commands, you can still run "make V=1".
36030         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
36031         so that make output is abbreviated when those variables are defined
36032         appropriately.
36033         * modules/argz: Likewise.
36034         * modules/arpa_inet: Likewise.
36035         * modules/byteswap: Likewise.
36036         * modules/configmake: Likewise.
36037         * modules/dirent: Likewise.
36038         * modules/errno: Likewise.
36039         * modules/fcntl: Likewise.
36040         * modules/float: Likewise.
36041         * modules/fnmatch: Likewise.
36042         * modules/getopt-posix: Likewise.
36043         * modules/glob: Likewise.
36044         * modules/iconv_open: Likewise.
36045         * modules/inttypes: Likewise.
36046         * modules/localcharset: Likewise.
36047         * modules/locale: Likewise.
36048         * modules/math: Likewise.
36049         * modules/netdb: Likewise.
36050         * modules/netinet_in: Likewise.
36051         * modules/poll: Likewise.
36052         * modules/posix_spawnp-tests: Likewise.
36053         * modules/sched: Likewise.
36054         * modules/search: Likewise.
36055         * modules/selinux-h: Likewise.
36056         * modules/signal: Likewise.
36057         * modules/spawn: Likewise.
36058         * modules/stdarg: Likewise.
36059         * modules/stdbool: Likewise.
36060         * modules/stddef: Likewise.
36061         * modules/stdint: Likewise.
36062         * modules/stdio: Likewise.
36063         * modules/stdlib: Likewise.
36064         * modules/string: Likewise.
36065         * modules/strings: Likewise.
36066         * modules/sys_file: Likewise.
36067         * modules/sys_ioctl: Likewise.
36068         * modules/sys_select: Likewise.
36069         * modules/sys_socket: Likewise.
36070         * modules/sys_stat: Likewise.
36071         * modules/sys_time: Likewise.
36072         * modules/sys_times: Likewise.
36073         * modules/sys_utsname: Likewise.
36074         * modules/sys_wait: Likewise.
36075         * modules/sysexits: Likewise.
36076         * modules/time: Likewise.
36077         * modules/unistd: Likewise.
36078         * modules/wchar: Likewise.
36079         * modules/wctype: Likewise.
36080
36081 2009-08-22  Jim Meyering  <meyering@redhat.com>
36082
36083         announce-gen: detect write failure
36084         * build-aux/announce-gen: Add Coda at end.
36085         Remove equivalent-but-more-verbose block at top.
36086
36087 2009-08-19  Akim Demaille  <demaille@gostai.com>
36088
36089         bootstrap: --help to stdout.
36090         * bootstrap (usage): Don't send --help to stderr.
36091         Use a here doc instead of a long string.
36092
36093 2009-08-21  Eric Blake  <ebb9@byu.net>
36094
36095         test-popen-safer: split from test-popen
36096         * tests/test-popen.c (main): Move...
36097         * tests/test-popen.h: ...into new file.
36098         * tests/test-popen-safer2.c: New file.
36099         * modules/popen-tests (Files): Add test-popen.h.
36100         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
36101         Suggested by Bruno Haible.
36102
36103         test-fcntl-safer: split from test-open
36104         * tests/test-open.c (main): Move...
36105         * tests/test-open.h: ...into new file.
36106         * tests/test-fcntl-safer.c: New file.
36107         * modules/open-tests (Files): Add test-open.h.
36108         * modules/fcntl-safer-tests: New file.
36109         Suggested by Bruno Haible.
36110
36111         test-fopen-safer: split from test-fopen
36112         * tests/test-fopen.c (main): Move...
36113         * tests/test-fopen.h: ...into new file.
36114         * tests/test-fopen-safer.c: New file.
36115         * modules/fopen-tests (Files): Add test-fopen.h.
36116         * modules/fopen-safer-tests: New file.
36117         Suggested by Bruno Haible.
36118
36119 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36120
36121         popen-safer: test O_CLOEXEC at run-time.
36122         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
36123
36124 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
36125
36126         fcntl: move more flags to the header
36127         * lib/cloexec.c: Do not define FD_CLOEXEC here.
36128         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
36129         * lib/fcntl.in.h: Do both things here.
36130
36131 2009-08-21  Jim Meyering  <meyering@redhat.com>
36132
36133         consistently remove $@-t before redirecting to it
36134         * modules/argz: Remove $@-t and $@ before redirecting to the former.
36135         * modules/alloca-opt: Likewise.
36136         * modules/byteswap: Likewise.
36137         * modules/fnmatch: Likewise.
36138         * modules/getopt-posix: Likewise.
36139         * modules/glob: Likewise.
36140         * modules/poll: Likewise.
36141         * modules/posix_spawnp-tests: Likewise.
36142         * modules/sys_socket: Likewise.
36143         * modules/sysexits: Likewise.
36144
36145 2009-08-21  Eric Blake  <ebb9@byu.net>
36146
36147         popen: simplify access to original popen
36148         * lib/popen.c (rpl_popen): No need to worry about popen being a
36149         macro.
36150         Reported by Bruno Haible.
36151
36152 2009-08-20  Eric Blake  <ebb9@byu.net>
36153
36154         build: avoid some compiler warnings
36155         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
36156         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
36157         type.
36158         (new_exclude_segment, excluded_file_pattern_p)
36159         (excluded_file_name_p): Reduce scope.
36160         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
36161         old-style declaration.
36162
36163 2009-08-20  Simon Josefsson  <simon@josefsson.org>
36164
36165         * tests/test-exclude1.sh: Handle Windows EOL.
36166         * tests/test-exclude2.sh: Likewise.
36167         * tests/test-exclude3.sh: Likewise.
36168         * tests/test-exclude4.sh: Likewise.
36169         * tests/test-exclude5.sh: Likewise.
36170         * tests/test-exclude6.sh: Likewise.
36171         * tests/test-exclude7.sh: Likewise.
36172
36173 2009-08-19  Akim Demaille  <demaille@gostai.com>
36174
36175         bootstrap: find sha1sum when named gsha1sum.
36176         * bootstrap (find_tool): New.
36177         ($SHA1SUM): New.
36178         Use it.
36179
36180 2009-08-20  Jim Meyering  <meyering@redhat.com>
36181
36182         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
36183         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
36184         expression that converts "." in a file name to "\." in the resulting
36185         regexp.  Start with a dummy statement, so that prior shell variable
36186         definitions are expanded portably.  Reported by Simon Josefsson.
36187
36188 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
36189
36190         Fix polling for writeability of a screen buffer.
36191         * lib/poll.c: Distinguish input and screen buffers for the
36192         Win32 implementation.
36193         * lib/select.c: Likewise.
36194
36195 2009-08-19  Eric Blake  <ebb9@byu.net>
36196
36197         popen-safer: prevent popen from clobbering std descriptors
36198         * modules/popen-safer: New file.
36199         * lib/popen-safer.c: Likewise.
36200         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
36201         * lib/stdio--.h (popen): Provide override.
36202         * lib/stdio-safer.h (popen_safer): Provide declaration.
36203         * tests/test-popen.c (includes): Partially test this.
36204         * modules/popen-safer-tests: New file, for more tests.
36205         * tests/test-popen-safer.c: Likewise.
36206         * MODULES.html.sh (file stream based Input/Output): Mention it.
36207
36208         tests: test some of the *-safer modules
36209         * modules/fopen-safer (Depends-on): Add fopen.
36210         * modules/fcntl-safer (Depends-on): Add fcntl.
36211         * modules/stdlib-safer (Depends-on): Add stdlib.
36212         (configure.ac): Set indicator.
36213         * modules/unistd-safer (configure.ac): Likewise.
36214         * modules/tmpfile-safer (configure.ac): Likewise.
36215         (Depends-on): Add tmpfile.
36216         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
36217         active.
36218         * tests/test-fopen.c (includes): Test safer versions when they are
36219         in use.
36220         * tests/test-open.c (includes): Likewise.
36221
36222         popen: fix cygwin 1.5 bug when stdin closed
36223         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
36224         * modules/popen: New file.
36225         * modules/popen-tests: Likewise.
36226         * tests/test-popen.c: Likewise.
36227         * m4/popen.m4: Likewise.
36228         * lib/popen.c: Likewise.
36229         * lib/stdio.in.h (popen): New declaration.
36230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
36231         * modules/stdio (Makefile.am): Likewise.
36232         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
36233
36234 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
36235
36236         maint.mk: give full control over update-copyright exclusions
36237         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
36238         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
36239         (update-copyright): Don't force inclusion of top-level
36240         ChangeLog.  Don't force exclusion of all COPYING files, but make
36241         them the default exclusion instead.
36242
36243 2009-08-16  Bruno Haible  <bruno@clisp.org>
36244
36245         Fix test failures on Solaris 10.
36246         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
36247         tests when Solaris iconv() is used.
36248         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36249         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36250         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36251         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36252         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36253
36254 2009-08-16  Bruno Haible  <bruno@clisp.org>
36255
36256         Fix test failures on Solaris 10.
36257         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
36258         'tr' program and pass it as first argument.
36259         * tests/test-pipe-filter-gi1.sh: Likewise.
36260         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
36261         program as first argument.
36262         * tests/test-pipe-filter-gi1.c (main): Likewise.
36263
36264 2009-08-16  Eric Blake  <ebb9@byu.net>
36265
36266         fpurge: fix previous commits
36267         * modules/fpurge (Makefile.am): Make replacement conditional,
36268         partially reverting 2007-04-29 change; missed in previous
36269         attempt.
36270         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
36271         is missing.
36272
36273 2009-08-16  Bruno Haible  <bruno@clisp.org>
36274
36275         Clarify fpurge's effect on the file position.
36276         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
36277         * tests/test-fpurge.c (main): Make a second pass for checking the file
36278         position.
36279
36280 2009-08-16  Bruno Haible  <bruno@clisp.org>
36281
36282         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
36283         declaration of fpurge is missing.
36284         * tests/test-fpurge.c (main): Check that the file has not more contents
36285         than expected. Close the file before removing it.
36286
36287 2009-08-15  Eric Blake  <ebb9@byu.net>
36288
36289         fpurge: don't wrap working cygwin implementation
36290         * lib/fpurge.c (fpurge): Fix comment typo.
36291         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
36292         1.7 to avoid replacement.
36293         * tests/test-fpurge.c (main): Enhance test.
36294
36295 2009-08-15  Eric Blake  <ebb9@byu.net>
36296         and Jim Meyering  <meyering@redhat.com>
36297
36298         test-update-copyright: skip if perl is insufficient
36299         * tests/test-update-copyright.sh: Failure to run maintainer tool
36300         should not cause testsuite failure on cygwin 1.5.
36301
36302 2009-08-14  Eric Blake  <ebb9@byu.net>
36303
36304         doc: mention more functions added in cygwin 1.7.0
36305         * doc/posix-headers/limits.texi (limits.h): Update for recent
36306         cygwin additions.
36307         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
36308         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36309         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
36310         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
36311         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
36312
36313 2009-08-14  Eric Blake  <ebb9@byu.net>
36314
36315         maint.mk: simplify update-copyright rule
36316         * top/maint.mk (update-copyright-local): Delete, and document how
36317         to do it in cfg.mk instead.
36318         (update-copyright-exclude-regexp): Delete, and document how to do
36319         it in .x-update-copyright instead.
36320         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
36321         exclude ChangeLog.
36322
36323 2009-08-14  Bruno Haible  <bruno@clisp.org>
36324
36325         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
36326
36327 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36328
36329         maint.mk: support update-copyright-env
36330         * top/maint.mk (update-copyright-env): Define place-holder.
36331         (update-copyright): Expand $(update-copyright-env) before
36332         invoking update-copyright.
36333
36334 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36335
36336         update-copyright: implement forced reformatting
36337         * build-aux/update-copyright: Implement and document
36338         UPDATE_COPYRIGHT_FORCE.
36339         * tests/test-update-copyright.sh: Test it.
36340
36341 2009-08-14  Eric Blake  <ebb9@byu.net>
36342         and Bruno Haible  <bruno@clisp.org>
36343
36344         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
36345         * tests/test-locale.c: Revert previous patch related to NULL.
36346         * tests/test-stdio.c: Likewise.
36347         * tests/test-stdlib.c: Likewise.
36348         * tests/test-string.c: Likewise.
36349         * tests/test-unistd.c: Likewise.
36350         * modules/time-tests (Depends-on): Add verify.
36351         * modules/wchar-tests (Depends-on): Likewise.
36352         * tests/test-time.c: Test for NULL compliance.
36353         * tests/test-wchar.c: Likewise.
36354         * modules/locale (Depends-on): Add stddef.
36355         * modules/stdio (Depends-on): Likewise.
36356         * modules/stdlib (Depends-on): Likewise.
36357         * modules/string (Depends-on): Likewise.
36358         * modules/time (Depends-on): Likewise.
36359         * modules/unistd (Depends-on): Likewise.
36360         * modules/wchar (Depends-on): Likewise.
36361         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
36362         * lib/stdlib.in.h (includes): Likewise.
36363         * lib/string.in.h (includes): Likewise.
36364         * lib/time.in.h (includes): Likewise.
36365         * lib/unistd.in.h (includes): Likewise.
36366         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
36367         replaced.
36368         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36369         * m4/stddef_h.m4: New file.
36370         * modules/stddef: Likewise.
36371         * lib/stddef.in.h: Likewise.
36372         * modules/stddef-tests: Likewise.
36373         * tests/test-stddef.c: Likewise.
36374         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
36375         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
36376         * doc/posix-headers/locale.texi (locale.h): Likewise.
36377         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
36378         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
36379         * doc/posix-headers/string.texi (string.h): Likewise.
36380         * doc/posix-headers/time.texi (time.h): Likewise.
36381         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
36382         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
36383
36384 2009-08-14  Eric Blake  <ebb9@byu.net>
36385
36386         doc: improve git diff of texinfo files
36387         * .gitattributes: Add rule for *.texi files, with hint on how to
36388         use it.
36389         Copied from m4, and based on a report by Bruno Haible.
36390
36391 2009-08-14  Bruno Haible  <bruno@clisp.org>
36392
36393         Disable multithread support by default on Cygwin 1.5.x for real.
36394         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
36395
36396 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
36397
36398         update-copyright: much ado about intervals
36399         * build-aux/update-copyright: Implement and document
36400         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
36401         of copyright year intervals.
36402         Also, document UPDATE_COPYRIGHT_YEAR.
36403         * tests/test-update-copyright.sh: Test it.
36404
36405         update-copyright: convert 2-digit to 4-digit years
36406         * build-aux/update-copyright: Implement and document.
36407         * tests/test-update-copyright.sh: Update.
36408
36409 2009-08-14  Jim Meyering  <meyering@redhat.com>
36410
36411         test-exclude: avoid coreutils "make check" failure
36412         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
36413         just as in test-argmatch.c.
36414
36415 2009-08-13  Eric Blake  <ebb9@byu.net>
36416
36417         test-dup2: fix bad assumption
36418         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
36419         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
36420
36421         test-version-etc: fix CRLF portability issue
36422         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
36423         recognize \r.
36424         * tests/test-argp-version-etc-1.sh: Likewise.
36425
36426         getopt: update client modules
36427         * modules/argp (Depends-on): Use getopt-gnu.
36428         * modules/git-merge-changelog (Depends-on): Likewise.
36429         * modules/long-options (Depends-on): Likewise.
36430         * modules/xstrtol (Depends-on): Likewise.
36431
36432 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36433
36434         * tests/test-version-etc.sh: Don't fail on different
36435         project/version.  Don't fail on CRLF differences.  Rewrite to use
36436         multiple -e instead of multiple sed forks, suggested by Eric Blake
36437         <ebb9@byu.net>.
36438         * tests/test-argp-version-etc-1.sh: Likewise.
36439
36440 2009-08-13  Simon Josefsson  <simon@josefsson.org>
36441
36442         * tests/test-version-etc.sh: Don't fail on different
36443         project/version.
36444
36445 2009-08-12  Bruno Haible  <bruno@clisp.org>
36446
36447         Tests for modules 'getopt-posix', 'getopt-gnu'.
36448         * modules/getopt-posix-tests: New file.
36449         * tests/test-getopt.c: New file.
36450         * tests/test-getopt.h: New file.
36451         * tests/test-getopt_long.h: New file.
36452
36453         New modules 'getopt-posix', 'getopt-gnu'.
36454         * modules/getopt-gnu: New file, renamed from modules/getopt.
36455         * modules/getopt-posix: New file.
36456         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
36457         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
36458         (gl_GETOPT): Remove macro.
36459         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
36460         Disable the test against BSD systems that declare optreset. Test
36461         against mingw bug. Test against lack of support of optional arguments
36462         on many platforms.
36463         * doc/glibc-headers/getopt.texi: Update module name and list of
36464         relevant platforms.
36465         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
36466         'getopt-gnu' and more portability problems.
36467         * NEWS: Mention the changes.
36468
36469 2009-08-12  Bruno Haible  <bruno@clisp.org>
36470
36471         Ensure that optarg etc. get declared by <unistd.h>.
36472         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
36473         AC_USE_SYSTEM_EXTENSIONS.
36474         * modules/getopt (Depends-on): Add 'extensions'.
36475
36476 2009-08-12  Bruno Haible  <bruno@clisp.org>
36477
36478         Avoid test link errors.
36479         * modules/pipe-filter-ii-tests (Makefile.am): Define
36480         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
36481         * modules/pipe-filter-gi-tests (Makefile.am): Define
36482         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
36483         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36484
36485 2009-08-12  Bruno Haible  <bruno@clisp.org>
36486
36487         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
36488         gl_GETOPT_SUBSTITUTE before.
36489         (gl_GETOPT): Use it.
36490         * m4/argp.m4 (gl_ARGP): Update.
36491         Reported by Sergey Poznyakoff.
36492
36493         * m4/getopt.m4: Reorder macros.
36494         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
36495         (gl_GETOPT_SUBSTITUTE): Remove macro.
36496
36497 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36498
36499         Minor improvement in gitlog-to-changelog
36500
36501         * build-aux/gitlog-to-changelog: New option `--format' makes
36502         output format string configurable.
36503
36504 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36505
36506         Optimize exclude: use hash tables for non-wildcard patterns.
36507
36508         * lib/exclude.c: Include hash.h and mbuiter.h
36509         (struct exclude_pattern, exclude_segment): New data types.
36510         (struct exclude): Rewrite.
36511         (fnmatch_pattern_has_wildcards): New function.
36512         (new_exclude_segment, free_exclude_segment): New functions.
36513         (excluded_file_pattern_p, excluded_file_name_p): New functions.
36514         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
36515         * lib/exclude.h (is_fnmatch_pattern): New prototype.
36516         * modules/exclude: Depend on hash and mbuiter.
36517
36518         * modules/exclude-tests: New file.
36519         * tests/test-exclude.c: New file.
36520         * tests/test-exclude1.sh: New file.
36521         * tests/test-exclude2.sh: New file.
36522         * tests/test-exclude3.sh: New file.
36523         * tests/test-exclude4.sh: New file.
36524         * tests/test-exclude5.sh: New file.
36525         * tests/test-exclude6.sh: New file.
36526         * tests/test-exclude7.sh: New file.
36527
36528 2009-08-12  Bruno Haible  <bruno@clisp.org>
36529
36530         Ensure that getopt() gets declared by <unistd.h>.
36531         * lib/unistd.in.h: Conditionally include getopt.h.
36532         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
36533         Set GNULIB_UNISTD_H_GETOPT.
36534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36535         GNULIB_UNISTD_H_GETOPT.
36536         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
36537
36538 2009-08-12  Bruno Haible  <bruno@clisp.org>
36539
36540         Clarify logic.
36541         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
36542         gl_replace_getopt instead of GETOPT_H.
36543
36544 2009-08-12  Bruno Haible  <bruno@clisp.org>
36545
36546         * m4/getopt.m4: Add comments.
36547
36548 2009-08-12  Bruno Haible  <bruno@clisp.org>
36549
36550         Disable multithread support by default on Cygwin 1.5.x.
36551         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
36552         set gl_use_threads=no if not specified otherwise.
36553
36554 2009-08-11  Bruno Haible  <bruno@clisp.org>
36555
36556         Avoid compilation error on NetBSD 5.0.
36557         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
36558         * tests/test-stdio.c: Likewise.
36559         * tests/test-stdlib.c: Likewise.
36560         * tests/test-string.c: Likewise.
36561         * tests/test-unistd.c: Likewise.
36562         Reported by Greg Troxel <gdt@ir.bbn.com>
36563         at <https://savannah.gnu.org/support/?106973>.
36564
36565 2009-08-11  Bruno Haible  <bruno@clisp.org>
36566
36567         * modules/dup2-tests (Depends-on): Remove close.
36568
36569         Undo 2009-07-19 commit.
36570         * modules/acl-tests (Depends-on): Remove close.
36571         * modules/binary-io-tests (Depends-on): Likewise.
36572         * modules/closein-tests (Depends-on): Likewise.
36573         * modules/flock-tests (Depends-on): Likewise.
36574         * modules/fsync-tests (Depends-on): Likewise.
36575         * modules/lseek-tests (Depends-on): Likewise.
36576         * modules/pipe-tests (Depends-on): Likewise.
36577         * modules/posix_spawn-tests (Depends-on): Likewise.
36578         * modules/posix_spawnp-tests (Depends-on): Likewise.
36579         * modules/stat-time-tests (Depends-on): Likewise.
36580         * modules/yesno-tests (Depends-on): Likewise.
36581
36582 2009-08-10  Bruno Haible  <bruno@clisp.org>
36583
36584         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
36585
36586 2009-08-10  Bruno Haible  <bruno@clisp.org>
36587
36588         Fix a gcc warning.
36589         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
36590
36591 2009-08-10  Bruno Haible  <bruno@clisp.org>
36592
36593         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
36594         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
36595         not only the first time.
36596         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
36597         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
36598         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
36599         is 1, not only the the first time.
36600
36601 2009-08-10  Bruno Haible  <bruno@clisp.org>
36602
36603         Make it possible to use module 'gethostname' without module 'close'.
36604         * lib/unistd.in.h (close): Evoke a link error only if
36605         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36607         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36608         * modules/unistd (Makefile.am): Substitute
36609         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36610         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
36611         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
36612         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
36613         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36614         * modules/sys_ioctl (Makefile.am): Substitute
36615         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36616         * modules/socket (configure.ac): On native Windows, set
36617         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
36618         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
36619         Reported by Sam Steingold <sds@gnu.org>.
36620
36621 2009-08-10  Bruno Haible  <bruno@clisp.org>
36622
36623         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
36624         * modules/ioctl (configure.ac): Likewise.
36625
36626 2009-08-10  Bruno Haible  <bruno@clisp.org>
36627
36628         Avoid collision between gnulib wrapper and libintl wrapper.
36629         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
36630         already defined in intl/printf.c.
36631         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
36632         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
36633
36634 2009-08-09  Bruno Haible  <bruno@clisp.org>
36635
36636         Make <sys/select.h> really self-contained, also on Solaris 10.
36637         * lib/sys_select.in.h: Include <string.h>.
36638         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
36639         Solaris 10 problem.
36640         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
36641         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
36642         Reported by Jim Meyering.
36643
36644 2009-08-09  Bruno Haible  <bruno@clisp.org>
36645
36646         Avoid warnings from 'aclocal' that are due to a use of macro name
36647         AM_XGETTEXT_OPTION that is not defined in automake.
36648         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
36649         automake.
36650         * modules/error (configure.ac): Likewise.
36651         * modules/propername (configure.ac): Likewise.
36652         * modules/vasprintf (configure.ac): Likewise.
36653         * modules/verror (configure.ac): Likewise.
36654         * modules/xprintf (configure.ac): Likewise.
36655         * modules/xvasprintf (configure.ac): Likewise.
36656
36657 2009-08-08  Bruno Haible  <bruno@clisp.org>
36658
36659         Avoid compilation error in C++ mode.
36660         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
36661         Reported by Sam Steingold <sds@gnu.org>.
36662
36663 2009-08-08  Bruno Haible  <bruno@clisp.org>
36664
36665         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
36666         for the various Unix platforms.
36667         * doc/posix-headers/limits.texi: Update platforms list regarding
36668         HOST_NAME_MAX.
36669         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36670
36671 2009-08-07  Jim Meyering  <meyering@redhat.com>
36672
36673         selinux-at: fix typo in a comment
36674         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
36675         Spotted by Paolo Bonzini.
36676
36677         selinux-at: remove redundant m4 code, add documentation
36678         * modules/selinux-at (configure.ac): Remove redundant code.
36679         LIB_SELINUX is already set via the dependent module, selinux-h.
36680         (Include): Add quotes around selinux-at.h.
36681         * lib/selinux-at.h: Add documentation.
36682         Reported by Bruno Haible in
36683         http://marc.info/?l=gnulib-bug&m=124958988300749
36684
36685 2009-08-07  Bruno Haible  <bruno@clisp.org>
36686
36687         Avoid link error on MacOS X 10.3 and 10.4.
36688         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
36689         on non-ELF systems.
36690         * lib/argp-pv.c (argp_program_version): Likewise.
36691         Reported by Simon Josefsson.
36692
36693 2009-08-07  Simon Josefsson  <simon@josefsson.org>
36694
36695         * tests/test-version-etc.sh: Use $EXEEXT.
36696
36697 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
36698
36699         update-copyright: update documentation to point to maint.mk
36700         * build-aux/update-copyright: Here.
36701
36702 2009-08-06  Jim Meyering  <meyering@redhat.com>
36703
36704         maint.mk: support update-copyright-local
36705         * top/maint.mk (update-copyright-local): Define place-holder.
36706         (update-copyright): Depend on $(update-copyright-local).
36707
36708 2009-08-06  Jim Meyering  <meyering@redhat.com>
36709
36710         selinux-at: new module
36711         Initially written for coreutils, this module will soon be
36712         used by findutils, too.
36713         * MODULES.html.sh [Misc]: Add selinux-at.
36714         * lib/selinux-at.h: New file, from coreutils.
36715         * lib/selinux-at.c: Likewise.
36716         * modules/selinux-at: Likewise.
36717         (License): Change from LGPL to GPL, since it depends
36718         on the GPL'd openat module.
36719
36720         doc: update README
36721         * README: Remove references to cogito.
36722         Remove cvs-repo-updating instructions from 2007.
36723         Don't imply that CVS is better if you have limited disk space.
36724
36725 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36726
36727         update-copyright: support C-style comments
36728         * build-aux/update-copyright: Implement and document.
36729         * tests/test-update-copyright.sh: Test.
36730
36731 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36732
36733         update-copyright: support omitted "(C)"
36734         * build-aux/update-copyright: Implement and document.  Also,
36735         allow variable whitespace before "(C)".
36736         * tests/test-update-copyright.sh: Test.
36737
36738 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36739
36740         update-copyright: don't trip on non-FSF copyright statements
36741         * build-aux/update-copyright: Fix so that the first correctly
36742         formatted FSF copyright statement is recognized no matter what
36743         appears before it.  Update documentation.
36744         * tests/test-update-copyright.sh: Test that.
36745
36746 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36747
36748         update-copyright: clean up code a little
36749         * build-aux/update-copyright: Append "_re" to the name of any
36750         variable holding a regular expression.
36751         Replace "old" and "new" with "stmt" in variable names.
36752         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
36753         handled correctly.
36754         Format code more consistently.
36755
36756 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
36757
36758         update-copyright-tests: improve portability
36759         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
36760         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
36761
36762 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36763
36764         update-copyright: support @copyright{} and &copy;
36765         * build-aux/update-copyright: Implement and document.
36766         * tests/test-update-copyright.sh: Test.
36767
36768 2009-08-04  Jim Meyering  <meyering@redhat.com>
36769
36770         update-copyright-tests: correctly test EOL=\r\n handling
36771         * tests/test-update-copyright.sh: Put \r at the end of some lines
36772         for the dos-eol tests.  Based on a patch by Joel E. Denny.
36773
36774         maint.mk: make update-copyright exclusion list more configurable
36775         * top/maint.mk (update-copyright): Default to excluding COPYING,
36776         but allow an override, in case someone does want to update that file.
36777
36778         maint.mk: don't update copyright date in COPYING
36779         * top/maint.mk (update-copyright): Exclude COPYING.
36780
36781         maint.mk: add a copyright-updating rule
36782         * top/maint.mk (update-copyright): New rule.
36783         Derived from coreutils/Makefile.am.
36784
36785         update-copyright: rename some variables
36786         * build-aux/update-copyright: Rename a few variables for clarity.
36787         Tweak syntax.  List Joel E. Denny as coauthor.
36788
36789 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
36790
36791         update-copyright: fix bug for 2-digit last year and add tests
36792         * build-aux/update-copyright: Fix bug.
36793         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
36794         specified.
36795         * modules/update-copyright-tests: New
36796         * tests/test-update-copyright.sh: New.
36797
36798 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36799
36800         update-copyright: handle leading tabs in line prefix
36801         * build-aux/update-copyright: Count leading tabs as 8 spaces
36802         when computing margin.  This helps with the formatting of
36803         ChangeLogs, for example.
36804         Fix documentation a little.
36805
36806 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36807
36808         update-copyright: support EOL=\r\n
36809         * build-aux/update-copyright: Implement that.
36810
36811 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
36812
36813         update-copyright: automatically format copyright statements
36814         * build-aux/update-copyright: Implement that.
36815         Also, be a little more predictable and safer by always failing
36816         when the full copyright format is not perfectly recognized as an
36817         unbroken whole.  Discussed at
36818         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
36819         Rewrite documentation.
36820
36821 2009-08-03  Bruno Haible  <bruno@clisp.org>
36822
36823         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
36824
36825 2009-08-02  Bruno Haible  <bruno@clisp.org>
36826
36827         Tests for module 'uname'.
36828         * modules/uname-tests: New file.
36829         * tests/test-uname.c: New file.
36830
36831         New module 'uname'.
36832         * lib/uname.c: New file.
36833         * m4/uname.m4: New file.
36834         * modules/uname: New file.
36835         * doc/posix-functions/uname.texi: Mention the new module.
36836
36837 2009-08-02  Bruno Haible  <bruno@clisp.org>
36838
36839         Tests for module 'sys_utsname'.
36840         * modules/sys_utsname-tests: New file.
36841         * tests/test-sys_utsname.c: New file.
36842
36843         New module 'sys_utsname'.
36844         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
36845         * m4/sys_utsname_h.m4: New file.
36846         * modules/sys_utsname: New file.
36847         * doc/posix-headers/sys_utsname.texi: Mention the new module.
36848
36849 2009-08-02  Bruno Haible  <bruno@clisp.org>
36850
36851         Implicitly initialize the sockets library.
36852         * lib/gethostname.c: Include sockets.h.
36853         (rpl_gethostname): Invoke gl_sockets_startup.
36854         * lib/socket.c: Include sockets.h.
36855         (rpl_socket): Invoke gl_sockets_startup.
36856         * modules/gethostname (Depends-on): Add sockets.
36857         * modules/socket (Depends-on): Likewise.
36858         * tests/test-poll.c: Don't include sockets.h.
36859         (main): Don't invoke gl_sockets_startup.
36860         * tests/test-select.c: Don't include sockets.h.
36861         (main): Don't invoke gl_sockets_startup.
36862
36863 2009-08-02  Bruno Haible  <bruno@clisp.org>
36864
36865         Allow multiple calls to gl_sockets_startup.
36866         * lib/sockets.c (initialized_sockets_version): New variable.
36867         (gl_sockets_startup): Do nothing if already called for this or a higher
36868         version.
36869         (gl_sockets_cleanup): Reset initialized_sockets_version.
36870
36871 2009-08-03  Simon Josefsson  <simon@josefsson.org>
36872
36873         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
36874         different project/version.
36875
36876 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
36877             Bruno Haible  <bruno@clisp.org>
36878
36879         Tests for module 'pipe-filter-gi'.
36880         * modules/pipe-filter-gi-tests: New file.
36881         * tests/test-pipe-filter-gi1.sh: New file.
36882         * tests/test-pipe-filter-gi1.c: New file.
36883         * tests/test-pipe-filter-gi2.sh: New file.
36884         * tests/test-pipe-filter-gi2-main.c: New file.
36885         * tests/test-pipe-filter-gi2-child.c: New file.
36886
36887         New module 'pipe-filter-gi'.
36888         * lib/pipe-filter-gi.c: New file.
36889         * modules/pipe-filter-gi: New file.
36890
36891 2009-08-02  Bruno Haible  <bruno@clisp.org>
36892             Paolo Bonzini  <bonzini@gnu.org>
36893
36894         Tests for module 'pipe-filter-ii'.
36895         * modules/pipe-filter-ii-tests: New file.
36896         * tests/test-pipe-filter-ii1.sh: New file.
36897         * tests/test-pipe-filter-ii1.c: New file.
36898         * tests/test-pipe-filter-ii2.sh: New file.
36899         * tests/test-pipe-filter-ii2-main.c: New file.
36900         * tests/test-pipe-filter-ii2-child.c: New file.
36901
36902         New module 'pipe-filter-ii'.
36903         * lib/pipe-filter.h: New file.
36904         * lib/pipe-filter-ii.c: New file.
36905         * lib/pipe-filter-aux.h: New file.
36906         * modules/pipe-filter-ii: New file.
36907
36908 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36909
36910         * lib/gc-libgcrypt.c: Change copyright to FSF.
36911         * lib/gc-gnulib.c: Likewise.
36912
36913 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
36914
36915         * lib/gethostname.c: Include limits.h.
36916
36917 2009-08-02  Simon Josefsson  <simon@josefsson.org>
36918             Bruno Haible  <bruno@clisp.org>
36919
36920         Ensure HOST_NAME_MAX as part of the gethostname module.
36921         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
36922         define also HOST_NAME_MAX.
36923         * tests/test-gethostname.c: Include <limits.h>.
36924         (main): Check also HOST_NAME_MAX.
36925         * doc/posix-headers/limits.texi: Document the mingw problem.
36926
36927 2009-08-02  Bruno Haible  <bruno@clisp.org>
36928
36929         * lib/gethostname.c (gethostname): Fix handling of large len argument.
36930         Add comments.
36931
36932 2009-03-31  Simon Josefsson  <simon@josefsson.org>
36933
36934         * lib/gethostname.c: Add Windows wrapper.
36935         * m4/gethostname.m4: Look for gethostname in -lws2_32.
36936         * modules/gethostname: Depend on sys_socket & errno, for also
36937         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
36938         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
36939
36940 2009-07-31  Jim Meyering  <meyering@redhat.com>
36941
36942         getloadavg: fix symbol name in comment
36943         * lib/getloadavg.c: Correct a typo I introduced when adding
36944         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
36945         Matt Kraai spotted the problem.
36946
36947 2009-07-29  Matt Kraai  <mkraai@beckman.com>
36948
36949         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
36950         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
36951         code also if ! defined N_NAME_POINTER.
36952         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
36953         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
36954         but the n_name member is a 12-byte array.
36955
36956 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
36957
36958         update-copyright: generalize comment handling
36959         * build-aux/update-copyright: Handle copyright statements
36960         within more comment styles.
36961         Document usage.
36962         Report any file with an external copyright holder or parse failure.
36963
36964 2009-07-29  Jim Meyering  <meyering@redhat.com>
36965
36966         mktime: correct setting of REPLACE_MKTIME
36967         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
36968
36969         update-copyright: new module
36970         * modules/update-copyright: New file.
36971         * build-aux/update-copyright: New file.
36972         * MODULES.html.sh (maint+release support): Add update-copyright.
36973
36974 2009-07-27  Bruno Haible  <bruno@clisp.org>
36975
36976         Fix compilation error when <ctime> is used and mktime is replaced.
36977         * lib/time.in.h (mktime): New declaration.
36978         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
36979         REPLACE_MKTIME instead of defining mktime in config.h.
36980         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
36981         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
36982         Reported by Ross McFarland <rwmcfa1@neces.com>.
36983
36984 2009-07-27  Bruno Haible  <bruno@clisp.org>
36985
36986         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
36987         Reported by Matt Kraai <mkraai@beckman.com>.
36988
36989 2009-07-25  Jim Meyering  <meyering@redhat.com>
36990
36991         maint.mk: avoid warnings about missing files
36992         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
36993         diagnostic when .prev-version does not exist.
36994         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
36995         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
36996         nonexistent cfg.mk.
36997         Suggestions from Simon Josefsson.
36998
36999 2009-07-25  Bruno Haible  <bruno@clisp.org>
37000
37001         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
37002         defined as macros. Needed on QNX 6.4.1.
37003         Reported by Matt Kraai <mkraai@beckman.com>.
37004
37005 2009-07-23  Jim Meyering  <meyering@redhat.com>
37006
37007         maint.mk: invoke "make dist" with a working value of XZ_OPT
37008         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
37009
37010 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
37011
37012         Make fseeko.c compile on QNX.
37013         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
37014
37015 2009-07-22  Peter Simons  <simons@cryp.to>
37016
37017         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
37018         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
37019         * lib/md4.h: Likewise.
37020         * lib/md5.h: Likewise.
37021         * lib/sha1.h: Likewise.
37022         * lib/sha256.h: Likewise.
37023         * lib/sha512.h: Likewise.
37024
37025         tests-sha1: don't assign literal string to 'char *' variable
37026         * tests/test-sha1.c (main): Declare locals with "const" to match
37027         attributes of the right hand side.
37028
37029 2009-07-21  Eric Blake  <ebb9@byu.net>
37030
37031         dup2: fix more mingw problems
37032         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
37033         fd to itself.
37034         * doc/posix-functions/dup2.texi (dup2): Document the bug.
37035         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
37036         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
37037         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
37038         care of mingw bugs.
37039
37040 2009-07-21  Jim Meyering  <meyering@redhat.com>
37041
37042         vc-list-files: avoid failure when /bin/sh is dash
37043         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
37044         On some Debian based systems, /bin/sh is a symlink to dash, and running
37045         this command would omit the "/" following each 'tests' prefix:
37046           dash -x build-aux/vc-list-files -C . tests
37047         That is because bash and dash work differently:
37048           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
37049           bash ok
37050           dash odd
37051
37052 2009-07-21  Eric Blake  <ebb9@byu.net>
37053
37054         dup2-tests: test previous patch
37055         * modules/dup2-tests: New file.
37056         * tests/test-dup2.c: Likewise.
37057         * tests/test-open.c (main): Avoid unspecified behavior.
37058         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
37059         test.
37060
37061         dup2: work around mingw and cygwin 1.5 bug
37062         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
37063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37064         * modules/unistd (Makefile.am): Substitute it.
37065         * lib/unistd.in.h (dup2): Declare the replacement.
37066         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
37067         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
37068         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
37069         * modules/execute (Depends-on): Add dup2.
37070         * modules/fseterr (Depends-on): Likewise.
37071         * modules/pipe (Depends-on): Likewise.
37072         * modules/posix_spawn-internal (Depends-on): Likewise.
37073
37074 2009-07-21  Bruno Haible  <bruno@clisp.org>
37075
37076         * modules/.gitattributes: New file.
37077
37078 2009-07-20  Bruno Haible  <bruno@clisp.org>
37079
37080         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
37081         (main): Use it.
37082
37083 2009-07-20  Eric Blake  <ebb9@byu.net>
37084
37085         test-pipe: make a bit more robust.
37086         * tests/test-pipe.c (myerr): Allow error messages regardless of
37087         what we do to stderr.
37088         (test_pipe): Rearrange to avoid deadlock.
37089         (child_main): Try a larger read, to ensure we avoided deadlock.
37090         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
37091         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
37092         if misused.
37093
37094 2009-07-19  Jim Meyering  <meyering@redhat.com>
37095
37096         fts: avoid false-positive cycle-detection
37097         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
37098         for each new command line argument.
37099
37100 2009-07-19  Bruno Haible  <bruno@clisp.org>
37101
37102         Fix build error on mingw with the modules sys_select and unistd.
37103         * modules/acl-tests (Depends-on): Add close.
37104         * modules/binary-io-tests (Depends-on): Likewise.
37105         * modules/closein-tests (Depends-on): Likewise.
37106         * modules/flock-tests (Depends-on): Likewise.
37107         * modules/fsync-tests (Depends-on): Likewise.
37108         * modules/lseek-tests (Depends-on): Likewise.
37109         * modules/pipe-tests (Depends-on): Likewise.
37110         * modules/posix_spawn-tests (Depends-on): Likewise.
37111         * modules/posix_spawnp-tests (Depends-on): Likewise.
37112         * modules/stat-time-tests (Depends-on): Likewise.
37113         * modules/yesno-tests (Depends-on): Likewise.
37114
37115 2009-07-19  Bruno Haible  <bruno@clisp.org>
37116
37117         Unify conditionals.
37118         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
37119         macros, not at the compiler macros.
37120         * lib/pipe.c: Likewise.
37121         * lib/execute.c: Likewise.
37122         * lib/spawni.c: Likewise.
37123
37124 2009-07-19  Bruno Haible  <bruno@clisp.org>
37125
37126         Fix handling of closed stdin/stdout/stderr on mingw.
37127         * lib/w32spawn.h: Include unistd.h.
37128         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
37129         file descriptor with O_NOINHERIT flag.
37130         (fd_safer_noinherit): New function, based on fd-safer.c.
37131         (dup_safer_noinherit): New function, based on dup-safer.c.
37132         (undup_safer_noinherit): New function.
37133         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
37134         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
37135         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
37136         instead of fd_safer.
37137         * tests/test-pipe.c: Include <windows.h>.
37138         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
37139         result.
37140
37141         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
37142         from main.
37143         (test_pipe): Pass an extra argument for disambiguation.
37144         (main): Invoke parent_main or child_main.
37145
37146         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
37147         consistently.
37148
37149 2009-07-18  Eric Blake  <ebb9@byu.net>
37150
37151         test-pipe: fix mingw build
37152         * tests/test-pipe.c (main): Avoid fcntl on mingw.
37153
37154 2009-07-18  Bruno Haible  <bruno@clisp.org>
37155
37156         * modules/pipe-tests (Makefile.am): Fix typo.
37157
37158 2009-07-18  Eric Blake  <ebb9@byu.net>
37159
37160         error: fix mingw build
37161         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
37162         Reported by Bruno Haible.
37163
37164         error: avoid undefined use of stdout
37165         * lib/error.c (error, error_at_line): Check that fd 1 is open
37166         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
37167         is handling faults and the close_stdout module wants to report the
37168         detection of closed stdout as an error.
37169
37170 2009-07-17  Eric Blake  <ebb9@byu.net>
37171
37172         pipe: be robust in face of closed fds
37173         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
37174         should cause child to misbehave.
37175         * modules/pipe-tests: New module.
37176         * tests/test-pipe.c: New file.
37177         * tests/test-pipe.sh: New file.
37178         Reported by Akim Demaille.
37179
37180 2009-07-14  Bruno Haible  <bruno@clisp.org>
37181
37182         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
37183         Reported by anonymous kc.
37184
37185 2009-07-07  Jim Meyering  <meyering@redhat.com>
37186
37187         maint.mk: don't look for translatable strings in *.m4 or *.mk
37188         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
37189         when searching for translatable strings.
37190
37191 2009-07-05  Jim Meyering  <meyering@redhat.com>
37192
37193         remove superfluous parentheses in STREQ definition
37194         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
37195         * lib/getugroups.c (STREQ): Likewise.
37196         * lib/fnmatch.c (STREQ): Likewise.
37197         Spotted by Bruno Haible.
37198
37199 2009-07-04  Jim Meyering  <meyering@redhat.com>
37200
37201         argv-iter: new module
37202         * MODULES.html.sh: Add argv-iter.
37203         * lib/argv-iter.c, lib/argv-iter.h: New files.
37204         * modules/argv-iter: New file.
37205         * modules/argv-iter-tests: New file.
37206         * tests/test-argv-iter.c: Test it.
37207
37208 2009-07-04  Bruno Haible  <bruno@clisp.org>
37209
37210         Fix assertion.
37211         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
37212         contains more exact copies of a given entry than file2, leave the extra
37213         copies unpaired rather than aborting.
37214         Reported by Eric Blake.
37215
37216 2009-07-02  Bruno Haible  <bruno@clisp.org>
37217
37218         Speedup git-merge-changelog for git cherry-pick.
37219         * lib/git-merge-changelog.c (struct entries_mapping): New type.
37220         (entries_mapping_get): New function, extracted from compute_mapping.
37221         (entries_mapping_reverse_get): New function.
37222         (compute_mapping): Add a 'full' argument. Return the result in a
37223         'struct entries_mapping'.
37224         (main): Update. Access the mappings through entries_mapping_get.
37225         Reported by Eric Blake.
37226
37227 2009-07-02  Bruno Haible  <bruno@clisp.org>
37228
37229         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
37230         best_i.
37231
37232 2009-07-02  Bruno Haible  <bruno@clisp.org>
37233
37234         Speed up approximate search for matching ChangeLog entries.
37235         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
37236         argument. Call fstrcmp_bounded instead of fstrcmp.
37237         (compute_mapping, try_split_merged_entry, main): Update callers.
37238
37239 2009-07-02  Bruno Haible  <bruno@clisp.org>
37240
37241         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
37242
37243 2009-06-30  Bruno Haible  <bruno@clisp.org>
37244
37245         Reduce the number of uc_is_cased calls.
37246         * lib/unicase.h (casing_suffix_context_t): Add
37247         'first_char_except_ignorable' field.
37248         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
37249         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
37250         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
37251         Update initializer.
37252         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
37253         case-ignorable characters.
37254         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
37255         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
37256         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
37257         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
37258         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
37259
37260 2009-06-30  Bruno Haible  <bruno@clisp.org>
37261
37262         Tests for module 'unicase/ignorable'.
37263         * modules/unicase/ignorable-tests: New file.
37264         * tests/unicase/test-ignorable.c: New file, generated by
37265         gen-uni-tables.
37266
37267         Tests for module 'unicase/cased'.
37268         * modules/unicase/cased-tests: New file.
37269         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
37270         * tests/unicase/test-predicate-part1.h: New file, derived from
37271         tests/unictype/test-predicate-part1.h.
37272         * tests/unicase/test-predicate-part2.h: New file, same as
37273         tests/unictype/test-predicate-part2.h.
37274
37275         Fix evaluation of "Before C" condition of FINAL_SIGMA.
37276         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
37277         (output_casing_properties): New function.
37278         (main): Call it.
37279         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
37280         * lib/unicase/cased.c: Include unictype/bitmap.h.
37281         (uc_is_cased): Define through a bitmap lookup.
37282         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
37283         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
37284         (uc_is_case_ignorable): Define through a bitmap lookup.
37285         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
37286         lib/unictype/bitmap.h.
37287         (Depends-on): Add inline. Clean up.
37288         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
37289         lib/unictype/bitmap.h.
37290         (Depends-on): Add inline. Clean up.
37291         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
37292         recognition.
37293         * tests/unicase/test-u16-tolower.c (main): Likewise.
37294         * tests/unicase/test-u32-tolower.c (main): Likewise.
37295
37296 2009-06-30  Bruno Haible  <bruno@clisp.org>
37297
37298         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
37299         * lib/unicase/u16-casemap.c: Likewise.
37300         * lib/unicase/u32-casemap.c: Likewise.
37301
37302 2009-06-29  Bruno Haible  <bruno@clisp.org>
37303
37304         Define u32_casefold as a wrapper around u32_ct_casefold.
37305         * lib/unicase/u32-casefold.c: Update.
37306         * modules/unicase/u32-casefold (Depends-on): Add
37307         unicase/u32-ct-casefold, unicase/empty-prefix-context,
37308         unicase/empty-suffix-context. Clean up.
37309
37310         Define u16_casefold as a wrapper around u16_ct_casefold.
37311         * lib/unicase/u16-casefold.c: Update.
37312         * modules/unicase/u16-casefold (Depends-on): Add
37313         unicase/u16-ct-casefold, unicase/empty-prefix-context,
37314         unicase/empty-suffix-context. Clean up.
37315
37316         Define u8_casefold as a wrapper around u8_ct_casefold.
37317         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
37318         * lib/unicase/u8-casefold.c: Update.
37319         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
37320         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37321
37322         Define u32_totitle as a wrapper around u32_ct_totitle.
37323         * lib/unicase/u32-totitle.c: Update.
37324         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
37325         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37326
37327         Define u16_totitle as a wrapper around u16_ct_totitle.
37328         * lib/unicase/u16-totitle.c: Update.
37329         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
37330         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37331
37332         Define u8_totitle as a wrapper around u8_ct_totitle.
37333         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
37334         functions.
37335         (FUNC): Delegate to U_CT_TOTITLE.
37336         * lib/unicase/u8-totitle.c: Update.
37337         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
37338         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
37339
37340         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
37341         invocation.
37342         * modules/unicase/u32-tolower (Depends-on): Add
37343         unicase/empty-prefix-context, unicase/empty-suffix-context.
37344
37345         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
37346         invocation.
37347         * modules/unicase/u16-tolower (Depends-on): Add
37348         unicase/empty-prefix-context, unicase/empty-suffix-context.
37349
37350         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
37351         * modules/unicase/u8-tolower (Depends-on): Add
37352         unicase/empty-prefix-context, unicase/empty-suffix-context.
37353
37354         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
37355         invocation.
37356         * modules/unicase/u32-toupper (Depends-on): Add
37357         unicase/empty-prefix-context, unicase/empty-suffix-context.
37358
37359         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
37360         invocation.
37361         * modules/unicase/u16-toupper (Depends-on): Add
37362         unicase/empty-prefix-context, unicase/empty-suffix-context.
37363
37364         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
37365         * modules/unicase/u8-toupper (Depends-on): Add
37366         unicase/empty-prefix-context, unicase/empty-suffix-context.
37367
37368         New module 'unicase/u32-ct-casefold'.
37369         * lib/unicase/u32-ct-casefold.c: New file.
37370         * modules/unicase/u32-ct-casefold: New file.
37371
37372         New module 'unicase/u16-ct-casefold'.
37373         * lib/unicase/u16-ct-casefold.c: New file.
37374         * modules/unicase/u16-ct-casefold: New file.
37375
37376         New module 'unicase/u8-ct-casefold'.
37377         * lib/unicase/u8-ct-casefold.c: New file.
37378         * lib/unicase/u-ct-casefold.h: New file, derived from
37379         lib/unicase/u-casefold.h.
37380         * modules/unicase/u8-ct-casefold: New file.
37381
37382         New module 'unicase/u32-ct-totitle'.
37383         * lib/unicase/u32-ct-totitle.c: New file.
37384         * modules/unicase/u32-ct-totitle: New file.
37385
37386         New module 'unicase/u16-ct-totitle'.
37387         * lib/unicase/u16-ct-totitle.c: New file.
37388         * modules/unicase/u16-ct-totitle: New file.
37389
37390         New module 'unicase/u8-ct-totitle'.
37391         * lib/unicase/u8-ct-totitle.c: New file.
37392         * lib/unicase/u-ct-totitle.h: New file, derived from
37393         lib/unicase/u-totitle.h.
37394         * modules/unicase/u8-ct-totitle: New file.
37395
37396         New module 'unicase/u32-ct-tolower'.
37397         * lib/unicase/u32-ct-tolower.c: New file.
37398         * modules/unicase/u32-ct-tolower: New file.
37399
37400         New module 'unicase/u16-ct-tolower'.
37401         * lib/unicase/u16-ct-tolower.c: New file.
37402         * modules/unicase/u16-ct-tolower: New file.
37403
37404         New module 'unicase/u8-ct-tolower'.
37405         * lib/unicase/u8-ct-tolower.c: New file.
37406         * modules/unicase/u8-ct-tolower: New file.
37407
37408         New module 'unicase/u32-ct-toupper'.
37409         * lib/unicase/u32-ct-toupper.c: New file.
37410         * modules/unicase/u32-ct-toupper: New file.
37411
37412         New module 'unicase/u16-ct-toupper'.
37413         * lib/unicase/u16-ct-toupper.c: New file.
37414         * modules/unicase/u16-ct-toupper: New file.
37415
37416         New module 'unicase/u8-ct-toupper'.
37417         * lib/unicase/u8-ct-toupper.c: New file.
37418         * modules/unicase/u8-ct-toupper: New file.
37419
37420         Add context arguments to u*_casemap functions.
37421         * lib/unicase/unicasemap.h: Include unicase.h.
37422         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
37423         suffix_context arguments.
37424         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
37425         functions.
37426         (FUNC): Add prefix_context and suffix_context arguments. Use
37427         uc_is_cased and uc_is_case_ignorable.
37428         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
37429         * lib/unicase/u16-casemap.c: Likewise.
37430         * lib/unicase/u32-casemap.c: Likewise.
37431         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
37432         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37433         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
37434         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37435         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
37436         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
37437
37438         New module 'unicase/u32-suffix-context'.
37439         * lib/unicase/u32-suffix-context.c: New file.
37440         * modules/unicase/u32-suffix-context: New file.
37441
37442         New module 'unicase/u16-suffix-context'.
37443         * lib/unicase/u16-suffix-context.c: New file.
37444         * modules/unicase/u16-suffix-context: New file.
37445
37446         New module 'unicase/u8-suffix-context'.
37447         * lib/unicase/u8-suffix-context.c: New file.
37448         * lib/unicase/u-suffix-context.h: New file.
37449         * modules/unicase/u8-suffix-context: New file.
37450
37451         New module 'unicase/empty-suffix-context'.
37452         * lib/unicase/empty-suffix-context.c: New file.
37453         * modules/unicase/empty-suffix-context: New file.
37454
37455         New module 'unicase/u32-prefix-context'.
37456         * lib/unicase/u32-prefix-context.c: New file.
37457         * modules/unicase/u32-prefix-context: New file.
37458
37459         New module 'unicase/u16-prefix-context'.
37460         * lib/unicase/u16-prefix-context.c: New file.
37461         * modules/unicase/u16-prefix-context: New file.
37462
37463         New module 'unicase/u8-prefix-context'.
37464         * lib/unicase/u8-prefix-context.c: New file.
37465         * lib/unicase/u-prefix-context.h: New file.
37466         * lib/unicase/context.h: New file.
37467         * modules/unicase/u8-prefix-context: New file.
37468
37469         New module 'unicase/empty-prefix-context'.
37470         * lib/unicase/empty-prefix-context.c: New file.
37471         * modules/unicase/empty-prefix-context: New file.
37472
37473         New module 'unicase/ignorable'.
37474         * lib/unicase/ignorable.c: New file.
37475         * modules/unicase/ignorable: New file.
37476
37477         New module 'unicase/cased'.
37478         * lib/unicase/caseprop.h: New file.
37479         * lib/unicase/cased.c: New file.
37480         * modules/unicase/cased: New file.
37481
37482         New functions for case mapping of substrings.
37483         * lib/unicase.h (casing_prefix_context_t): New type.
37484         (unicase_empty_prefix_context): New variable.
37485         (u8_casing_prefix_context, u16_casing_prefix_context,
37486         u32_casing_prefix_context, u8_casing_prefixes_context,
37487         u16_casing_prefixes_context, u32_casing_prefixes_context): New
37488         declarations.
37489         (casing_suffix_context_t): New type.
37490         (unicase_empty_suffix_context): New variable.
37491         (u8_casing_suffix_context, u16_casing_suffix_context,
37492         u32_casing_suffix_context, u8_casing_suffixes_context,
37493         u16_casing_suffixes_context, u32_casing_suffixes_context,
37494         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
37495         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
37496         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
37497         declarations.
37498
37499 2009-06-28  Jim Meyering  <meyering@redhat.com>
37500
37501         boostrap: indent only with spaces
37502         * build-aux/bootstrap: Indent only with spaces, never TABs.
37503
37504         bootstrap: split long lines
37505         * build-aux/bootstrap: Keep line length < 80.
37506
37507         bootstrap: sync from coreutils
37508         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
37509         just as autoreconf does.  Verify a list of prerequisite
37510         package-name,version-number pairs if defined in bootstrap.conf.
37511         Refer to README-prereq, if prerequisites are not satisfied.
37512
37513 2009-06-27  Eric Blake  <ebb9@byu.net>
37514
37515         tests: add test for bogus NULL definition
37516         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
37517         * tests/test-stdlib.c: Likewise.
37518         * tests/test-string.c: Likewise.
37519         * tests/test-locale.c: Likewise.
37520         * tests/test-unistd.c: Likewise.
37521         * modules/stdio-tests (Depends-on): Add verify.
37522         * modules/stdlib-tests (Depends-on): Likewise.
37523         * modules/string-tests (Depends-on): Likewise.
37524         * modules/locale-tests (Depends-on): Likewise.
37525         * modules/unistd-tests (Depends-on): Likewise.
37526
37527 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
37528
37529         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
37530         self-explaining comment.
37531         * m4/selinux-selinux-h: Update serial.
37532         (gl_LIBSELINUX): New macro, adding a warning for missing development
37533         packages to code extracted from...
37534         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
37535         Add warning for missing development packages here, too.
37536
37537 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
37538
37539         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
37540
37541 2009-06-25  Eric Blake  <ebb9@byu.net>
37542
37543         version-etc: fix regression
37544         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
37545         gcc.
37546         (version_etc): Use it, to catch bugs with trailing NULL.
37547         * lib/version-etc.c (version_etc_arn): Delete unused argument.
37548         (version_etc_va): Fix logic bug.
37549         * modules/version-etc-tests: Add test.
37550         * tests/test-version-etc.c: New file.
37551         * tests/test-version-etc.sh: Likewise.
37552
37553 2009-06-25  Sam Steingold  <sds@gnu.org>
37554
37555         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
37556         mbtowc declaration.
37557
37558 2009-06-25  Eric Blake  <ebb9@byu.net>
37559
37560         fpurge: migrate into <stdio.h>
37561         * lib/fpurge.h: Delete...
37562         * lib/stdio.in.h (fpurge): ...and declare here, instead.
37563         * lib/fpurge.c (fpurge): Change declaring header.
37564         * modules/fpurge (Files): Drop deleted file.
37565         (Depends-on): Add stdio.
37566         (configure.ac): Set witness.
37567         * modules/stdio (Makefile.am): Support fpurge macros.
37568         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37569         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
37570         * lib/fflush.c: Update client.
37571         * tests/test-fpurge.c: Likewise.
37572         * NEWS: Mention the change.
37573
37574 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37575
37576         * lib/argp-version-etc.c (program_authors): Add const
37577         qualifier.
37578         * lib/version-etc.c: Fix typos in the comments.
37579         * modules/argp-version-etc: Depends on version-etc.
37580
37581 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37582
37583         argp-version-etc: new module.
37584
37585         * lib/argp-version-etc.c: New file.
37586         * lib/argp-version-etc.h: New file.
37587         * modules/argp-version-etc: New file.
37588         * modules/argp-version-etc-tests: New file.
37589         * tests/test-argp-version-etc.c: New test.
37590         * tests/test-argp-version-etc-1.sh: New test.
37591
37592 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
37593
37594         Provide additional interfaces and documentation for version-etc
37595         module.
37596
37597         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
37598         interfaces.
37599         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
37600         prototypes.
37601
37602 2009-06-24  Bruno Haible  <bruno@clisp.org>
37603
37604         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
37605         HAVE_LIB${NAME} macro.
37606         Reported by Sam Steingold <sds@gnu.org>.
37607
37608 2009-06-23  Simon Josefsson  <simon@josefsson.org>
37609
37610         * modules/hash-tests (test_hash_LDADD): Link to libintl when
37611         needed.
37612
37613 2009-06-21  Bruno Haible  <bruno@clisp.org>
37614
37615         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
37616         work.
37617         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
37618         together with LIB${NAME}, LTLIB${NAME}.
37619         Reported by Sam Steingold <sds@gnu.org>.
37620
37621 2009-06-20  Jim Meyering  <meyering@redhat.com>
37622
37623         tests: make sc_require_test_exit_idiom more generic
37624         * top/maint.mk (Exit_witness_file): New overridable variable.
37625         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
37626         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
37627
37628 2009-06-19  Jim Meyering  <meyering@redhat.com>
37629
37630         hash: reverse order of src/dst parameters in an internal interface
37631         * lib/hash.c (transfer_entries): Reverse order of parameters to
37632         put DST before SRC.  Adjust callers.
37633
37634         tests: test-hash: avoid wholesale duplication
37635         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
37636         Instead, use a loop and add a single conditional.
37637
37638         tests: test-hash: allow seed selection via a command line argument
37639         * tests/test-hash.c (get_seed): New function.
37640         (main): Use it.
37641
37642 2009-06-19  Eric Blake  <ebb9@byu.net>
37643
37644         hash: avoid memory leak on allocation failure
37645         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
37646         failure.  Factor repeated algorithm...
37647         (transfer_entries): ...into new helper routine.
37648         (hash_delete): React to hash_rehash return value.
37649
37650         hash: reduce memory pressure in hash_rehash no-op case
37651         * lib/hash.c (next_prime): Avoid overflow.
37652         (hash_initialize): Factor bucket size computation...
37653         (compute_bucket_size): ...into new helper function.
37654         (hash_rehash): Use new function and open coding to reduce memory
37655         pressure, and avoid a memory leak in USE_OBSTACK code.
37656         Reported by Jim Meyering.
37657
37658 2009-06-18  Eric Blake  <ebb9@byu.net>
37659
37660         hash: make rotation more obvious
37661         * modules/hash (Depends-on): Add bitrotate and stdint.
37662         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
37663         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
37664         (SIZE_MAX): Rely on headers for definition.
37665         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
37666         (raw_hasher): Use rotr_sz.
37667         Suggested by Jim Meyering.
37668
37669         hash: fix memory leak in last patch
37670         * lib/hash.c (hash_rehash): Avoid memory leak.
37671
37672         hash: avoid no-op rehashing
37673         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
37674
37675         hash: provide default callback functions
37676         * lib/hash.c (raw_hasher, raw_comparator): New functions.
37677         (hash_initialize): Use them as defaults.
37678         * tests/test-hash.c (main): Test this.
37679
37680         hash: minor optimization
37681         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
37682         when possible.
37683         (hash_initialize): Document this promise.
37684         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
37685         * tests/test-hash.c (hash_compare_strings): Test this.
37686
37687 2009-06-18  Bruno Haible  <bruno@clisp.org>
37688
37689         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
37690         going to be replaced anyway.
37691
37692 2009-06-18  Bruno Haible  <bruno@clisp.org>
37693
37694         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
37695         in one place.
37696         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
37697         be replaced anyway.
37698
37699 2009-06-18  Eric Blake  <ebb9@byu.net>
37700
37701         hash: check for resize before insertion
37702         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
37703         threshold before insertion, so that a pathological hash_rehash
37704         that fills every bucket can still trigger another rehash.
37705
37706 2009-06-18  Jim Meyering  <meyering@redhat.com>
37707
37708         hash-tests: add a loop around the small tests
37709         * tests/test-hash.c (main): Repeat small tests with selected
37710         small initial table sizes.
37711
37712 2009-06-17  Eric Blake  <ebb9@byu.net>
37713
37714         hash: minor cleanups
37715         * lib/hash.h (hash_entry): Make opaque, by moving...
37716         * lib/hash.c (hash_entry): ...here.
37717         (hash_insert): Clarify restrictions on what can be inserted.
37718         (hash_get_next): Clarify when it is safe to remove an element
37719         during traversal.
37720         (check_tuning): Skip verification when tuning is known safe.
37721         (hash_initialize): Clarify restrictions on tuning.
37722
37723 2009-06-17  Jim Meyering  <jim@meyering.net>
37724         and Eric Blake  <ebb9@byu.net>
37725
37726         hash-tests: new module
37727         * modules/hash-tests: New file.
37728         * tests/test-hash.c: New file.
37729
37730 2009-06-17  Eric Blake  <ebb9@byu.net>
37731
37732         strstr-simple: document new module
37733         * MODULES.html.sh: Document new module.
37734
37735         strstr, strcasestr: replace on platforms with broken memchr
37736         * modules/strstr: Split into...
37737         * modules/strstr-simple: ...new module that does not care about
37738         performance, but does care about glibc bug.
37739         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
37740         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
37741         if platform memchr is broken, per Debian bug 521737.
37742         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
37743         memchr.
37744         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
37745         * doc/posix-functions/strstr.texi (strstr): Document the fix.
37746         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37747         * modules/mountlist (Depends-on): Add strstr-simple.
37748         * modules/gen-uni-tables (Depends-on): Likewise.
37749         * modules/argz (Depends-on): Add strstr.
37750
37751 2009-06-17  Bruno Haible  <bruno@clisp.org>
37752
37753         * modules/posix_spawn-internal (Depends-on): Add errno.
37754
37755 2009-06-17  Bruno Haible  <bruno@clisp.org>
37756
37757         Define missing ESTALE on Interix 3.5.
37758         * lib/errno.in.h (ESTALE): Assign a value if missing.
37759         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
37760         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
37761         missing.
37762         * doc/posix-headers/errno.texi: Mention the Interix bug.
37763         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
37764
37765 2009-06-15  Eric Blake  <ebb9@byu.net>
37766
37767         memchr, memchr2: add valgrind exception
37768         * lib/memchr.valgrind: New file.
37769         * lib/memchr2.valgrind: New file.
37770         * modules/memchr (Files): Distribute valgrind file.
37771         * modules/memchr2 (Files): Likewise.
37772
37773         docs: memchr is no longer obsolete
37774         * MODULES.html.sh: Move memchr from obsolete to string.h section.
37775         * lib/string.in.h (memchr): Simplify logic.
37776
37777 2009-06-14  Jim Meyering  <meyering@redhat.com>
37778
37779         link-follow: fix the "checking..." message to not mention trailing slash
37780         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
37781         never considered trailing slashes.
37782
37783 2009-06-14  Bruno Haible  <bruno@clisp.org>
37784
37785         * m4/memchr.m4: Mention also the bug on IA-64.
37786         * doc/posix-functions/memchr.texi: Likewise.
37787
37788 2009-06-12  Eric Blake  <ebb9@byu.net>
37789
37790         memchr: detect broken x86_64 and alpha implementations
37791         * modules/memchr-tests (Depends-on): Move mmap detection...
37792         * modules/memchr (Depends-on): ...here.
37793         (configure.ac): Set indicator.
37794         * lib/string.in.h (memchr): Declare replacement.
37795         * modules/string (Makefile.am): Trigger replacement.
37796         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
37797         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
37798         bugs.
37799         * doc/posix-functions/memchr.texi (memchr): Document the bug.
37800         * modules/getpagesize (License): Relax license.
37801
37802 2009-06-11  Bruno Haible  <bruno@clisp.org>
37803
37804         * lib/idpriv.h: Add more references.
37805
37806 2009-06-08  Bruno Haible  <bruno@clisp.org>
37807
37808         Tests for module 'idpriv-droptemp'.
37809         * modules/idpriv-droptemp-tests: New file.
37810         * tests/test-idpriv-droptemp.sh: New file.
37811         * tests/test-idpriv-droptemp.su.sh: New file.
37812         * tests/test-idpriv-droptemp.c: New file.
37813
37814         New module 'idpriv-droptemp'.
37815         * lib/idpriv-droptemp.c: New file.
37816         * modules/idpriv-droptemp: New file.
37817
37818 2009-06-08  Bruno Haible  <bruno@clisp.org>
37819
37820         Tests for module 'idpriv-drop'.
37821         * modules/idpriv-drop-tests: New file.
37822         * tests/test-idpriv-drop.sh: New file.
37823         * tests/test-idpriv-drop.su.sh: New file.
37824         * tests/test-idpriv-drop.c: New file.
37825
37826         New module 'idpriv-drop'.
37827         * lib/idpriv.h: New file.
37828         * lib-idpriv-drop.c: New file.
37829         * m4/idpriv.m4: New file.
37830         * modules/idpriv-drop: New file.
37831
37832 2009-06-08  Bruno Haible  <bruno@clisp.org>
37833
37834         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
37835         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37836         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37837         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37838         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37839         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37840         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37841
37842 2009-06-08  Eric Blake  <ebb9@byu.net>
37843
37844         test-strstr: use memory fence, when possible
37845         * tests/test-strstr.c (main): Use memory fence, in order to be
37846         more likely to trigger Debian bug 521737.
37847         * modules/strstr-tests (Files): Pull in additional files.
37848
37849         memchr: no longer obsolete, for wider field testing
37850         * modules/memchr (Status, Notice): Delete, this module is no
37851         longer obsolete.
37852         * modules/vasnprintf (Depends-on): Add memchr.
37853
37854 2009-06-07  Jim Meyering  <meyering@redhat.com>
37855
37856         hash: declare some functions with the warn_unused_result attribute
37857         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
37858
37859 2009-06-07  Bruno Haible  <bruno@clisp.org>
37860
37861         * tests/test-alignof.c: Don't test int64_t if it does not exist.
37862         Reported by Eric Blake.
37863
37864 2009-06-06  Eric Blake  <ebb9@byu.net>
37865
37866         test-alignof: fix typo with long double
37867         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
37868         compiler error.
37869
37870 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
37871
37872         Escape non-texinfo { and }s.
37873         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
37874         markup error.
37875
37876 2009-06-04  Jim Meyering  <meyering@redhat.com>
37877
37878         gitlog-to-changelog: don't infloop on an empty commit log
37879         * build-aux/gitlog-to-changelog: Warn about an empty log message.
37880         Reported by Boris Petersen <transacid@centerim.org>.
37881
37882 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
37883
37884         version-etc: extend for packagers
37885         Add three new configure options, intended for packagers:
37886           --with-packager="packager name"
37887           --with-packager-version="packager-specific version"
37888           --with-packager-bug-reports="packager bug reporting"
37889         An example with coreutils:
37890           $ ./configure \
37891             --with-packager=Gentoo \
37892             --with-packager-bug-report=http://bugs.gentoo.org/ \
37893             --with-packager-version="patchset 1.6"
37894           $ ./src/ls --version | head -n2
37895           ls (GNU coreutils) 7.1-dirty
37896           Packaged by Gentoo (patchset 1.6)
37897         Note that the bug reporting info via --help doesn't show up because
37898         coreutils uses its own custom emit_bug_reporting_address() implementation
37899         in src/system.h.  If it didn't, it'd look like:
37900           $ ./src/ls --help | tail -n4
37901           Report bugs to <bug-coreutils@gnu.org>.
37902           Report Gentoo bugs to <http://bugs.gentoo.org/>.
37903           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
37904           General help using GNU software: <http://www.gnu.org/gethelp/>.
37905         * lib/version-etc.c: Print new information, if provided.
37906         * m4/version-etc.m4: New file.
37907         * modules/version-etc (Files): Add m4/version-etc.m4.
37908         (configure.ac): Add gl_VERSION_ETC.
37909
37910 2009-05-31  Bruno Haible  <bruno@clisp.org>
37911
37912         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
37913         and 'int64_t'.
37914         * modules/alignof-tests (Dependencies): Add stdint.
37915         Reported by Eric Blake.
37916
37917 2009-05-31  Bruno Haible  <bruno@clisp.org>
37918
37919         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
37920         restriction due to compiler bugs.
37921         Reported by Eric Blake.
37922
37923 2009-05-31  Simon Josefsson  <simon@josefsson.org>
37924             Bruno Haible  <bruno@clisp.org>
37925
37926         Fix test-alignof failure.
37927         * lib/alignof.h (alignof_slot): New macro.
37928         (alignof_type): New macro, with the same semantics as the previous
37929         'alignof'.
37930         (alignof): Alias to alignof_slot.
37931         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
37932         check that the results are usable as constant expressions.
37933
37934 2009-05-31  Bruno Haible  <bruno@clisp.org>
37935
37936         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
37937         * tests/test-memchr.c (main): Check that memchr does not read past the
37938         first occurrence of the byte.
37939         * tests/test-strstr.c (main): Update comment.
37940         Suggested by Eric Blake.
37941
37942 2009-05-30  Bruno Haible  <bruno@clisp.org>
37943
37944         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
37945         detail how to use dumpbin.
37946         Reported by David Byron <dbyron@dbyron.com>.
37947
37948 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37949
37950         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
37951
37952 2009-06-02  Simon Josefsson  <simon@josefsson.org>
37953
37954         * m4/manywarnings.m4: Add GCC 4.4 warnings.
37955
37956 2009-05-28  Bruno Haible  <bruno@clisp.org>
37957
37958         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
37959         build-aux/ files.
37960
37961 2009-05-28  Simon Josefsson  <simon@josefsson.org>
37962
37963         * gnulib-tool (func_import): Transform license on build-aux/ files too.
37964
37965 2009-05-27  Simon Josefsson  <simon@josefsson.org>
37966
37967         * gnulib-tool (sed_transform_main_lib_file)
37968         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
37969         regexps.
37970
37971 2009-05-26  Simon Josefsson  <simon@josefsson.org>
37972
37973         * tests/test-strstr.c: Add another self-test.
37974         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
37975         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
37976
37977 2009-05-23  Bruno Haible  <bruno@clisp.org>
37978
37979         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
37980         change.
37981
37982 2009-05-21  Bruno Haible  <bruno@clisp.org>
37983
37984         Simplify use of mode_t varargs.
37985         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
37986         uses 'mode_t' or 'int'.
37987         * lib/openat.c (openat): Likewise.
37988         * lib/open-safer.c (open_safer): Likewise.
37989         * m4/mode_t.m4: New file.
37990         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
37991         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
37992         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
37993         * modules/open (Files): Add m4/mode_t.m4.
37994         * modules/openat (Files): Likewise.
37995         * modules/fcntl-safer (Files): Likewise.
37996         Suggested by Eric Blake.
37997
37998 2009-05-21  Pádraig Brady  <P@draigbrady.com>
37999
38000         * doc/glibc-functions/fallocate.texi: New file.
38001         * doc/gnulib.texi: Include it.
38002
38003 2009-05-21  Eric Blake  <ebb9@byu.net>
38004             Bruno Haible  <bruno@clisp.org>
38005
38006         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
38007         invocations.
38008         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38009
38010 2009-05-21  Eric Blake  <ebb9@byu.net>
38011             Bruno Haible  <bruno@clisp.org>
38012
38013         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
38014         include_next. Fix of 2008-11-20 commit.
38015         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
38016         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
38017         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
38018         NEXT_MATH_H.
38019         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
38020         instead of NEXT_MATH_H.
38021
38022 2009-05-21  Bruno Haible  <bruno@clisp.org>
38023
38024         Avoid redefinition warnings for SIZE_MAX.
38025         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
38026         Reported by Simon Josefsson.
38027
38028 2009-05-21  Bruno Haible  <bruno@clisp.org>
38029
38030         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
38031         AC_CACHE_VAL.
38032
38033 2009-05-20  Bruno Haible  <bruno@clisp.org>
38034
38035         Make zeroptr.h work on mingw.
38036         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
38037         mprotect.
38038         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
38039         * modules/memchr2-tests (configure.ac): Likewise.
38040         * modules/memcmp-tests (configure.ac): Likewise.
38041         * modules/memmem-tests (configure.ac): Likewise.
38042         * modules/memrchr-tests (configure.ac): Likewise.
38043         Reported by Simon Josefsson.
38044
38045 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38046
38047         * tests/test-glob.c: Include string.h for strcmp prototype.
38048
38049 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38050
38051         * modules/getdelim (Depends-on): Add explicit stdint, although it
38052         was implicitly already pulled in via realloc-posix.
38053         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
38054
38055 2009-05-20  Simon Josefsson  <simon@josefsson.org>
38056
38057         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
38058         G. Christensen" <tgc@jupiterrise.com>.
38059         * m4/sys_socket_h.m4: Check for sa_family_t.
38060         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
38061         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
38062         * tests/test-sys_socket.c: Check that sa_family_t works.
38063
38064 2009-05-18  Eric Blake  <ebb9@byu.net>
38065
38066         maint.mk: allow gnulib_dir in VPATH build
38067         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
38068
38069 2009-05-15  Jim Meyering  <meyering@redhat.com>
38070
38071         maint.mk: Give gnulib_dir a default definition.
38072         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
38073         Thus, most packages no longer need to specify this variable in cfg.mk
38074
38075 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
38076
38077         rename.m4: fix typos that would make non-mingw cross-configure fail
38078         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
38079
38080 2009-05-13  Eric Blake  <ebb9@byu.net>
38081
38082         mmap-anon: avoid out-of-order autoconf expansion
38083         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
38084         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
38085         * modules/memchr-tests (Depends-on): Add extensions.
38086         * modules/memchr2-tests (Depends-on): Add extensions.
38087         * modules/memcmp-tests (Depends-on): Add extensions.
38088         * modules/memmem-tests (Depends-on): Add extensions.
38089         * modules/memrchr-tests (Depends-on): Add extensions.
38090
38091 2009-05-13  Bruno Haible  <bruno@clisp.org>
38092
38093         Make some tests ISO C 99 compliant.
38094         * tests/zerosize-ptr.h: New file.
38095         * tests/test-memchr.c: Include zerosize-ptr.h.
38096         (main): Use a zero-size object pointer instead of NULL.
38097         * tests/test-memchr2.c: Include zerosize-ptr.h.
38098         (main): Use a zero-size object pointer instead of NULL.
38099         * tests/test-memcmp.c: Include zerosize-ptr.h.
38100         (main): Use a zero-size object pointer instead of NULL.
38101         * tests/test-memmem.c: Include zerosize-ptr.h.
38102         (main): Use a zero-size object pointer instead of NULL.
38103         * tests/test-memrchr.c: Include zerosize-ptr.h.
38104         (main): Use a zero-size object pointer instead of NULL.
38105         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
38106         m4/mmap-anon.m4.
38107         (Depends-on): Add getpagesize.
38108         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38109         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
38110         m4/mmap-anon.m4.
38111         (Depends-on): Add getpagesize.
38112         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38113         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
38114         m4/mmap-anon.m4.
38115         (Depends-on): Add getpagesize.
38116         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38117         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
38118         m4/mmap-anon.m4.
38119         (Depends-on): Add getpagesize.
38120         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38121         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
38122         m4/mmap-anon.m4.
38123         (Depends-on): Add getpagesize.
38124         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
38125
38126 2009-05-12  Bruno Haible  <bruno@clisp.org>
38127
38128         Tests for module 'alignof'.
38129         * modules/alignof-tests: New file.
38130         * tests/test-alignof.c: New file.
38131
38132 2009-05-12  Bruno Haible  <bruno@clisp.org>
38133
38134         Fix alignof macro.
38135         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
38136         vendor compilers that are always correct.
38137
38138 2009-05-12  Bruno Haible  <bruno@clisp.org>
38139
38140         Make the MAP_ANONYMOUS detection work on HP-UX 11.
38141         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
38142         not whether its fully works.
38143
38144 2009-05-12  Bruno Haible  <bruno@clisp.org>
38145
38146         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
38147
38148 2009-05-12  Jim Meyering  <meyering@redhat.com>
38149
38150         * top/maint.mk: Adjust backslash alignment.
38151
38152 2009-05-11  Simon Josefsson  <simon@josefsson.org>
38153
38154         * top/maint.mk: Make $(srcdir)/build-aux configurable.
38155
38156 2009-05-11  Eric Blake  <ebb9@byu.net>
38157
38158         argp: avoid undefined behavior
38159         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
38160         macros.
38161
38162 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38163
38164         * tests/test-vc-list-files-git.sh: Do git config of user.email and
38165         user.name to prevent git commit from complaining.
38166
38167 2009-05-10  Bruno Haible  <bruno@clisp.org>
38168
38169         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
38170         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
38171         it rewrites every file name only once.
38172         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
38173
38174 2009-05-08  Bruno Haible  <bruno@clisp.org>
38175
38176         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
38177         instead of 'max'.
38178
38179 2009-05-08  Simon Josefsson  <simon@josefsson.org>
38180
38181         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
38182         sockaddr_storage test.
38183
38184 2009-05-07  Simon Josefsson  <simon@josefsson.org>
38185
38186         * modules/sys_socket (Makefile.am): Substitute
38187         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
38188         * m4/sys_socket_h.m4: Check for sockaddr_storage.
38189         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
38190         * tests/test-sys_socket.c: Check sockaddr_storage.
38191
38192 2009-05-08  Bruno Haible  <bruno@clisp.org>
38193
38194         New module 'alignof'.
38195         * lib/alignof.h: New file.
38196         * modules/alignof: New file.
38197
38198 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38199             Bruno Haible  <bruno@clisp.org>
38200
38201         Fix test-file-has-acl on FreeBSD.
38202         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
38203         mask is implicitly added.
38204         * tests/test-file-has-acl.c: Include <signal.h>.
38205         (main): Terminate the test after 5 seconds.
38206         * modules/acl-tests (configure.ac): Check for alarm function.
38207
38208 2009-05-04  Bruno Haible  <bruno@clisp.org>
38209
38210         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
38211         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
38212         * modules/errno (configure.ac): Drop AC_REQUIRE.
38213         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
38214         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
38215
38216 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38217
38218         * modules/glob-tests: New module.
38219         * tests/test-glob.c: Add.
38220
38221 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38222
38223         * modules/fnmatch-tests: New module.
38224         * tests/test-fnmatch.c: Add.
38225
38226 2009-05-04  Eric Blake  <ebb9@byu.net>
38227
38228         maint: make the new no-submodule-changes rule VPATH-safe
38229         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
38230
38231 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38232             Bruno Haible  <bruno@clisp.org>
38233
38234         acl: Fix infinite loop on FreeBSD.
38235         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
38236         of return value from acl_get_entry.
38237         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
38238         Likewise.
38239
38240 2009-05-03  Bruno Haible  <bruno@clisp.org>
38241
38242         * lib/acl-internal.h (acl_entries): Clarify return value.
38243         * lib/acl_entries.c (acl_entries): Likewise.
38244
38245 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38246
38247         Bug fix in acl module.
38248         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
38249
38250 2009-05-03  Bruno Haible  <bruno@clisp.org>
38251
38252         Create gperf-generated file in the source dir, not in the build dir.
38253         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
38254         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
38255         * modules/unicase/locale-language (unicase/locale-languages.h):
38256         Likewise.
38257         * modules/unicase/special-casing (unicase/special-casing-table.h):
38258         Likewise.
38259         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
38260         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
38261         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
38262         Reported by Ralf Wildenhues.
38263
38264 2009-05-03  Bruno Haible  <bruno@clisp.org>
38265
38266         * modules/fnmatch (Description, configure.ac): Taken from
38267         fnmatch-posix.
38268         * modules/fnmatch-posix: Turn into a symbolic reference to the
38269         'fnmatch' module, and deprecate.
38270         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
38271
38272 2009-05-03  Bruno Haible  <bruno@clisp.org>
38273
38274         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
38275         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
38276         Reported by Ralf Wildenhues.
38277
38278 2009-05-04  Simon Josefsson  <simon@josefsson.org>
38279
38280         * m4/fnmatch.m4: Fix fnmatch re-define.
38281
38282 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
38283
38284         priv-set: new module and tests; adapt write-any-file
38285         * lib/priv-set.c: New file.
38286         * lib/priv-set.h: New file.
38287         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
38288         * lib/write-any-file.c: Simplify by using priv-set module.
38289         * m4/priv-set.m4: New file.
38290         * modules/priv-set: New file.
38291         * modules/unlinkdir: Add dependency on priv-set module.
38292         * modules/write-any-file: Likewise.
38293
38294         Tests for module 'priv-set'.
38295         * modules/priv-set-tests: New file.
38296         * tests/test-priv-set.c: New file.
38297
38298 2009-05-03  Jim Meyering  <meyering@redhat.com>
38299             Bruno Haible  <bruno@clisp.org>
38300
38301         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
38302         use the converted UTF-8 variant of the name instead.
38303
38304 2009-05-03  Jim Meyering  <meyering@redhat.com>
38305
38306         tests: tighten some getdate tests
38307         * tests/test-getdate.c (main): Tighten tests: require equality,
38308         not just greater than.  Set TZ envvar to UTC0.
38309
38310 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
38311
38312         getdate: correctly interpret "next monday" when run on a Monday
38313         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
38314         that e.g., "next tues" (when run on a tuesday) results in a date
38315         that is one week in the future, and not today's date.
38316         I.e., add a week when the wday is the same as the current one.
38317         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
38318         and earlier by Martin Bernreuther and Jan Minář.
38319         * tests/test-getdate.c (main): Check that "next DAY" is always in
38320         the future and that "last DAY" is always in the past.
38321
38322 2009-05-02  Jim Meyering  <meyering@redhat.com>
38323
38324         build: ensure that a release build fails when a submodule is unclean
38325         * top/maint.mk (no-submodule-changes): New rule.
38326         (alpha beta major): Depend on it.
38327
38328 2009-05-02  Bruno Haible  <bruno@clisp.org>
38329
38330         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
38331         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
38332         shell variable gl_fnmatch_required to detect which variant is
38333         requested.
38334         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
38335         gl_FUNC_FNMATCH_POSIX.
38336         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
38337         exclude fnmatch-posix.
38338
38339 2009-05-02  Bruno Haible  <bruno@clisp.org>
38340
38341         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
38342         * modules/mbsrtowcs (License): Change to LGPLv2+.
38343         * modules/strnlen1 (License): Likewise.
38344         Reported by Simon Josefsson.
38345
38346 2009-05-02  Bruno Haible  <bruno@clisp.org>
38347
38348         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
38349         "cross".
38350         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
38351         gnulib-tool was called with option --source-base=lib.
38352
38353 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38354
38355         Use automake *-local hooks without commands, for extensibility.
38356         * modules/localcharset (Makefile.am): Rename install-exec-local
38357         rule to install-exec-localcharset, and make it a prerequisite of
38358         install-exec-local.  Likewise, rename the uninstall-local rule to
38359         uninstall-localcharset, and make it a prerequisite of the former.
38360
38361 2009-05-01  Bruno Haible  <bruno@clisp.org>
38362
38363         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
38364         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38365         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
38366         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
38367         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
38368         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38369         m4/locale-zh.m4, m4/codeset.m4.
38370
38371         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
38372         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
38373         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
38374         m4/locale-zh.m4.
38375
38376         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
38377         REPLACE_WCRTOMB if mbstate_t must be replaced.
38378         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
38379         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
38380
38381 2009-05-01  Bruno Haible  <bruno@clisp.org>
38382
38383         Avoid compiler warnings when redefining macros defined by <libintl.h>.
38384         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
38385         dngettext, dcngettext, textdomain, bindtextdomain,
38386         bind_textdomain_codeset): Undefine before redefining.
38387
38388 2009-04-30  Bruno Haible  <bruno@clisp.org>
38389
38390         Fix bug introduced on 2009-04-25.
38391         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
38392         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
38393         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
38394         is defined.
38395         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
38396         is defined.
38397         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
38398         is defined.
38399         Reported by Elbert_Pol <elbert.pol@gmail.com>.
38400
38401 2009-04-28  Bruno Haible  <bruno@clisp.org>
38402
38403         Comment tweaks.
38404         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
38405         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
38406         * lib/unicase.h (u*_casexfrm): Likewise.
38407         Reported by Paolo Bonzini.
38408
38409 2009-04-28  Bruno Haible  <bruno@clisp.org>
38410
38411         Fix a compilation error.
38412         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
38413         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
38414         Reported by Jim Meyering.
38415
38416 2009-04-27  Bruno Haible  <bruno@clisp.org>
38417
38418         New module 'libunistring'.
38419         * modules/libunistring: New file.
38420         * m4/libunistring.m4: New file.
38421         * MODULES.html.sh (Unicode string functions): Add it.
38422
38423 2009-04-27  Eric Blake  <ebb9@byu.net>
38424
38425         maint.mk: allow package-specific header to provide <config.h>
38426         * top/maint.mk (sc_require_config_h): New variable.
38427         (sc_require_config_h, sc_require_config_h_first): Use it.
38428
38429 2009-04-27  Simon Josefsson  <simon@josefsson.org>
38430
38431         * top/maint.mk (sc_avoid_if_before_free): Except
38432         useless-if-before-free script.
38433
38434 2009-04-27  Eric Blake  <ebb9@byu.net>
38435
38436         maintainer-makefile: depend on all required helper scripts
38437         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
38438         useless-if-before-free.
38439         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
38440         version, rather than assuming gnulib checkout is available.
38441         Reported by Simen Josefsson.
38442
38443 2009-04-26  Bruno Haible  <bruno@clisp.org>
38444
38445         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
38446         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
38447         "../" or "..".
38448
38449 2009-04-26  Bruno Haible  <bruno@clisp.org>
38450
38451         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
38452         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
38453         AC_LIB_HAVE_LINKFLAGS.
38454
38455 2009-04-26  Bruno Haible  <bruno@clisp.org>
38456
38457         Simplify calling convention of u*_conv_from_encoding.
38458         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
38459         u32_conv_from_encoding): Expect a resultbuf argument and return the
38460         result directly as a pointer.
38461         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
38462         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
38463         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
38464         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
38465         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
38466         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38467         Update.
38468         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
38469         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
38470         * lib/vasnprintf.c (VASNPRINTF): Update.
38471         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
38472         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
38473         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
38474         * NEWS: Mention the change.
38475
38476 2009-04-26  Bruno Haible  <bruno@clisp.org>
38477
38478         Simplify calling convention of u*_conv_to_encoding.
38479         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38480         u32_conv_to_encoding): Expect a resultbuf argument and return the
38481         result directly as a pointer.
38482         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38483         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
38484         freeing scaled_offsets if mem_iconveha failed.
38485         * lib/unicase/u-casexfrm.h (FUNC): Update.
38486         * lib/uninorm/u-normxfrm.h (FUNC): Update.
38487         * lib/vasnprintf.c (VASNPRINTF): Update.
38488         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
38489         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
38490         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
38491         * NEWS: Mention the change.
38492
38493 2009-04-26  Bruno Haible  <bruno@clisp.org>
38494
38495         Avoid test failures on AIX and OSF/1.
38496         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
38497         malloc(0).
38498         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
38499         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
38500         Likewise.
38501         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
38502         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
38503         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
38504         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
38505         * doc/posix-functions/malloc.texi: Document the portability problem
38506         related to malloc(0).
38507
38508 2009-04-26  Bruno Haible  <bruno@clisp.org>
38509
38510         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
38511         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
38512         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
38513
38514 2009-04-25  Bruno Haible  <bruno@clisp.org>
38515
38516         Avoid link error when creating a namespace clean library.
38517         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
38518         as macro with arguments if already defined as an alias.
38519         * lib/signbitf.c (gl_signbitf): Don't undefine.
38520         * lib/signbitd.c (gl_signbitd): Don't undefine.
38521         * lib/signbitl.c (gl_signbitl): Don't undefine.
38522
38523 2009-04-25  Jim Meyering  <meyering@redhat.com>
38524
38525         vc-list-files: fix another quoting bug
38526         * build-aux/vc-list-files: Avoid sed backslash expansion
38527         of pathological directory names.
38528
38529 2009-04-25  Eric Blake  <ebb9@byu.net>
38530
38531         vc-list-files: fix shell quoting error
38532         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
38533         timestamp.
38534
38535 2009-04-25  Jim Meyering  <meyering@redhat.com>
38536
38537         vc-list-files: restore lost functionality with subdir argument
38538         * build-aux/vc-list-files: When given a non-"." sub-directory
38539         argument, substitute the $dir/ prefix back onto each resulting name.
38540         Otherwise, coreutils' root_tests check would fail.
38541
38542 2009-04-24  Eric Blake  <ebb9@byu.net>
38543
38544         vc-list-files: ignore git symlinks
38545         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
38546         than ls-files, to ignore git symlinks.
38547
38548         maint.mk: import improvements from m4
38549         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
38550         (move_if_change): Delete unused macro.
38551         (news-date-check, vc-diff-check): Support VPATH builds.
38552         (announcement): Likewise.  Split --bootstrap-tools list...
38553         (boostrap-tools): ...into separate list, which can be overridden
38554         in cfg.mk.
38555         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
38556         requiring dependency on useless-if-before-free module.
38557         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
38558         Support VPATH builds.
38559
38560 2009-04-24  Jim Meyering  <meyering@redhat.com>
38561
38562         maint.mk: remove coreutils-specific rules and variables
38563         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
38564         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
38565         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
38566
38567         maint.mk: remove obsolete rule
38568         * top/maint.mk (rel-check): Remove rule.
38569         (WGET, WGETFLAGS): Remove now-unused variables.
38570
38571 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38572
38573         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
38574         consistency.
38575
38576         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
38577         '$(PATH_SEPARATOR)' instead of ':'.
38578
38579 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38580
38581         * lib/getopt1.c (main): Use 'const' for static array.
38582
38583 2009-04-24  Simon Josefsson  <simon@josefsson.org>
38584
38585         * top/maint.mk: Sync with coreutils.
38586         * NEWS: Explain incompatibilities.
38587
38588 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38589             Bruno Haible  <bruno@clisp.org>
38590
38591         Fix cross-compilation results.
38592         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
38593         statement, as third argument of AC_TRY_RUN.
38594         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
38595         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
38596         Likewise.
38597         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
38598         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
38599         Likewise.
38600         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
38601         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
38602         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
38603
38604 2009-04-20  Bruno Haible  <bruno@clisp.org>
38605
38606         Avoid test failure on mingw.
38607         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
38608
38609 2009-04-20  Bruno Haible  <bruno@clisp.org>
38610
38611         Avoid compilation error on mingw.
38612         * modules/localename-tests (Depends-on): Add locale.
38613
38614 2009-04-19  Bruno Haible  <bruno@clisp.org>
38615
38616         Support for building a shared library on Windows platforms.
38617         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
38618         (main): Test the presence of UNINORM_NFC here.
38619         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
38620         (main): Test the presence of UNINORM_NFD here.
38621         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
38622         (main): Test the presence of UNINORM_NFKC here.
38623         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
38624         (main): Test the presence of UNINORM_NFKD here.
38625
38626 2009-04-19  Bruno Haible  <bruno@clisp.org>
38627
38628         Avoid a compiler warning.
38629         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
38630         Change type of variable 'sequence'.
38631
38632 2009-04-19  Bruno Haible  <bruno@clisp.org>
38633
38634         * modules/configmake (Makefile.am): When the contents of configmake.h
38635         does not change, arrange to preserve its modification time.
38636
38637 2009-04-17  Simon Josefsson  <simon@josefsson.org>
38638
38639         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
38640         gettext domain.
38641
38642 2009-04-16  Jim Meyering  <meyering@redhat.com>
38643
38644         useless-if-before-free: improve conversion code
38645         * build-aux/useless-if-before-free: Adjust code-in-comment to match
38646         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
38647
38648 2009-04-14  Bruno Haible  <bruno@clisp.org>
38649
38650         * modules/fcntl (Depends-on): Add extensions.
38651         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
38652
38653 2009-04-12  Ben Pfaff  <blp@gnu.org>
38654
38655         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
38656         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
38657
38658 2009-03-20  Ben Pfaff  <blp@gnu.org>
38659
38660         Make rename replace existing destinations on Windows.
38661         * m4/rename.m4: Add test for Mingw.
38662         * lib/rename.c: Add rename replacement that uses MoveFileEx with
38663         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
38664         * doc/posix-functions/rename.texi: Document.
38665
38666 2009-04-10  Bruno Haible  <bruno@clisp.org>
38667
38668         New include file "iconveh.h".
38669         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
38670         * lib/striconveh.h: Include it.
38671         (enum iconv_ilseq_handler): Remove definition.
38672         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
38673         striconveh.h.
38674         * lib/striconveha.c: Include striconveh.h.
38675         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
38676         * modules/striconveh (Files): Add lib/iconveh.h.
38677         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
38678         lib/striconveh.h.
38679
38680 2009-04-10  Bruno Haible  <bruno@clisp.org>
38681
38682         * lib/uniconv.h: Update comment.
38683
38684 2009-04-10  Bruno Haible  <bruno@clisp.org>
38685
38686         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
38687         always.
38688         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
38689         * lib/unistr/u16-mbtouc-aux.c: Likewise.
38690         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
38691         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
38692         "unistring-notinline.h", so that the function gets defined always.
38693         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
38694         * lib/unistr/u8-uctomb.c: Likewise.
38695         * lib/unistr/u16-mbtouc.c: Likewise.
38696         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
38697         * lib/unistr/u16-uctomb.c: Likewise.
38698         * lib/unistr/u32-mbtouc.c: Likewise.
38699         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
38700         * lib/unistr/u32-uctomb.c: Likewise.
38701
38702 2009-04-10  Bruno Haible  <bruno@clisp.org>
38703
38704         Mark 'utime' obsolete.
38705         * modules/utime (Status, Notice): New sections.
38706         Suggested by Jim Meyering.
38707
38708         Fix cross-compile guess for utime test.
38709         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
38710         autoconf.
38711         * doc/posix-functions/utime.texi: Give more precisions.
38712         Reported by Jan <ipif@ymail.com>.
38713
38714 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
38715
38716         filevercmp: correct today's change
38717         * lib/filevercmp.c: Also handle coreutils' test inputs.
38718         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
38719
38720         Fix regression in 'filevercmp' module. Thanks Sven Joachim
38721         for reporting it.
38722         * lib/filevercmp.c: Special handle for "", "." and "..".
38723         * tests/test-filevercmp.c: Enlarge the set suite.
38724
38725 2009-04-07  Jim Meyering  <meyering@redhat.com>
38726
38727         useless-if-before-free: show how to remove braced useless free, too
38728         * build-aux/useless-if-before-free: still only in a comment, though.
38729
38730 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
38731
38732         maint.mk: import changes to syntax-check macros from coreutils
38733         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
38734         Use them in the relevant macros.
38735
38736 2009-04-06  Bruno Haible  <bruno@clisp.org>
38737
38738         Fix unportable use of bit-fields.
38739         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
38740         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
38741         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
38742
38743 2009-04-06  Bruno Haible  <bruno@clisp.org>
38744
38745         Avoid test failures on AIX and OSF/1.
38746         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
38747         that malloc(0) = NULL.
38748         * tests/unicase/test-u8-tolower.c (check): Likewise.
38749         * tests/unicase/test-u8-totitle.c (check): Likewise.
38750         * tests/unicase/test-u8-toupper.c (check): Likewise.
38751         * tests/unicase/test-u16-casefold.c (check): Likewise.
38752         * tests/unicase/test-u16-tolower.c (check): Likewise.
38753         * tests/unicase/test-u16-totitle.c (check): Likewise.
38754         * tests/unicase/test-u16-toupper.c (check): Likewise.
38755         * tests/unicase/test-u32-casefold.c (check): Likewise.
38756         * tests/unicase/test-u32-tolower.c (check): Likewise.
38757         * tests/unicase/test-u32-totitle.c (check): Likewise.
38758         * tests/unicase/test-u32-toupper.c (check): Likewise.
38759         * tests/uninorm/test-u8-nfc.c (check): Likewise.
38760         * tests/uninorm/test-u8-nfd.c (check): Likewise.
38761         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
38762         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
38763         * tests/uninorm/test-u16-nfc.c (check): Likewise.
38764         * tests/uninorm/test-u16-nfd.c (check): Likewise.
38765         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
38766         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
38767         * tests/uninorm/test-u32-nfc.c (check): Likewise.
38768         * tests/uninorm/test-u32-nfd.c (check): Likewise.
38769         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
38770         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
38771
38772 2009-04-05  Bruno Haible  <bruno@clisp.org>
38773
38774         Work around an autoconf limitation.
38775         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
38776         comment line if it would be longer than 3 KB.
38777
38778 2009-04-05  Bruno Haible  <bruno@clisp.org>
38779
38780         Avoid test failure with libiconv-1.13.
38781         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
38782         of the expected test results.
38783
38784 2009-04-05  Bruno Haible  <bruno@clisp.org>
38785
38786         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
38787         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
38788         that it should be installed.
38789
38790 2009-04-05  Bruno Haible  <bruno@clisp.org>
38791
38792         * gnulib-tool: New option --copy-file.
38793         (func_usage): Document it.
38794         (func_dest_tmpfilename): Moved out of func_import.
38795         (func_add_file, func_update_file): New functions, extracted from
38796         func_import.
38797         (func_import): Update.
38798
38799 2009-04-05  Karl Berry  <karl@gnu.org>
38800
38801         * README: prominently mention gnulib-tool.
38802         Rearrange sections so getting the code is near the top.
38803
38804 2009-04-05  Bruno Haible  <bruno@clisp.org>
38805
38806         * lib/unicase.h: Mention u*_cmp2.
38807         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38808         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
38809         * lib/unicase/ulc-casecmp.c: Likewise.
38810         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
38811         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
38812         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
38813         unistr/u8-cmp.
38814         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
38815         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
38816         unistr/u16-cmp.
38817         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
38818         unistr/u32-cmp.
38819
38820         * lib/uninorm.h: Mention u*_cmp2.
38821         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
38822         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
38823         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
38824         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
38825         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
38826         unistr/u8-cmp.
38827         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
38828         unistr/u16-cmp.
38829         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
38830         unistr/u32-cmp.
38831
38832         New module 'unistr/u32-cmp2'.
38833         * lib/unistr/u32-cmp2.c: New file.
38834         * modules/unistr/u32-cmp2: New file.
38835
38836         New module 'unistr/u16-cmp2'.
38837         * lib/unistr/u16-cmp2.c: New file.
38838         * modules/unistr/u16-cmp2: New file.
38839
38840         New module 'unistr/u8-cmp2'.
38841         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
38842         * lib/unistr/u8-cmp2.c: New file.
38843         * lib/unistr/u-cmp2.h: New file.
38844         * modules/unistr/u8-cmp2: New file.
38845
38846 2009-04-05  Bruno Haible  <bruno@clisp.org>
38847
38848         * lib/unictype.h (uc_property_is_valid): New macro.
38849         * tests/unictype/test-pr_byname.c (main): Use it.
38850
38851         * lib/unistr.h: Doc fixes.
38852         * lib/uniconv.h: Doc fixes.
38853         * lib/unictype.h: Doc fixes.
38854
38855 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
38856
38857         Port coreutils 7.2 to Solaris 8.
38858
38859         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
38860         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
38861         for Solaris 8.  This is a bit of a hack, as it means it's the
38862         caller's responsibility to add -lnsl if needed, but most likely it
38863         won't be needed since only getaddrinfo uses this and getaddrinfo
38864         isn't needed on Solaris 8.
38865
38866         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
38867         problem to Solaris 8 encountered with coreutils 7.2, which
38868         resulted in a message "fnmatch.c:292: warning: passing argument 4
38869         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
38870         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
38871
38872 2009-04-03  Simon Josefsson  <simon@josefsson.org>
38873
38874         * m4/ld-version-script.m4: Add FIXME comment.
38875
38876 2009-04-02  Simon Josefsson  <simon@josefsson.org>
38877
38878         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
38879         SOVERSION variable.
38880
38881 2009-04-02  Bruno Haible  <bruno@clisp.org>
38882
38883         * Makefile (info, html, dvi, pdf): Combine the rules.
38884         Suggested by Jim Meyering.
38885
38886 2009-04-01  Bruno Haible  <bruno@clisp.org>
38887
38888         * Makefile (info, html, dvi, pdf): New targets.
38889         Reported by Reuben Thomas <rrt@sc3d.org>.
38890
38891 2009-04-01  Bruno Haible  <bruno@clisp.org>
38892
38893         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
38894         can be put into PATH.
38895         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
38896
38897 2009-04-01  Bruno Haible  <bruno@clisp.org>
38898
38899         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
38900
38901 2009-04-01  Bruno Haible  <bruno@clisp.org>
38902
38903         Rename module 'visibility'.
38904         * modules/lib-symbol-visibility: Renamed from modules/visibility.
38905         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
38906         * doc/gnulib.texi: Update.
38907         * MODULES.html.sh (Misc): Update.
38908         * NEWS: Mention the change.
38909
38910 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38911
38912         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
38913         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
38914         Eric Blake <ebb9@byu.net> for review.
38915         * MODULES.html.sh: Add lib-msvc-compat.
38916         * doc/gnulib.texi: Link to new section.
38917         * m4/ld-output-def.m4: New file.
38918         * doc/ld-output-def.texi: New file.
38919
38920 2009-04-01  Simon Josefsson  <simon@josefsson.org>
38921
38922         Rename ld-version-script to lib-symbol-versions.  Suggested by
38923         Bruno Haible <bruno@clisp.org>.
38924         * modules/ld-version-script: Renamed to lib-symbol-versions.
38925         * doc/ld-version-script.texi: Fix module name.
38926         * MODULES.html.sh: Add lib-symbol-versions.
38927
38928 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38929
38930         * modules/u64-tests: New file.
38931         * tests/test-u64.c: New file.
38932
38933 2009-03-04  Simon Josefsson  <simon@josefsson.org>
38934
38935         * MODULES.html.sh: Mention u64.
38936         * modules/u64: New module.
38937         * modules/crypto/sha512: Depend on u64 module instead of providing
38938         u64.h.
38939
38940 2009-03-27  Eric Blake  <ebb9@byu.net>
38941
38942         test-strerror: make debugging EAI_SYSTEM easier
38943         * modules/getaddrinfo-tests (Depends-on): Add strerror.
38944         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
38945         failure was EAI_SYSTEM.
38946
38947 2009-03-25  Bruno Haible  <bruno@clisp.org>
38948
38949         Fix a problem with --enable-relocatable on Solaris 7.
38950         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
38951         since 2008-02-24.
38952
38953 2009-03-25  Eric Blake  <ebb9@byu.net>
38954
38955         test-sockets: avoid gcc warning
38956         * tests/test-sockets.c (main): Silence compiler warning.
38957
38958 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
38959
38960         New modules nproc, pthread, contributed by Glen Lenker.
38961
38962         * MODULES.html.sh: Add pthread, nproc.
38963         * lib/nproc.c: New file.
38964         * lib/nproc.h: New file.
38965         * lib/pthread.in.h: New file.
38966         * m4/pthread.m4: New file.
38967         * modules/nproc: New file.
38968         * modules/pthread: New file.
38969
38970 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38971
38972         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
38973         New variable.
38974
38975 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
38976
38977         filevercmp: handle simple~ and numbered.~3~ backup suffixes
38978         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
38979         * tests/test-filevercmp.c: Add tests for backup suffixes.
38980
38981 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38982
38983         * modules/stdlib (Depends-on): Add stdint, needed when defining
38984         struct random_data on, for example, HP-UX 10.20.  Reported by
38985         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38986
38987 2009-03-24  Simon Josefsson  <simon@josefsson.org>
38988
38989         * lib/readline.c (readline): Call fflush on stdout after printing
38990         prompt.
38991
38992 2009-03-20  Bruno Haible  <bruno@clisp.org>
38993
38994         Remove dependency from 'close' module to -lws2_32 on native Windows.
38995         * lib/close-hook.h: New file.
38996         * lib/close-hook.c: New file.
38997         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
38998         w32sock.h.
38999         (_gl_close_fd_maybe_socket): Remove function.
39000         (rpl_close): Invoke execute_all_close_hooks instead of
39001         _gl_close_fd_maybe_socket.
39002         * lib/sockets.c: Include close-hook.h, w32sock.h.
39003         (close_fd_maybe_socket): New function, essentially from lib/close.c.
39004         (close_sockets_hook): New variable.
39005         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
39006         (gl_sockets_cleanup): Unregister it.
39007         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
39008         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
39009         * modules/close-hook: New file.
39010         * modules/close (Files): Remove lib/w32sock.h.
39011         (Depends-on): Add close-hook.
39012         (Link): Remove section.
39013         * modules/sockets (Files): Add lib/w32sock.h.
39014         (Depends-on): Add close-hook.
39015         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
39016         invocation.
39017         * NEWS: Mention that LIB_CLOSE is gone.
39018
39019 2009-03-23  Eric Blake  <ebb9@byu.net>
39020
39021         signal-tests: test previous patch
39022         * tests/test-signal.c: New file.
39023         * modules/signal-tests: Likewise.
39024
39025         signal.h: always support 'volatile sig_atomic_t'
39026         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
39027         (gl_SIGNAL_H_DEFAULTS): Add a default.
39028         * modules/signal (Makefile.am): Substitute if needed.
39029         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
39030         users can blindly add volatile.
39031         * doc/posix-headers/signal.texi (signal.h): Document it.
39032         Reported by Matthew Woehlke.
39033
39034 2009-03-23  Jim Meyering  <meyering@redhat.com>
39035
39036         pathmax: PATH_MAX: use pathconf only when available
39037         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
39038         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
39039         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
39040         This avoids a link failure in a PSP cross-compilation environment
39041         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
39042
39043         * lib/vasnprintf.c (divide): Fix typo in comment.
39044
39045 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39046
39047         * gnulib-tool (func_filter_filelist): Fix comment.
39048
39049 2009-03-20  Bruno Haible  <bruno@clisp.org>
39050
39051         Make sockets.h self-contained.
39052         * lib/sockets.c: Include sockets.h first.
39053         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
39054
39055 2009-03-19  Eric Blake  <ebb9@byu.net>
39056
39057         doc: mention more functions added in cygwin 1.7.0
39058         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
39059         addition.
39060         * doc/posix-functions/log2f.texi: Likewise.
39061
39062 2009-03-19  Jim Meyering  <meyering@redhat.com>
39063
39064         fsusage: avoid syntax error due to statement-before-declaration
39065         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
39066         after all declarations.  Reported by Matthew Woehlke in
39067         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
39068
39069 2009-03-18  Eric Blake  <ebb9@byu.net>
39070
39071         build-aux/compile: sync from automake
39072         * build-aux/compile: New file, from automake.
39073         * config/srclist.txt: Mention build-aux/compile.
39074
39075 2009-03-17  Bruno Haible  <bruno@clisp.org>
39076
39077         * lib/git-merge-changelog.c: Fix typo in comment.
39078         Reported by Reuben Thomas <rrt@sc3d.org>.
39079
39080 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
39081
39082         * m4/regex.m4: update and improve help for
39083         --without-included-regex.
39084
39085 2009-03-17  Simon Josefsson  <simon@josefsson.org>
39086
39087         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
39088         failure on missing include files.
39089
39090 2009-03-17  Eric Blake  <ebb9@byu.net>
39091
39092         doc: mention more functions added in cygwin 1.7.0
39093         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
39094         addition.
39095         * doc/posix-functions/fwscanf.texi: Likewise.
39096         * doc/posix-functions/swprintf.texi: Likewise.
39097         * doc/posix-functions/swscanf.texi: Likewise.
39098         * doc/posix-functions/vfwprintf.texi: Likewise.
39099         * doc/posix-functions/vfwscanf.texi: Likewise.
39100         * doc/posix-functions/vswprintf.texi: Likewise.
39101         * doc/posix-functions/vswscanf.texi: Likewise.
39102         * doc/posix-functions/vwprintf.texi: Likewise.
39103         * doc/posix-functions/vwscanf.texi: Likewise.
39104         * doc/posix-functions/wcscasecmp.texi: Likewise.
39105         * doc/posix-functions/wcsdup.texi: Likewise.
39106         * doc/posix-functions/wcsftime.texi: Likewise.
39107         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39108         * doc/posix-functions/wprintf.texi: Likewise.
39109         * doc/posix-functions/wscanf.texi: Likewise.
39110         * doc/glibc-functions/gethostbyname2.texi: Likewise.
39111
39112 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39113
39114         maint.mk: really add $(AM_MAKEFLAGS)
39115         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
39116         was inadvertently omitted in the last commit.
39117         Spotted by Bruno Haible.
39118
39119         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
39120         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
39121         $(AM_MAKEFLAGS)' rather than plain `make'.
39122
39123         gnulib-tool: execute $MAKE not make
39124         * gnulib-tool: Default $MAKE to 'make'.
39125         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
39126         than make.  Initialize $MAKE in the do-autobuild script.
39127
39128         gnulib-tool: use $MAKE not make in generated files
39129         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
39130         make, in generated files.  Initialize $MAKE in the do-autobuild
39131         script.
39132
39133         * top/GNUmakefile (_have-git-version-gen): Fix typo.
39134
39135         GNUmakefile: disable parallelism only for multiple, recursive targets
39136         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
39137         additions in the Makefile.
39138         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
39139         by Automake.
39140         (.NOTPARALLEL): Only disable parallel builds if multiple targets
39141         are listed on the command line and at least one of them is
39142         listed in $(ALL_RECURSIVE_TARGETS).
39143
39144 2009-03-14  Bruno Haible  <bruno@clisp.org>
39145
39146         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
39147         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
39148         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
39149         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
39150         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
39151         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
39152         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
39153         unistr/u8-uctomb.
39154         * modules/unistr/u8-strchr (Depends-on): Likewise.
39155         * modules/unistr/u8-strrchr (Depends-on): Likewise.
39156         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
39157         unistr/u16-uctomb.
39158         * modules/unistr/u16-strchr (Depends-on): Likewise.
39159         * modules/unistr/u16-strrchr (Depends-on): Likewise.
39160
39161 2009-03-12  Bruno Haible  <bruno@clisp.org>
39162
39163         Work around select() bug on Interix 3.5.
39164         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
39165         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
39166         * m4/select.m4: New file.
39167         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
39168         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
39169         * modules/select (Files): Add m4/select.m4.
39170         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
39171         * modules/nanosleep (Depends-on): Add select.
39172         * modules/poll (Depends-on): Likewise.
39173         * doc/posix-functions/select.texi: Mention the Interix bug.
39174         Reported by Markus Duft <mduft@gentoo.org>.
39175
39176         * lib/select.c: Renamed from lib/winsock-select.c.
39177         * modules/select (Files): Add lib/select.c, remove
39178         lib/winsock-select.c.
39179         (configure.ac): Update.
39180
39181 2009-03-12  Jim Meyering  <meyering@redhat.com>
39182
39183         avoid gcc warnings about unused macro definitions
39184         * lib/readtokens.c (STREQ): Remove unused definition.
39185         * lib/xmalloc.c (SIZE_MAX): Likewise.
39186         * lib/openat-die.c (N_): Likewise.
39187         * lib/mountlist.c (SIZE_MAX): Remove definition.
39188         Instead, include <stdint.h>.
39189         * lib/readutmp.c: Likewise.
39190         * modules/readutmp (Depends-on): Add stdint.
39191         * modules/mountlist (Depends-on): Add stdint.
39192         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
39193
39194 2009-03-10  Bruno Haible  <bruno@clisp.org>
39195
39196         Tests for module 'mbmemcasecoll'.
39197         * modules/mbmemcasecoll-tests: New file.
39198         * tests/test-mbmemcasecoll1.sh: New file.
39199         * tests/test-mbmemcasecoll2.sh: New file.
39200         * tests/test-mbmemcasecoll3.sh: New file.
39201         * tests/test-mbmemcasecoll.c: New file.
39202
39203         New module 'mbmemcasecoll'.
39204         * lib/mbmemcasecoll.h: New file.
39205         * lib/mbmemcasecoll.c: New file.
39206         * modules/mbmemcasecoll: New file.
39207
39208         * tests/test-mbmemcasecmp.h: New file, extracted from
39209         tests/test-mbmemcasecmp.c.
39210         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
39211         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
39212         (main): Update.
39213         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
39214
39215 2009-03-09  Bruno Haible  <bruno@clisp.org>
39216
39217         Tests for module 'mbmemcasecmp'.
39218         * modules/mbmemcasecmp-tests: New file.
39219         * tests/test-mbmemcasecmp1.sh: New file.
39220         * tests/test-mbmemcasecmp2.sh: New file.
39221         * tests/test-mbmemcasecmp3.sh: New file.
39222         * tests/test-mbmemcasecmp.c: New file.
39223
39224         New module 'mbmemcasecmp'.
39225         * lib/mbmemcasecmp.h: New file.
39226         * lib/mbmemcasecmp.c: New file.
39227         * modules/mbmemcasecmp: New file.
39228
39229 2009-03-09  Bruno Haible  <bruno@clisp.org>
39230
39231         Tests for module 'unicase/ulc-casecoll'.
39232         * modules/unicase/ulc-casecoll-tests: New file.
39233         * tests/unicase/test-ulc-casecoll1.sh: New file.
39234         * tests/unicase/test-ulc-casecoll2.sh: New file.
39235         * tests/unicase/test-ulc-casecoll.c: New file.
39236
39237         New module 'unicase/ulc-casecoll'.
39238         * lib/unicase.h (ulc_casecoll): New declaration.
39239         * lib/unicase/ulc-casecoll.c: New file.
39240         * modules/unicase/ulc-casecoll: New file.
39241
39242         New module 'unicase/ulc-casexfrm'.
39243         * lib/unicase.h (ulc_casexfrm): New declaration.
39244         * lib/unicase/ulc-casexfrm.c: New file.
39245         * modules/unicase/ulc-casexfrm: New file.
39246
39247 2009-03-09  Bruno Haible  <bruno@clisp.org>
39248
39249         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
39250         invocations.
39251
39252         * m4/mbscasecmp.m4: Remove file.
39253         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
39254         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
39255
39256         * m4/mbscasestr.m4: Remove file.
39257         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
39258         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
39259
39260         * m4/mbschr.m4: Remove file.
39261         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
39262         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
39263
39264         * m4/mbscspn.m4: Remove file.
39265         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
39266         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
39267
39268         * m4/mbslen.m4: Remove file.
39269         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
39270         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
39271
39272         * m4/mbsncasecmp.m4: Remove file.
39273         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
39274         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
39275
39276         * m4/mbsnlen.m4: Remove file.
39277         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
39278         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
39279
39280         * m4/mbspbrk.m4: Remove file.
39281         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
39282         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
39283
39284         * m4/mbspcasecmp.m4: Remove file.
39285         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
39286         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
39287
39288         * m4/mbsrchr.m4: Remove file.
39289         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
39290         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
39291
39292         * m4/mbssep.m4: Remove file.
39293         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
39294         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
39295
39296         * m4/mbsspn.m4: Remove file.
39297         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
39298         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
39299
39300         * m4/mbsstr.m4: Remove file.
39301         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
39302         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
39303
39304         * m4/mbstok_r.m4: Remove file.
39305         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
39306         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
39307
39308         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
39309
39310         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
39311         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
39312
39313         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
39314
39315 2009-03-08  Bruno Haible  <bruno@clisp.org>
39316
39317         Tests for module 'unicase/ulc-casecmp'.
39318         * modules/unicase/ulc-casecmp-tests: New file.
39319         * tests/unicase/test-ulc-casecmp1.sh: New file.
39320         * tests/unicase/test-ulc-casecmp2.sh: New file.
39321         * tests/unicase/test-ulc-casecmp.c: New file.
39322
39323         New module 'unicase/ulc-casecmp'.
39324         * lib/unicase.h (ulc_casecmp): New declaration.
39325         * lib/unicase/ulc-casecmp.c: New file.
39326         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
39327         'const SRC_UNIT *'.
39328         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
39329         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
39330         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
39331         * modules/unicase/ulc-casecmp: New file.
39332
39333         Tests for module 'unicase/u32-is-cased'.
39334         * modules/unicase/u32-is-cased-tests: New file.
39335         * tests/unicase/test-u32-is-cased.c: New file.
39336
39337         Tests for module 'unicase/u16-is-cased'.
39338         * modules/unicase/u16-is-cased-tests: New file.
39339         * tests/unicase/test-u16-is-cased.c: New file.
39340
39341         Tests for module 'unicase/u8-is-cased'.
39342         * modules/unicase/u8-is-cased-tests: New file.
39343         * tests/unicase/test-u8-is-cased.c: New file.
39344         * tests/unicase/test-is-cased.h: New file.
39345
39346         New module 'unicase/u32-is-cased'.
39347         * lib/unicase/u32-is-cased.c: New file.
39348         * modules/unicase/u32-is-cased: New file.
39349
39350         New module 'unicase/u16-is-cased'.
39351         * lib/unicase/u16-is-cased.c: New file.
39352         * modules/unicase/u16-is-cased: New file.
39353
39354         New module 'unicase/u8-is-cased'.
39355         * lib/unicase/u8-is-cased.c: New file.
39356         * lib/unicase/u-is-cased.h: New file.
39357         * modules/unicase/u8-is-cased: New file.
39358
39359         Tests for module 'unicase/u32-is-casefolded'.
39360         * modules/unicase/u32-is-casefolded-tests: New file.
39361         * tests/unicase/test-u32-is-casefolded.c: New file.
39362
39363         Tests for module 'unicase/u16-is-casefolded'.
39364         * modules/unicase/u16-is-casefolded-tests: New file.
39365         * tests/unicase/test-u16-is-casefolded.c: New file.
39366
39367         Tests for module 'unicase/u8-is-casefolded'.
39368         * modules/unicase/u8-is-casefolded-tests: New file.
39369         * tests/unicase/test-u8-is-casefolded.c: New file.
39370         * tests/unicase/test-is-casefolded.h: New file.
39371
39372         New module 'unicase/u32-is-casefolded'.
39373         * lib/unicase/u32-is-casefolded.c: New file.
39374         * modules/unicase/u32-is-casefolded: New file.
39375
39376         New module 'unicase/u16-is-casefolded'.
39377         * lib/unicase/u16-is-casefolded.c: New file.
39378         * modules/unicase/u16-is-casefolded: New file.
39379
39380         New module 'unicase/u8-is-casefolded'.
39381         * lib/unicase/u8-is-casefolded.c: New file.
39382         * modules/unicase/u8-is-casefolded: New file.
39383
39384         Tests for module 'unicase/u32-is-titlecase'.
39385         * modules/unicase/u32-is-titlecase-tests: New file.
39386         * tests/unicase/test-u32-is-titlecase.c: New file.
39387
39388         Tests for module 'unicase/u16-is-titlecase'.
39389         * modules/unicase/u16-is-titlecase-tests: New file.
39390         * tests/unicase/test-u16-is-titlecase.c: New file.
39391
39392         Tests for module 'unicase/u8-is-titlecase'.
39393         * modules/unicase/u8-is-titlecase-tests: New file.
39394         * tests/unicase/test-u8-is-titlecase.c: New file.
39395         * tests/unicase/test-is-titlecase.h: New file.
39396
39397         New module 'unicase/u32-is-titlecase'.
39398         * lib/unicase/u32-is-titlecase.c: New file.
39399         * modules/unicase/u32-is-titlecase: New file.
39400
39401         New module 'unicase/u16-is-titlecase'.
39402         * lib/unicase/u16-is-titlecase.c: New file.
39403         * modules/unicase/u16-is-titlecase: New file.
39404
39405         New module 'unicase/u8-is-titlecase'.
39406         * lib/unicase/u8-is-titlecase.c: New file.
39407         * modules/unicase/u8-is-titlecase: New file.
39408
39409         Tests for module 'unicase/u32-is-lowercase'.
39410         * modules/unicase/u32-is-lowercase-tests: New file.
39411         * tests/unicase/test-u32-is-lowercase.c: New file.
39412
39413         Tests for module 'unicase/u16-is-lowercase'.
39414         * modules/unicase/u16-is-lowercase-tests: New file.
39415         * tests/unicase/test-u16-is-lowercase.c: New file.
39416
39417         Tests for module 'unicase/u8-is-lowercase'.
39418         * modules/unicase/u8-is-lowercase-tests: New file.
39419         * tests/unicase/test-u8-is-lowercase.c: New file.
39420         * tests/unicase/test-is-lowercase.h: New file.
39421
39422         New module 'unicase/u32-is-lowercase'.
39423         * lib/unicase/u32-is-lowercase.c: New file.
39424         * modules/unicase/u32-is-lowercase: New file.
39425
39426         New module 'unicase/u16-is-lowercase'.
39427         * lib/unicase/u16-is-lowercase.c: New file.
39428         * modules/unicase/u16-is-lowercase: New file.
39429
39430         New module 'unicase/u8-is-lowercase'.
39431         * lib/unicase/u8-is-lowercase.c: New file.
39432         * modules/unicase/u8-is-lowercase: New file.
39433
39434         Tests for module 'unicase/u32-is-uppercase'.
39435         * modules/unicase/u32-is-uppercase-tests: New file.
39436         * tests/unicase/test-u32-is-uppercase.c: New file.
39437
39438         Tests for module 'unicase/u16-is-uppercase'.
39439         * modules/unicase/u16-is-uppercase-tests: New file.
39440         * tests/unicase/test-u16-is-uppercase.c: New file.
39441
39442         Tests for module 'unicase/u8-is-uppercase'.
39443         * modules/unicase/u8-is-uppercase-tests: New file.
39444         * tests/unicase/test-u8-is-uppercase.c: New file.
39445         * tests/unicase/test-is-uppercase.h: New file.
39446
39447         New module 'unicase/u32-is-uppercase'.
39448         * lib/unicase/u32-is-uppercase.c: New file.
39449         * modules/unicase/u32-is-uppercase: New file.
39450
39451         New module 'unicase/u16-is-uppercase'.
39452         * lib/unicase/u16-is-uppercase.c: New file.
39453         * modules/unicase/u16-is-uppercase: New file.
39454
39455         New module 'unicase/u8-is-uppercase'.
39456         * lib/unicase/u8-is-uppercase.c: New file.
39457         * modules/unicase/u8-is-uppercase: New file.
39458
39459         New module 'unicase/u32-is-invariant'.
39460         * lib/unicase/u32-is-invariant.c: New file.
39461         * modules/unicase/u32-is-invariant: New file.
39462
39463         New module 'unicase/u16-is-invariant'.
39464         * lib/unicase/u16-is-invariant.c: New file.
39465         * modules/unicase/u16-is-invariant: New file.
39466
39467         New module 'unicase/u8-is-invariant'.
39468         * lib/unicase/u8-is-invariant.c: New file.
39469         * lib/unicase/invariant.h: New file.
39470         * lib/unicase/u-is-invariant.h: New file.
39471         * modules/unicase/u8-is-invariant: New file.
39472
39473         Tests for module 'unicase/u32-casecoll'.
39474         * modules/unicase/u32-casecoll-tests: New file.
39475         * tests/unicase/test-u32-casecoll.c: New file.
39476
39477         Tests for module 'unicase/u16-casecoll'.
39478         * modules/unicase/u16-casecoll-tests: New file.
39479         * tests/unicase/test-u16-casecoll.c: New file.
39480
39481         Tests for module 'unicase/u8-casecoll'.
39482         * modules/unicase/u8-casecoll-tests: New file.
39483         * tests/unicase/test-u8-casecoll.c: New file.
39484
39485         New module 'unicase/u32-casecoll'.
39486         * lib/unicase/u32-casecoll.c: New file.
39487         * modules/unicase/u32-casecoll: New file.
39488
39489         New module 'unicase/u16-casecoll'.
39490         * lib/unicase/u16-casecoll.c: New file.
39491         * modules/unicase/u16-casecoll: New file.
39492
39493         New module 'unicase/u8-casecoll'.
39494         * lib/unicase/u8-casecoll.c: New file.
39495         * lib/unicase/u-casecoll.h: New file.
39496         * modules/unicase/u8-casecoll: New file.
39497
39498         New module 'unicase/u32-casexfrm'.
39499         * lib/unicase/u32-casexfrm.c: New file.
39500         * modules/unicase/u32-casexfrm: New file.
39501
39502         New module 'unicase/u16-casexfrm'.
39503         * lib/unicase/u16-casexfrm.c: New file.
39504         * modules/unicase/u16-casexfrm: New file.
39505
39506         New module 'unicase/u8-casexfrm'.
39507         * lib/unicase/u8-casexfrm.c: New file.
39508         * lib/unicase/u-casexfrm.h: New file.
39509         * modules/unicase/u8-casexfrm: New file.
39510
39511         Tests for module 'unicase/u32-casecmp'.
39512         * modules/unicase/u32-casecmp-tests: New file.
39513         * tests/unicase/test-u32-casecmp.c: New file.
39514
39515         Tests for module 'unicase/u16-casecmp'.
39516         * modules/unicase/u16-casecmp-tests: New file.
39517         * tests/unicase/test-u16-casecmp.c: New file.
39518
39519         Tests for module 'unicase/u8-casecmp'.
39520         * modules/unicase/u8-casecmp-tests: New file.
39521         * tests/unicase/test-u8-casecmp.c: New file.
39522         * tests/unicase/test-casecmp.h: New file.
39523
39524         New module 'unicase/u32-casecmp'.
39525         * lib/unicase/u32-casecmp.c: New file.
39526         * modules/unicase/u32-casecmp: New file.
39527
39528         New module 'unicase/u16-casecmp'.
39529         * lib/unicase/u16-casecmp.c: New file.
39530         * modules/unicase/u16-casecmp: New file.
39531
39532         New module 'unicase/u8-casecmp'.
39533         * lib/unicase/u8-casecmp.c: New file.
39534         * lib/unicase/u-casecmp.h: New file.
39535         * modules/unicase/u8-casecmp: New file.
39536
39537         Tests for module 'unicase/u32-casefold'.
39538         * modules/unicase/u32-casefold-tests: New file.
39539         * tests/unicase/test-u32-casefold.c: New file.
39540
39541         Tests for module 'unicase/u16-casefold'.
39542         * modules/unicase/u16-casefold-tests: New file.
39543         * tests/unicase/test-u16-casefold.c: New file.
39544
39545         Tests for module 'unicase/u8-casefold'.
39546         * modules/unicase/u8-casefold-tests: New file.
39547         * tests/unicase/test-u8-casefold.c: New file.
39548
39549         New module 'unicase/u32-casefold'.
39550         * lib/unicase/u32-casefold.c: New file.
39551         * modules/unicase/u32-casefold: New file.
39552
39553         New module 'unicase/u16-casefold'.
39554         * lib/unicase/u16-casefold.c: New file.
39555         * modules/unicase/u16-casefold: New file.
39556
39557         New module 'unicase/u8-casefold'.
39558         * lib/unicase/u8-casefold.c: New file.
39559         * lib/unicase/u-casefold.h: New file.
39560         * modules/unicase/u8-casefold: New file.
39561
39562         New module 'unicase/tocasefold'.
39563         * lib/unicase/casefold.h: New file.
39564         * lib/unicase/tocasefold.c: New file.
39565         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
39566         * modules/unicase/tocasefold: New file.
39567
39568         Tests for module 'unicase/u32-totitle'.
39569         * modules/unicase/u32-totitle-tests: New file.
39570         * tests/unicase/test-u32-totitle.c: New file.
39571
39572         Tests for module 'unicase/u16-totitle'.
39573         * modules/unicase/u16-totitle-tests: New file.
39574         * tests/unicase/test-u16-totitle.c: New file.
39575
39576         Tests for module 'unicase/u8-totitle'.
39577         * modules/unicase/u8-totitle-tests: New file.
39578         * tests/unicase/test-u8-totitle.c: New file.
39579
39580         New module 'unicase/u32-totitle'.
39581         * lib/unicase/u32-totitle.c: New file.
39582         * modules/unicase/u32-totitle: New file.
39583
39584         New module 'unicase/u16-totitle'.
39585         * lib/unicase/u16-totitle.c: New file.
39586         * modules/unicase/u16-totitle: New file.
39587
39588         New module 'unicase/u8-totitle'.
39589         * lib/unicase/u8-totitle.c: New file.
39590         * lib/unicase/u-totitle.h: New file.
39591         * modules/unicase/u8-totitle: New file.
39592
39593         Tests for module 'unicase/u32-tolower'.
39594         * modules/unicase/u32-tolower-tests: New file.
39595         * tests/unicase/test-u32-tolower.c: New file.
39596
39597         Tests for module 'unicase/u16-tolower'.
39598         * modules/unicase/u16-tolower-tests: New file.
39599         * tests/unicase/test-u16-tolower.c: New file.
39600
39601         Tests for module 'unicase/u8-tolower'.
39602         * modules/unicase/u8-tolower-tests: New file.
39603         * tests/unicase/test-u8-tolower.c: New file.
39604
39605         New module 'unicase/u32-tolower'.
39606         * lib/unicase/u32-tolower.c: New file.
39607         * modules/unicase/u32-tolower: New file.
39608
39609         New module 'unicase/u16-tolower'.
39610         * lib/unicase/u16-tolower.c: New file.
39611         * modules/unicase/u16-tolower: New file.
39612
39613         New module 'unicase/u8-tolower'.
39614         * lib/unicase/u8-tolower.c: New file.
39615         * modules/unicase/u8-tolower: New file.
39616
39617         Tests for module 'unicase/u32-toupper'.
39618         * modules/unicase/u32-toupper-tests: New file.
39619         * tests/unicase/test-u32-toupper.c: New file.
39620
39621         Tests for module 'unicase/u16-toupper'.
39622         * modules/unicase/u16-toupper-tests: New file.
39623         * tests/unicase/test-u16-toupper.c: New file.
39624
39625         Tests for module 'unicase/u8-toupper'.
39626         * modules/unicase/u8-toupper-tests: New file.
39627         * tests/unicase/test-u8-toupper.c: New file.
39628
39629         New module 'unicase/u32-toupper'.
39630         * lib/unicase/u32-toupper.c: New file.
39631         * modules/unicase/u32-toupper: New file.
39632
39633         New module 'unicase/u16-toupper'.
39634         * lib/unicase/u16-toupper.c: New file.
39635         * modules/unicase/u16-toupper: New file.
39636
39637         New module 'unicase/u8-toupper'.
39638         * lib/unicase/u8-toupper.c: New file.
39639         * modules/unicase/u8-toupper: New file.
39640
39641         New module 'unicase/u32-casemap'.
39642         * lib/unicase/u32-casemap.c: New file.
39643         * modules/unicase/u32-casemap: New file.
39644
39645         New module 'unicase/u16-casemap'.
39646         * lib/unicase/u16-casemap.c: New file.
39647         * modules/unicase/u16-casemap: New file.
39648
39649         New module 'unicase/u8-casemap'.
39650         * lib/unicase/unicasemap.h: New file.
39651         * lib/unicase/u8-casemap.c: New file.
39652         * lib/unicase/u-casemap.h: New file.
39653         * modules/unicase/u8-casemap: New file.
39654
39655         New module 'unicase/special-casing'.
39656         * lib/unicase/special-casing.h: New file.
39657         * lib/unicase/special-casing.c: New file.
39658         * lib/unicase/special-casing-table.gperf: New file, generated by
39659         gen-uni-tables.c.
39660         * modules/unicase/special-casing: New file.
39661
39662         Tests for module 'unicase/locale-language'.
39663         * modules/unicase/locale-language-tests: New file.
39664         * tests/unicase/test-locale-language.sh: New file.
39665         * tests/unicase/test-locale-language.c: New file.
39666
39667         New module 'unicase/locale-language'.
39668         * lib/unicase/locale-language.c: New file.
39669         * lib/unicase/locale-languages.gperf: New file.
39670         * modules/unicase/locale-language: New file.
39671
39672         Generate more tables for case conversion and case folding.
39673         * lib/gen-uni-tables.c (SCC_*): New enum items.
39674         (struct special_casing_rule): New type.
39675         (casing_rules, num_casing_rules, allocated_casing_rules): New
39676         variables.
39677         (add_casing_rule, fill_casing_rules): New functions.
39678         (struct casefold_rule): New type.
39679         (casefolding_rules, num_casefolding_rules,
39680         allocated_casefolding_rules): New variables.
39681         (fill_casefolding_rules): New function.
39682         (unicode_casefold): New variable.
39683         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
39684         sort_casing_rules, output_casing_rules): New functions.
39685         (main): Accept to more arguments: SpecialCasing.txt and
39686         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
39687         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
39688         Output mapping for casefolding.
39689
39690         * lib/unicase.h: Include stdbool.h, uninorm.h.
39691         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
39692         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
39693         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
39694         arguments.
39695         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
39696         resultp arguments.
39697         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
39698         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
39699         resultp arguments.
39700         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
39701         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
39702         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
39703         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
39704         declarations.
39705         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
39706
39707 2009-03-08  Bruno Haible  <bruno@clisp.org>
39708
39709         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39710         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
39711         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
39712         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39713
39714 2009-03-07  Bruno Haible  <bruno@clisp.org>
39715
39716         Adjust u*_normcmp, u*_normcoll API.
39717         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
39718         u16_normcoll, u32_normcoll): Change failure conventions.
39719         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
39720         errno and return -1.
39721         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
39722
39723 2009-03-07  Bruno Haible  <bruno@clisp.org>
39724
39725         Tests for module 'uninorm/u32-normcoll'.
39726         * modules/uninorm/u32-normcoll-tests: New file.
39727         * tests/uninorm/test-u32-normcoll.c: New file.
39728
39729         Tests for module 'uninorm/u16-normcoll'.
39730         * modules/uninorm/u16-normcoll-tests: New file.
39731         * tests/uninorm/test-u16-normcoll.c: New file.
39732
39733         Tests for module 'uninorm/u8-normcoll'.
39734         * modules/uninorm/u8-normcoll-tests: New file.
39735         * tests/uninorm/test-u8-normcoll.c: New file.
39736
39737 2009-03-07  Bruno Haible  <bruno@clisp.org>
39738
39739         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
39740         tests/uninorm/test-u32-normcmp.c.
39741         * tests/uninorm/test-u32-normcmp.c: Include it.
39742         (test_nonascii): New function, extracted from main. Add some more
39743         tests.
39744         (main): Invoke test_ascii and test_nonascii.
39745         * modules/uninorm/u32-normcmp-tests (Files): Add
39746         tests/uninorm/test-u32-normcmp.h.
39747         (Depends-on): Remove uninorm/u32-normcmp.
39748
39749         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
39750         tests/uninorm/test-u16-normcmp.c.
39751         * tests/uninorm/test-u16-normcmp.c: Include it.
39752         (test_nonascii): New function, extracted from main. Add some more
39753         tests.
39754         (main): Invoke test_ascii and test_nonascii.
39755         * modules/uninorm/u16-normcmp-tests (Files): Add
39756         tests/uninorm/test-u16-normcmp.h.
39757         (Depends-on): Remove uninorm/u16-normcmp.
39758
39759         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
39760         tests/uninorm/test-u8-normcmp.c.
39761         * tests/uninorm/test-u8-normcmp.c: Include it.
39762         (test_nonascii): New function, extracted from main. Add some more
39763         tests.
39764         (main): Invoke test_ascii and test_nonascii.
39765         * modules/uninorm/u8-normcmp-tests (Files): Add
39766         tests/uninorm/test-u8-normcmp.h.
39767         (Depends-on): Remove uninorm/u8-normcmp.
39768
39769 2009-03-07  Bruno Haible  <bruno@clisp.org>
39770
39771         New module 'uninorm/u32-normcoll'.
39772         * lib/uninorm/u32-normcoll.c: New file.
39773         * modules/uninorm/u32-normcoll: New file.
39774
39775         New module 'uninorm/u16-normcoll'.
39776         * lib/uninorm/u16-normcoll.c: New file.
39777         * modules/uninorm/u16-normcoll: New file.
39778
39779         New module 'uninorm/u8-normcoll'.
39780         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
39781         declarations.
39782         * lib/uninorm/u8-normcoll.c: New file.
39783         * lib/uninorm/u-normcoll.h: New file.
39784         * modules/uninorm/u8-normcoll: New file.
39785
39786         New module 'uninorm/u32-normxfrm'.
39787         * lib/uninorm/u32-normxfrm.c: New file.
39788         * modules/uninorm/u32-normxfrm: New file.
39789
39790         New module 'uninorm/u16-normxfrm'.
39791         * lib/uninorm/u16-normxfrm.c: New file.
39792         * modules/uninorm/u16-normxfrm: New file.
39793
39794         New module 'uninorm/u8-normxfrm'.
39795         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
39796         declarations.
39797         * lib/uninorm/u8-normxfrm.c: New file.
39798         * lib/uninorm/u-normxfrm.h: New file.
39799         * modules/uninorm/u8-normxfrm: New file.
39800
39801 2009-03-07  Bruno Haible  <bruno@clisp.org>
39802
39803         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
39804         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
39805         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
39806
39807 2009-03-07  Bruno Haible  <bruno@clisp.org>
39808
39809         New module 'memxfrm'.
39810         * lib/memxfrm.h: New file.
39811         * lib/memxfrm.c: New file.
39812         * modules/memxfrm: New file.
39813
39814 2009-03-07  Bruno Haible  <bruno@clisp.org>
39815
39816         New module 'memcmp2'.
39817         * lib/memcmp2.h: New file.
39818         * lib/memcmp2.c: New file.
39819         * modules/memcmp2: New file.
39820
39821 2009-03-07  Bruno Haible  <bruno@clisp.org>
39822
39823         Tests for module 'uninorm/decomposing-form'.
39824         * modules/uninorm/decomposing-form-tests: New file.
39825         * tests/uninorm/test-decomposing-form.c: New file.
39826
39827         New module 'uninorm/decomposing-form'.
39828         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
39829         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
39830         Add 'decomposing_variant' field.
39831         * lib/uninorm/decomposing-form.c: New file.
39832         * lib/uninorm/nfc.c (uninorm_nfc): Update.
39833         * lib/uninorm/nfd.c (uninorm_nfd): Update.
39834         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
39835         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
39836         * modules/uninorm/decomposing-form: New file.
39837         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
39838         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
39839
39840 2009-03-07  Bruno Haible  <bruno@clisp.org>
39841
39842         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
39843         strings.
39844
39845 2009-03-06  Bruno Haible  <bruno@clisp.org>
39846
39847         Tests for module 'uninorm/u32-normcmp'.
39848         * tests/uninorm/test-u32-normcmp.c: New file.
39849         * modules/uninorm/u32-normcmp-tests: New file.
39850
39851         Tests for module 'uninorm/u16-normcmp'.
39852         * tests/uninorm/test-u16-normcmp.c: New file.
39853         * modules/uninorm/u16-normcmp-tests: New file.
39854
39855         Tests for module 'uninorm/u8-normcmp'.
39856         * tests/uninorm/test-u8-normcmp.c: New file.
39857         * modules/uninorm/u8-normcmp-tests: New file.
39858
39859         New module 'uninorm/u32-normcmp'.
39860         * lib/uninorm/u32-normcmp.c: New file.
39861         * modules/uninorm/u32-normcmp: New file.
39862
39863         New module 'uninorm/u16-normcmp'.
39864         * lib/uninorm/u16-normcmp.c: New file.
39865         * modules/uninorm/u16-normcmp: New file.
39866
39867         New module 'uninorm/u8-normcmp'.
39868         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
39869         declarations.
39870         * lib/uninorm/u8-normcmp.c: New file.
39871         * lib/uninorm/u-normcmp.h: New file.
39872         * modules/uninorm/u8-normcmp: New file.
39873
39874 2009-03-06  Bruno Haible  <bruno@clisp.org>
39875
39876         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
39877         Reported by Eric Blake.
39878
39879 2009-03-06  Eric Blake  <ebb9@byu.net>
39880             Bruno Haible  <bruno@clisp.org>
39881
39882         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
39883         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
39884         condition.
39885         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39886         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
39887         condition.
39888         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
39889
39890 2009-03-06  Eric Blake  <ebb9@byu.net>
39891
39892         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
39893         to avoid compiler warnings.
39894         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
39895
39896 2009-03-05  Bruno Haible  <bruno@clisp.org>
39897
39898         * tests/test-ftell.c (main): Disable test beyond end of file on
39899         FreeMiNT.
39900         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
39901
39902 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
39903
39904         * lib/filevercmp.c: Move hidden files up in ordering.
39905         * tests/test-filevercmp.c: Add tests for hidden files.
39906
39907 2009-03-04  Bruno Haible  <bruno@clisp.org>
39908
39909         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
39910         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
39911         AM_CFLAGS.
39912         Reported by Simon Josefsson.
39913
39914 2009-03-03  Bruno Haible  <bruno@clisp.org>
39915
39916         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
39917         Reported by Simon Josefsson.
39918
39919         * doc/ld-version-script.texi: Update node reference.
39920
39921 2009-03-03  Bruno Haible  <bruno@clisp.org>
39922
39923         * modules/visibility (License): Change to 'unlimited'.
39924         Suggested by Simon Josefsson.
39925
39926 2009-03-03  Jim Meyering  <meyering@redhat.com>
39927
39928         unlinkdir: cannot_unlink_dir may modify process state
39929         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
39930         it's neither thread-safe nor appropriate for use in a library.
39931
39932 2009-03-03  Eric Blake  <ebb9@byu.net>
39933
39934         test-closein: silence test under Darwin
39935         * tests/test-closein.sh: Ignore stderr from cat, since we don't
39936         care if it dies from EPIPE or EBADF.
39937
39938 2009-03-03  Bruno Haible  <bruno@clisp.org>
39939
39940         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
39941         earlier.
39942         * doc/visibility.texi: Fix @node and @section.
39943
39944 2009-03-03  Simon Josefsson  <simon@josefsson.org>
39945
39946         * doc/gnulib.texi: Link to sections for ld version script and
39947         visibility.
39948         * doc/visibility.texi: Add @node and @section.
39949         * modules/ld-version-script: New module.
39950         * m4/ld-version-script.m4: New file.
39951         * doc/ld-version-script.texi: New file.
39952
39953 2009-03-02  David Lutterkort  <lutter@redhat.com>
39954
39955         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
39956         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39957
39958 2009-03-02  Bruno Haible  <bruno@clisp.org>
39959
39960         * doc/visibility.texi: Mention libtool's -export-symbols option.
39961
39962 2009-03-02  Jim Meyering  <meyering@redhat.com>
39963
39964         announce-gen: new option: --no-print-checksums
39965         * build-aux/announce-gen (usage): Describe it.
39966         (print_checksums): Print a newline here, not in the [*] footnote.
39967         (main): Honor it.
39968
39969 2009-03-01  Bruno Haible  <bruno@clisp.org>
39970
39971         Use socklen_t in the native Windows replacements prototypes.
39972         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
39973         instead of 'int'.
39974         * lib/getsockopt.c (rpl_getsockopt): Likewise.
39975         * lib/setsockopt.c (rpl_setsockopt): Likewise.
39976         * modules/getsockopt (Depends-on): Add socklen.
39977         * modules/setsockopt (Depends-on): Add socklen.
39978
39979 2009-03-01  Bruno Haible  <bruno@clisp.org>
39980
39981         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
39982         least 4.2.
39983
39984 2009-03-01  Eric Blake  <ebb9@byu.net>
39985             Bruno Haible  <bruno@clisp.org>
39986
39987         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
39988         error messages.
39989         * lib/wait-process.c (wait_subprocess): Omit error message about
39990         deadly signal sent to the child of termsigp != NULL.
39991
39992 2009-03-01  Eric Blake  <ebb9@byu.net>
39993
39994         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
39995
39996 2009-03-01  Bruno Haible  <bruno@clisp.org>
39997
39998         Avoid a gcc warning.
39999         * tests/test-sched.c (b): Make global.
40000         Reported by Eric Blake.
40001
40002 2009-01-19  Martin Lambers  <marlam@marlam.de>
40003
40004         Provide POSIX semantics for socket timeout options on W32.
40005         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
40006         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
40007         * modules/setsockopt: Depend on sys_time module for struct timeval.
40008         * modules/getsockopt: Depend on sys_time module for struct timeval.
40009
40010 2009-03-01  Simon Josefsson  <simon@josefsson.org>
40011
40012         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
40013         __USE_GNU, for consistency with netdb.in.h.
40014         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40015
40016 2009-03-01  Bruno Haible  <bruno@clisp.org>
40017
40018         More support for FreeMiNT.
40019         * lib/fseeko.c (rpl_fseeko): Complete last commit.
40020         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40021
40022 2009-03-01  Bruno Haible  <bruno@clisp.org>
40023
40024         More support for FreeMiNT.
40025         * lib/fpurge.c (fpurge): Correct last commit.
40026         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40027
40028 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40029
40030         Fix unportable awk script in vc-list-files.
40031         * build-aux/vc-list-files: In the replacement awk script, use
40032         substr with a second argument of 1, not zero.
40033         Report by Simon Josefsson.
40034
40035 2009-02-28  Bruno Haible  <bruno@clisp.org>
40036
40037         More support for FreeMiNT.
40038         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
40039         to FreeMiNT today.
40040         * lib/fwriting.c (fwriting): Likewise.
40041         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
40042
40043 2009-02-28  Bruno Haible  <bruno@clisp.org>
40044
40045         * tests/test-freadseek.c (main): Disable test beyond end of file on
40046         FreeMiNT.
40047         * tests/test-ftello.c (main): Likewise.
40048         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
40049
40050 2009-02-28  Bruno Haible  <bruno@clisp.org>
40051
40052         Add tentative support for FreeMiNT.
40053         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
40054         * lib/fpurge.c (fpurge): Likewise.
40055         * lib/freadable.c (freadable): Likewise.
40056         * lib/freading.c (freading): Likewise.
40057         * lib/freadptr.c (freadptr): Likewise.
40058         * lib/freadseek.c (freadptrinc): Likewise.
40059         * lib/fseeko.c (rpl_fseeko): Likewise.
40060         * lib/fseterr.c (fseterr): Likewise.
40061         * lib/fwritable.c (fwritable): Likewise.
40062         * lib/fwriting.c (fwriting): Likewise.
40063         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
40064         Hourihane.
40065         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40066
40067 2009-02-28  Bruno Haible  <bruno@clisp.org>
40068
40069         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
40070         SIGCHLD.
40071         Reported by Jim Meyering.
40072
40073 2009-02-28  Bruno Haible  <bruno@clisp.org>
40074
40075         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
40076         Mention the results of these tests on various platforms.
40077         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
40078         order.
40079         * doc/posix-functions/printf.texi: Likewise.
40080         * doc/posix-functions/snprintf.texi: Likewise.
40081         * doc/posix-functions/sprintf.texi: Likewise.
40082         * doc/posix-functions/vfprintf.texi: Likewise.
40083         * doc/posix-functions/vprintf.texi: Likewise.
40084         * doc/posix-functions/vsnprintf.texi: Likewise.
40085         * doc/posix-functions/vsprintf.texi: Likewise.
40086         * doc/glibc-functions/obstack_printf.texi: Likewise.
40087         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
40088
40089 2009-02-28  Bruno Haible  <bruno@clisp.org>
40090
40091         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
40092         Reported by Loïc Minier <lool@dooz.org>.
40093
40094 2009-02-27  Bruno Haible  <bruno@clisp.org>
40095
40096         * gnulib-tool (func_import): Make the sed expression used to create the
40097         sed script for updating the .gitignore file POSIX compliant.
40098         Reported by Eric Blake.
40099
40100 2009-02-27  Bruno Haible  <bruno@clisp.org>
40101
40102         * gnulib-tool (sed): Don't alias as "sed --posix".
40103         Reported by Eric Blake.
40104
40105 2009-02-27  Bruno Haible  <bruno@clisp.org>
40106
40107         Avoid test link errors.
40108         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
40109         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
40110         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
40111         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
40112         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40113
40114 2009-02-27  Bruno Haible  <bruno@clisp.org>
40115
40116         Avoid spurious "(cached)" in configure output.
40117         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
40118         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
40119         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40120         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40121         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40122         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
40123         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40124         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
40125         Reported by Eric Blake.
40126
40127 2009-02-27  Eric Blake  <ebb9@byu.net>
40128
40129         printf: fix regression in previous patch
40130         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
40131
40132 2009-02-27  Bruno Haible  <bruno@clisp.org>
40133
40134         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
40135         value.
40136         * lib/stdint.in.h: Likewise.
40137         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
40138
40139 2009-02-27  Eric Blake  <ebb9@byu.net>
40140
40141         doc: mention more functions added in cygwin 1.7.0
40142         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
40143         addition.
40144         * doc/posix-functions/open_wmemstream.texi: Likewise.
40145         * doc/posix-functions/wcsnlen.texi: Likewise.
40146         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40147         * doc/posix-functions/wcstod.texi: Likewise.
40148         * doc/posix-functions/wcstof.texi: Likewise.
40149         * doc/posix-functions/wcstoimax.texi: Likewise.
40150         * doc/posix-functions/wcstok.texi: Likewise.
40151         * doc/posix-functions/wcstoumax.texi: Likewise.
40152
40153         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
40154         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
40155         * doc/posix-functions/fprintf.texi: Update.
40156         * doc/posix-functions/printf.texi: Update.
40157         * doc/posix-functions/snprintf.texi: Update.
40158         * doc/posix-functions/sprintf.texi: Update.
40159         * doc/posix-functions/vfprintf.texi: Update.
40160         * doc/posix-functions/vprintf.texi: Update.
40161         * doc/posix-functions/vsnprintf.texi: Update.
40162         * doc/posix-functions/vsprintf.texi: Update.
40163         * doc/glibc-functions/obstack_printf.texi: Update.
40164         * doc/glibc-functions/obstack_vprintf.texi: Update.
40165
40166 2009-02-26  Eric Blake  <ebb9@byu.net>
40167
40168         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
40169         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
40170         compilation bug by using runtime conversion.
40171         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
40172         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
40173         * modules/ceill-tests (Files): Use nan.h.
40174         * modules/floorl-tests (Files): Likewise.
40175         * modules/frexpl-tests (Files): Likewise.
40176         * modules/isnanl-tests (Files): Likewise.
40177         * modules/ldexpl-tests (Files): Likewise.
40178         * modules/roundl-tests (Files): Likewise.
40179         * modules/truncl-tests (Files): Likewise.
40180         * tests/test-ceill.c (main): Use a working NaN.
40181         * tests/test-floorl.c (main): Likewise.
40182         * tests/test-frexpl.c (main): Likewise.
40183         * tests/test-isnan.c (test_long_double): Likewise.
40184         * tests/test-isnanl.h (main): Likewise.
40185         * tests/test-ldexpl.h (main): Likewise.
40186         * tests/test-roundl.h (main): Likewise.
40187         * tests/test-truncl.h (main): Likewise.
40188         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
40189
40190 2009-02-26  Eric Blake  <ebb9@byu.net>
40191             Bruno Haible  <bruno@clisp.org>
40192
40193         Work around a *printf bug with %ls on Solaris.
40194         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
40195         precision is specified, sprintf stops converting the wide string
40196         argument when the number of bytes that have been produced by this
40197         conversion equals or exceeds the precision.
40198         * doc/posix-functions/fprintf.texi: Update.
40199         * doc/posix-functions/printf.texi: Update.
40200         * doc/posix-functions/snprintf.texi: Update.
40201         * doc/posix-functions/sprintf.texi: Update.
40202         * doc/posix-functions/vfprintf.texi: Update.
40203         * doc/posix-functions/vprintf.texi: Update.
40204         * doc/posix-functions/vsnprintf.texi: Update.
40205         * doc/posix-functions/vsprintf.texi: Update.
40206         * doc/glibc-functions/obstack_printf.texi: Update.
40207         * doc/glibc-functions/obstack_vprintf.texi: Update.
40208
40209 2009-02-26  Eric Blake  <ebb9@byu.net>
40210
40211         stdlib: favor compiler check of random.h
40212         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
40213         to avoid an ObjC random.h installed by Swarm.
40214
40215 2009-02-26  Bruno Haible  <bruno@clisp.org>
40216
40217         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
40218         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
40219         Reported by Gary V. Vaughan <gary@gnu.org>.
40220
40221 2009-02-26  Bruno Haible  <bruno@clisp.org>
40222
40223         Fix *printf behaviour regarding the %ls directive.
40224         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
40225         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
40226         NEED_PRINTF_DIRECTIVE_LS.
40227         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
40228         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40229         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40230         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
40231         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
40232         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
40233         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
40234         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40235         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40236         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40237         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40238         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
40239         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40240         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40241         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40242         * doc/posix-functions/fprintf.texi: Update.
40243         * doc/posix-functions/printf.texi: Update.
40244         * doc/posix-functions/snprintf.texi: Update.
40245         * doc/posix-functions/sprintf.texi: Update.
40246         * doc/posix-functions/vfprintf.texi: Update.
40247         * doc/posix-functions/vprintf.texi: Update.
40248         * doc/posix-functions/vsnprintf.texi: Update.
40249         * doc/posix-functions/vsprintf.texi: Update.
40250         * doc/glibc-functions/obstack_printf.texi: Update.
40251         * doc/glibc-functions/obstack_vprintf.texi: Update.
40252         Reported by Eric Blake.
40253
40254 2009-02-25  Bruno Haible  <bruno@clisp.org>
40255
40256         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
40257         with known value.
40258         Reported by Gary V. Vaughan <gary@gnu.org>.
40259
40260 2009-02-25  Bruno Haible  <bruno@clisp.org>
40261
40262         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
40263         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
40264         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
40265         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
40266         Reported by Gary V. Vaughan <gary@gnu.org>.
40267
40268 2009-02-25  Bruno Haible  <bruno@clisp.org>
40269
40270         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
40271         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
40272         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
40273         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
40274         Reported by Gary V. Vaughan <gary@gnu.org>.
40275
40276 2009-02-25  Eric Blake  <ebb9@byu.net>
40277
40278         tests: skip fseek/ftell tests if ungetc is broken
40279         * m4/ungetc.m4: New file.
40280         * modules/fseek-tests: Split test, so ungetc dependency is
40281         separate from rest of test.
40282         * modules/fseeko-tests: Likewise.
40283         * modules/ftell-tests: Likewise.
40284         * modules/ftello-tests: Likewise.
40285         * tests/test-fseek.c (main): Isolate ungetc dependency.
40286         * tests/test-fseeko.c (main): Likewise.
40287         * tests/test-ftell.c (main): Likewise.
40288         * tests/test-ftello.c (main): Likewise.
40289         * tests/test-fseek2.sh: New file.
40290         * tests/test-fseeko2.sh: Likewise.
40291         * tests/test-ftell2.sh: Likewise.
40292         * tests/test-ftello2.sh: Likewise.
40293
40294 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
40295
40296         test-getaddrinfo: fix usage of skip return code 77
40297         * tests/test-gettaddrinfo.c: Return skip code 77 only
40298         for first occurance of skip (4x77 is not 77)
40299
40300 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
40301
40302         strtod: avoid C99 decl-after-statement
40303         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
40304
40305 2009-02-24  Eric Blake  <ebb9@byu.net>
40306
40307         strtod: detect HP-UX 11.31 bug
40308         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
40309         Reported by Gary V. Vaughan.
40310
40311 2009-02-23  Bruno Haible  <bruno@clisp.org>
40312
40313         Fix invalid read past end of memory block.
40314         * lib/vasnprintf.c (DCHAR_SET): Define.
40315         (local_wcslen): Define only when needed.
40316         (local_strnlen, local_wcsnlen): New functions.
40317         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
40318         directives that involve a conversion ourselves.
40319         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
40320         wcsnlen, mbrtowc, wcrtomb.
40321         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
40322         * tests/test-vasprintf-posix.c (test_function): Likewise.
40323         * tests/test-snprintf-posix.h (test_function): Likewise.
40324         * tests/test-sprintf-posix.h (test_function): Likewise.
40325         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40326
40327 2009-02-22  Bruno Haible  <bruno@clisp.org>
40328
40329         Implement new clarified decomposition of Hangul syllables.
40330         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
40331         of type LTV, return only a pairwise decomposition.
40332         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
40333         Likewise.
40334         * tests/uninorm/test-decomposition.c (main): Updated expected result.
40335         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
40336         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
40337
40338 2009-02-22  Bruno Haible  <bruno@clisp.org>
40339
40340         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
40341         zero-length results and shrink excess allocated memory.
40342         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
40343         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
40344         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
40345         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
40346         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
40347         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
40348         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
40349         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
40350         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
40351         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
40352         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
40353         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
40354
40355 2009-02-21  Bruno Haible  <bruno@clisp.org>
40356
40357         * doc/gnulib.texi: Include safe-alloc.texi earlier.
40358         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
40359         spaces after a period. Put a space between a macro name and its
40360         argument list. Trivial rewordings.
40361         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
40362         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
40363         (main): Return 0 explicitly.
40364
40365 2009-02-21  Bruno Haible  <bruno@clisp.org>
40366
40367         Tests for module 'uninorm/filter'.
40368         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
40369         * modules/uninorm/filter-tests: New file.
40370
40371         New module 'uninorm/filter'.
40372         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
40373         uninorm_filter_flush, uninorm_filter_free): New declarations.
40374         * lib/uninorm/uninorm-filter.c: New file.
40375         * modules/uninorm/filter: New file.
40376
40377 2009-02-21  Bruno Haible  <bruno@clisp.org>
40378
40379         Tests for module 'uninorm/nfkc'.
40380         * tests/uninorm/test-nfkc.c: New file.
40381         * tests/uninorm/test-u8-nfkc.c: New file.
40382         * tests/uninorm/test-u16-nfkc.c: New file.
40383         * tests/uninorm/test-u32-nfkc.c: New file.
40384         * tests/uninorm/test-u32-nfkc-big.sh: New file.
40385         * tests/uninorm/test-u32-nfkc-big.c: New file.
40386         * modules/uninorm/nfkc-tests: New file.
40387
40388         New module 'uninorm/nfkc'.
40389         * lib/uninorm/nfkc.c: New file.
40390         * modules/uninorm/nfkc: New file.
40391
40392         Tests for module 'uninorm/nfkd'.
40393         * tests/uninorm/test-nfkd.c: New file.
40394         * tests/uninorm/test-u8-nfkd.c: New file.
40395         * tests/uninorm/test-u16-nfkd.c: New file.
40396         * tests/uninorm/test-u32-nfkd.c: New file.
40397         * tests/uninorm/test-u32-nfkd-big.sh: New file.
40398         * tests/uninorm/test-u32-nfkd-big.c: New file.
40399         * modules/uninorm/nfkd-tests: New file.
40400
40401         New module 'uninorm/nfkd'.
40402         * lib/uninorm/nfkd.c: New file.
40403         * modules/uninorm/nfkd: New file.
40404
40405         Tests for module 'uninorm/nfc'.
40406         * tests/uninorm/test-nfc.c: New file.
40407         * tests/uninorm/test-u8-nfc.c: New file.
40408         * tests/uninorm/test-u16-nfc.c: New file.
40409         * tests/uninorm/test-u32-nfc.c: New file.
40410         * tests/uninorm/test-u32-nfc-big.sh: New file.
40411         * tests/uninorm/test-u32-nfc-big.c: New file.
40412         * modules/uninorm/nfc-tests: New file.
40413
40414         New module 'uninorm/nfc'.
40415         * lib/uninorm/nfc.c: New file.
40416         * modules/uninorm/nfc: New file.
40417
40418         Tests for module 'uninorm/nfd'.
40419         * tests/uninorm/test-nfd.c: New file.
40420         * tests/uninorm/test-u8-nfd.c: New file.
40421         * tests/uninorm/test-u16-nfd.c: New file.
40422         * tests/uninorm/test-u32-nfd.c: New file.
40423         * tests/uninorm/test-u32-nfd-big.sh: New file.
40424         * tests/uninorm/test-u32-nfd-big.c: New file.
40425         * tests/uninorm/test-u32-normalize-big.h: New file.
40426         * tests/uninorm/test-u32-normalize-big.c: New file.
40427         * tests/uninorm/NormalizationTest.txt: New file, created from
40428         Unicode 5.1.0 NormalizationTest.txt.
40429         * modules/uninorm/nfd-tests: New file.
40430
40431         New module 'uninorm/nfd'.
40432         * lib/uninorm/nfd.c: New file.
40433         * modules/uninorm/nfd: New file.
40434
40435         New module 'uninorm/u32-normalize'.
40436         * lib/uninorm/u32-normalize.c: New file.
40437         * modules/uninorm/u32-normalize: New file.
40438
40439         New module 'uninorm/u16-normalize'.
40440         * lib/uninorm/u16-normalize.c: New file.
40441         * modules/uninorm/u16-normalize: New file.
40442
40443         New module 'uninorm/u8-normalize'.
40444         * lib/uninorm/u8-normalize.c: New file.
40445         * lib/uninorm/normalize-internal.h: New file.
40446         * lib/uninorm/u-normalize-internal.h: New file.
40447         * modules/uninorm/u8-normalize: New file.
40448
40449         New module 'uninorm/decompose-internal'.
40450         * lib/uninorm/decompose-internal.c: New file.
40451         * modules/uninorm/decompose-internal: New file.
40452
40453         Tests for module 'uninorm/composition'.
40454         * tests/uninorm/test-composition.c: New file.
40455         * modules/uninorm/composition-tests: New file.
40456
40457         New module 'uninorm/composition'.
40458         * lib/uninorm/composition.c: New file.
40459         * lib/uninorm/composition-table.gperf: New file, generated by
40460         gen-uni-tables.
40461         * modules/uninorm/composition: New file.
40462
40463         Tests for module 'uninorm/compat-decomposition'.
40464         * tests/uninorm/test-compat-decomposition.c: New file.
40465         * modules/uninorm/compat-decomposition-tests: New file.
40466
40467         New module 'uninorm/compat-decomposition'.
40468         * lib/uninorm/decompose-internal.h: New file.
40469         * lib/uninorm/compat-decomposition.c: New file.
40470         * modules/uninorm/compat-decomposition: New file.
40471
40472         Tests for module 'uninorm/canonical-decomposition'.
40473         * tests/uninorm/test-canonical-decomposition.c: New file.
40474         * modules/uninorm/canonical-decomposition-tests: New file.
40475
40476         New module 'uninorm/canonical-decomposition'.
40477         * lib/uninorm/canonical-decomposition.c: New file.
40478         * modules/uninorm/canonical-decomposition: New file.
40479
40480         Tests for module 'uninorm/decomposition'.
40481         * tests/uninorm/test-decomposition.c: New file.
40482         * modules/uninorm/decomposition-tests: New file.
40483
40484         New module 'uninorm/decomposition'.
40485         * lib/uninorm/decomposition.c: New file.
40486         * modules/uninorm/decomposition: New file.
40487
40488         New module 'uninorm/decomposition-table'.
40489         * lib/uninorm/decomposition-table.h: New file.
40490         * lib/uninorm/decomposition-table.c: New file.
40491         * lib/uninorm/decomposition-table1.h: New file, generated by
40492         gen-uni-tables.
40493         * lib/uninorm/decomposition-table2.h: New file, generated by
40494         gen-uni-tables.
40495         * modules/uninorm/decomposition-table: New file.
40496
40497         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
40498         (UC_DECOMP_*): New enumeration items.
40499         (get_decomposition): New function.
40500         (struct decomp_table): New type.
40501         (output_decomposition, output_decomposition_tables): New functions.
40502         (unicode_composition_exclusions): New variable.
40503         (fill_composition_exclusions, debug_output_composition_tables): New
40504         functions.
40505         (main): Accept one more argument. Invoke fill_composition_exclusions.
40506         Output decomposition and composition tables.
40507
40508         New module 'uninorm/base'.
40509         * lib/uninorm.h: New file.
40510         * lib/unictype.h: Update comment.
40511         * modules/uninorm/base: New file.
40512
40513 2009-02-21  David Lutterkort  <lutter@redhat.com>
40514
40515         Tests for module 'safe-alloc'.
40516         * tests/test-safe-alloc.c: New file.
40517         * modules/safe-alloc-tests: New file.
40518
40519         New module 'safe-alloc'.
40520         * lib/safe-alloc.h: New file.
40521         * lib/safe-alloc.c: New file.
40522         * m4/safe-alloc.m4: New file.
40523         * modules/safe-alloc: New file.
40524         * doc/safe-alloc.texi: New file.
40525         * doc/gnulib.texi: Include it.
40526         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
40527         safe-alloc.
40528
40529 2009-02-18  Bruno Haible  <bruno@clisp.org>
40530
40531         Fix link error on non-glibc systems.
40532         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
40533         variable.
40534         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40535
40536 2009-02-18  Jim Meyering  <meyering@redhat.com>
40537
40538         fts: avoid used-uninitialized error due to recent change
40539         * lib/fts.c (fts_read): Guard uses of the new member,
40540         parent->fts_n_dirs_remaining, since it's not relevant for
40541         the parent of a directory specified on the command-line.
40542
40543 2009-02-17  James Youngman  <jay@gnu.org>
40544             Bruno Haible  <bruno@clisp.org>
40545
40546         * m4/include_next.m4: Reformulate comment.
40547
40548 2009-02-16  Jim Meyering  <meyering@redhat.com>
40549
40550         fts: add #if guards so that the fts_lgpl module still builds
40551         * lib/fts.c: Guard just-added hash-table-using parts with
40552         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
40553         Reported by Simon Josefsson.
40554
40555 2009-02-15  Bruno Haible  <bruno@clisp.org>
40556
40557         * modules/array-mergesort-tests: New file.
40558         * tests/test-array-mergesort.c: New file.
40559
40560         New module 'array-mergesort'.
40561         * modules/array-mergesort: New file.
40562         * lib/array-mergesort.h: New file.
40563
40564 2009-02-15  Bruno Haible  <bruno@clisp.org>
40565
40566         Fix 2009-02-07 commit.
40567         * lib/gen-uni-tables.c (output_predicate, output_category,
40568         output_combclass, output_bidi_category, output_decimal_digit,
40569         output_digit, output_numeric, output_mirror, output_scripts,
40570         output_ident_category, output_simple_mapping): Fix format directives.
40571         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
40572
40573 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
40574
40575         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
40576         fixes are available from IBM.
40577
40578 2009-02-13  Jim Meyering  <meyering@redhat.com>
40579
40580         fts: arrange not to stat non-directories in more cases
40581         This makes GNU find (when it doesn't need to stat each file)
40582         *much* more efficient at traversing reiserfs file systems.
40583         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
40584         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
40585         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
40586         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
40587         (leaf_optimization_applies): New function.
40588         (LCO_hash, LCO_compare): New helper functions.
40589         (link_count_optimize_ok): New function.
40590         (fts_stat): Initialize new member (if dir).
40591         (fts_read): Decrement parent's fts_n_dirs_remaining count if
40592         we've just stat'ed a directory.  Skip the stat call when possible.
40593         ---
40594         Note this AFS-related exchange:
40595         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
40596         and note find's pioctl call in find/fstype.c.
40597         But that is necessary only if you want to enable the
40598         optimization for AFS, and for now, I don't.
40599
40600         fts: move a function definition "up" (no semantic change)
40601         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
40602         "up" to precede upcoming use of a related function.
40603
40604 2009-02-11  Jim Meyering  <meyering@redhat.com>
40605
40606         fts: correct internal computation of nlinks (optimization-related)
40607         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
40608         whether the current entry is a directory, so don't test it.
40609
40610 2009-02-10  Bruno Haible  <bruno@clisp.org>
40611
40612         Tests for module 'uniwbrk/ulc-wordbreaks'.
40613         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
40614         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
40615         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
40616
40617         Tests for module 'uniwbrk/u32-wordbreaks'.
40618         * modules/uniwbrk/u32-wordbreaks-tests: New file.
40619         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
40620
40621         Tests for module 'uniwbrk/u16-wordbreaks'.
40622         * modules/uniwbrk/u16-wordbreaks-tests: New file.
40623         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
40624
40625         Tests for module 'uniwbrk/u8-wordbreaks'.
40626         * modules/uniwbrk/u8-wordbreaks-tests: New file.
40627         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
40628
40629 2009-02-10  Bruno Haible  <bruno@clisp.org>
40630
40631         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
40632         property.
40633         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
40634         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
40635         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
40636
40637 2009-02-10  Simon Josefsson  <simon@josefsson.org>
40638
40639         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
40640         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
40641
40642 2009-02-10  Bruno Haible  <bruno@clisp.org>
40643
40644         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
40645         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
40646         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
40647         * lib/unilbrk/u8-possible-linebreaks.c: Update.
40648         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
40649         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
40650
40651 2009-02-09  Simon Josefsson  <simon@josefsson.org>
40652
40653         * lib/sockets.h (gl_fd_to_handle): New function.
40654
40655         * tests/test-sockets.c: Call gl_fd_to_handle.
40656
40657 2009-02-09  Bruno Haible  <bruno@clisp.org>
40658
40659         * doc/havelib.texi: Document the conventions on bi-arch systems.
40660
40661 2009-02-08  Bruno Haible  <bruno@clisp.org>
40662
40663         Document the AC_LIB_LINKFLAGS macro.
40664         * doc/havelib.texi: New file, mostly written on 2005-05-24.
40665         * doc/gnulib.texi: Include it.
40666
40667 2009-02-08  Bruno Haible  <bruno@clisp.org>
40668
40669         Fix wrong order of sections, compared to TOC.
40670         * doc/gnulib.texi: Include relocatable-maint.texi after the
40671         "Regular expressions" node, not before.
40672
40673 2009-02-08  Bruno Haible  <bruno@clisp.org>
40674
40675         Tests for module 'unicase/totitle'.
40676         * modules/unicase/totitle-tests: New file.
40677
40678         Tests for module 'unicase/tolower'.
40679         * modules/unicase/tolower-tests: New file.
40680
40681         Tests for module 'unicase/toupper'.
40682         * modules/unicase/toupper-tests: New file.
40683         * tests/unicase/test-mapping-part1.h: New file.
40684         * tests/unicase/test-mapping-part2.h: New file.
40685
40686         New module 'unicase/totitle'.
40687         * modules/unicase/totitle: New file.
40688         * lib/unicase/totitle.c: New file.
40689
40690         New module 'unicase/tolower'.
40691         * modules/unicase/tolower: New file.
40692         * lib/unicase/tolower.c: New file.
40693
40694         New module 'unicase/toupper'.
40695         * modules/unicase/toupper: New file.
40696         * lib/unicase/toupper.c: New file.
40697         * lib/unicase/simple-mapping.h: New file.
40698
40699         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
40700         (mapping_table): New structure.
40701         (output_simple_mapping): New function.
40702         (main): Invoke output_simple_mapping_test and output_simple_mapping.
40703         * modules/gen-uni-tables (Description): Update.
40704         * lib/unicase/toupper.h: New file, automatically generated by
40705         gen-uni-tables.
40706         * lib/unicase/tolower.h: New file, automatically generated by
40707         gen-uni-tables.
40708         * lib/unicase/totitle.h: New file, automatically generated by
40709         gen-uni-tables.
40710         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
40711         gen-uni-tables.
40712         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
40713         gen-uni-tables.
40714         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
40715         gen-uni-tables.
40716
40717         New module 'unicase/base'.
40718         * modules/unicase/base: New file.
40719         * lib/unicase.h: New file.
40720
40721 2009-02-08  Bruno Haible  <bruno@clisp.org>
40722
40723         New module 'uniwbrk/ulc-wordbreaks'.
40724         * modules/uniwbrk/ulc-wordbreaks: New file.
40725         * lib/uniwbrk/ulc-wordbreaks.c: New file.
40726
40727         New module 'uniwbrk/u32-wordbreaks'.
40728         * modules/uniwbrk/u32-wordbreaks: New file.
40729         * lib/uniwbrk/u32-wordbreaks.c: New file.
40730
40731         New module 'uniwbrk/u16-wordbreaks'.
40732         * modules/uniwbrk/u16-wordbreaks: New file.
40733         * lib/uniwbrk/u16-wordbreaks.c: New file.
40734
40735         New module 'uniwbrk/u8-wordbreaks'.
40736         * modules/uniwbrk/u8-wordbreaks: New file.
40737         * lib/uniwbrk/u8-wordbreaks.c: New file.
40738         * lib/uniwbrk/u-wordbreaks.h: New file.
40739
40740         New module 'uniwbrk/table'.
40741         * modules/uniwbrk/table: New file.
40742         * lib/uniwbrk/wbrktable.h: New file.
40743         * lib/uniwbrk/wbrktable.c: New file.
40744
40745         New module 'uniwbrk/wordbreak-property'.
40746         * modules/uniwbrk/wordbreak-property: New file.
40747         * lib/uniwbrk/wordbreak-property.c: New file.
40748
40749         * lib/gen-uni-tables.c (WBP_*): New enum items.
40750         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
40751         (unicode_org_wbp): New variable.
40752         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
40753         New functions.
40754         (wbp_table): New structure.
40755         (output_wbp, output_wbrk_tables): New functions.
40756         (main): Accept additional argument. Invoke fill_org_wbp,
40757         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
40758         output_wbrk_tables.
40759         * modules/gen-uni-tables (Description): Update.
40760         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
40761         gen-uni-tables.
40762
40763         New module 'uniwbrk/base'.
40764         * modules/uniwbrk/base: New file.
40765         * lib/uniwbrk.h: New file.
40766
40767 2009-02-08  Bruno Haible  <bruno@clisp.org>
40768
40769         Update to Unicode 5.1.0.
40770         * lib/gen-uni-tables.c (is_property_alphabetic): Include
40771         U+2185..U+2188.
40772         (is_property_default_ignorable_code_point): Don't include characters
40773         of category Cc or Cs and not-a-characters.
40774         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
40775         U+0D79, U+109E, U+109F, U+A60C.
40776         * lib/unictype/bidi_of.h: Regenerated.
40777         * lib/unictype/blocks.h: Regenerated.
40778         * lib/unictype/categ_C.h: Regenerated.
40779         * lib/unictype/categ_Cf.h: Regenerated.
40780         * lib/unictype/categ_Cn.h: Regenerated.
40781         * lib/unictype/categ_L.h: Regenerated.
40782         * lib/unictype/categ_Ll.h: Regenerated.
40783         * lib/unictype/categ_Lm.h: Regenerated.
40784         * lib/unictype/categ_Lo.h: Regenerated.
40785         * lib/unictype/categ_Lu.h: Regenerated.
40786         * lib/unictype/categ_M.h: Regenerated.
40787         * lib/unictype/categ_Mc.h: Regenerated.
40788         * lib/unictype/categ_Me.h: Regenerated.
40789         * lib/unictype/categ_Mn.h: Regenerated.
40790         * lib/unictype/categ_N.h: Regenerated.
40791         * lib/unictype/categ_Nd.h: Regenerated.
40792         * lib/unictype/categ_Nl.h: Regenerated.
40793         * lib/unictype/categ_No.h: Regenerated.
40794         * lib/unictype/categ_P.h: Regenerated.
40795         * lib/unictype/categ_Pd.h: Regenerated.
40796         * lib/unictype/categ_Pe.h: Regenerated.
40797         * lib/unictype/categ_Pf.h: Regenerated.
40798         * lib/unictype/categ_Pi.h: Regenerated.
40799         * lib/unictype/categ_Po.h: Regenerated.
40800         * lib/unictype/categ_Ps.h: Regenerated.
40801         * lib/unictype/categ_S.h: Regenerated.
40802         * lib/unictype/categ_Sk.h: Regenerated.
40803         * lib/unictype/categ_Sm.h: Regenerated.
40804         * lib/unictype/categ_So.h: Regenerated.
40805         * lib/unictype/categ_of.h: Regenerated.
40806         * lib/unictype/combining.h: Regenerated.
40807         * lib/unictype/ctype_alnum.h: Regenerated.
40808         * lib/unictype/ctype_alpha.h: Regenerated.
40809         * lib/unictype/ctype_graph.h: Regenerated.
40810         * lib/unictype/ctype_lower.h: Regenerated.
40811         * lib/unictype/ctype_print.h: Regenerated.
40812         * lib/unictype/ctype_punct.h: Regenerated.
40813         * lib/unictype/ctype_upper.h: Regenerated.
40814         * lib/unictype/decdigit.h: Regenerated.
40815         * lib/unictype/digit.h: Regenerated.
40816         * lib/unictype/mirror.h: Regenerated.
40817         * lib/unictype/numeric.h: Regenerated.
40818         * lib/unictype/pr_alphabetic.h: Regenerated.
40819         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
40820         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
40821         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
40822         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
40823         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
40824         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
40825         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
40826         * lib/unictype/pr_combining.h: Regenerated.
40827         * lib/unictype/pr_dash.h: Regenerated.
40828         * lib/unictype/pr_decimal_digit.h: Regenerated.
40829         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
40830         * lib/unictype/pr_deprecated.h: Regenerated.
40831         * lib/unictype/pr_diacritic.h: Regenerated.
40832         * lib/unictype/pr_extender.h: Regenerated.
40833         * lib/unictype/pr_format_control.h: Regenerated.
40834         * lib/unictype/pr_grapheme_base.h: Regenerated.
40835         * lib/unictype/pr_grapheme_extend.h: Regenerated.
40836         * lib/unictype/pr_grapheme_link.h: Regenerated.
40837         * lib/unictype/pr_id_continue.h: Regenerated.
40838         * lib/unictype/pr_id_start.h: Regenerated.
40839         * lib/unictype/pr_ideographic.h: Regenerated.
40840         * lib/unictype/pr_ignorable_control.h: Regenerated.
40841         * lib/unictype/pr_lowercase.h: Regenerated.
40842         * lib/unictype/pr_math.h: Regenerated.
40843         * lib/unictype/pr_numeric.h: Regenerated.
40844         * lib/unictype/pr_other_alphabetic.h: Regenerated.
40845         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
40846         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
40847         * lib/unictype/pr_other_id_continue.h: Regenerated.
40848         * lib/unictype/pr_other_lowercase.h: Regenerated.
40849         * lib/unictype/pr_other_math.h: Regenerated.
40850         * lib/unictype/pr_punctuation.h: Regenerated.
40851         * lib/unictype/pr_sentence_terminal.h: Regenerated.
40852         * lib/unictype/pr_soft_dotted.h: Regenerated.
40853         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
40854         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
40855         * lib/unictype/pr_unified_ideograph.h: Regenerated.
40856         * lib/unictype/pr_uppercase.h: Regenerated.
40857         * lib/unictype/pr_xid_continue.h: Regenerated.
40858         * lib/unictype/pr_xid_start.h: Regenerated.
40859         * lib/unictype/pr_zero_width.h: Regenerated.
40860         * lib/unictype/scripts.h: Regenerated.
40861         * lib/unictype/scripts_byname.gperf: Regenerated.
40862         * lib/unictype/sy_java_ident.h: Regenerated.
40863         * lib/unilbrk/lbrkprop1.h: Regenerated.
40864         * lib/unilbrk/lbrkprop2.h: Regenerated.
40865         * tests/unictype/test-categ_C.c: Regenerated.
40866         * tests/unictype/test-categ_Cf.c: Regenerated.
40867         * tests/unictype/test-categ_Cn.c: Regenerated.
40868         * tests/unictype/test-categ_L.c: Regenerated.
40869         * tests/unictype/test-categ_Ll.c: Regenerated.
40870         * tests/unictype/test-categ_Lm.c: Regenerated.
40871         * tests/unictype/test-categ_Lo.c: Regenerated.
40872         * tests/unictype/test-categ_Lu.c: Regenerated.
40873         * tests/unictype/test-categ_M.c: Regenerated.
40874         * tests/unictype/test-categ_Mc.c: Regenerated.
40875         * tests/unictype/test-categ_Me.c: Regenerated.
40876         * tests/unictype/test-categ_Mn.c: Regenerated.
40877         * tests/unictype/test-categ_N.c: Regenerated.
40878         * tests/unictype/test-categ_Nd.c: Regenerated.
40879         * tests/unictype/test-categ_Nl.c: Regenerated.
40880         * tests/unictype/test-categ_No.c: Regenerated.
40881         * tests/unictype/test-categ_P.c: Regenerated.
40882         * tests/unictype/test-categ_Pd.c: Regenerated.
40883         * tests/unictype/test-categ_Pe.c: Regenerated.
40884         * tests/unictype/test-categ_Pf.c: Regenerated.
40885         * tests/unictype/test-categ_Pi.c: Regenerated.
40886         * tests/unictype/test-categ_Po.c: Regenerated.
40887         * tests/unictype/test-categ_Ps.c: Regenerated.
40888         * tests/unictype/test-categ_S.c: Regenerated.
40889         * tests/unictype/test-categ_Sk.c: Regenerated.
40890         * tests/unictype/test-categ_Sm.c: Regenerated.
40891         * tests/unictype/test-categ_So.c: Regenerated.
40892         * tests/unictype/test-ctype_alnum.c: Regenerated.
40893         * tests/unictype/test-ctype_alpha.c: Regenerated.
40894         * tests/unictype/test-ctype_graph.c: Regenerated.
40895         * tests/unictype/test-ctype_lower.c: Regenerated.
40896         * tests/unictype/test-ctype_print.c: Regenerated.
40897         * tests/unictype/test-ctype_punct.c: Regenerated.
40898         * tests/unictype/test-ctype_upper.c: Regenerated.
40899         * tests/unictype/test-decdigit.h: Regenerated.
40900         * tests/unictype/test-digit.h: Regenerated.
40901         * tests/unictype/test-numeric.h: Regenerated.
40902         * tests/unictype/test-pr_alphabetic.c: Regenerated.
40903         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
40904         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
40905         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
40906         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
40907         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
40908         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
40909         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
40910         * tests/unictype/test-pr_combining.c: Regenerated.
40911         * tests/unictype/test-pr_dash.c: Regenerated.
40912         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
40913         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
40914         * tests/unictype/test-pr_deprecated.c: Regenerated.
40915         * tests/unictype/test-pr_diacritic.c: Regenerated.
40916         * tests/unictype/test-pr_extender.c: Regenerated.
40917         * tests/unictype/test-pr_format_control.c: Regenerated.
40918         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
40919         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
40920         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
40921         * tests/unictype/test-pr_id_continue.c: Regenerated.
40922         * tests/unictype/test-pr_id_start.c: Regenerated.
40923         * tests/unictype/test-pr_ideographic.c: Regenerated.
40924         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
40925         * tests/unictype/test-pr_lowercase.c: Regenerated.
40926         * tests/unictype/test-pr_math.c: Regenerated.
40927         * tests/unictype/test-pr_numeric.c: Regenerated.
40928         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
40929         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
40930         Regenerated.
40931         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
40932         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
40933         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
40934         * tests/unictype/test-pr_other_math.c: Regenerated.
40935         * tests/unictype/test-pr_punctuation.c: Regenerated.
40936         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
40937         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
40938         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
40939         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
40940         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
40941         * tests/unictype/test-pr_uppercase.c: Regenerated.
40942         * tests/unictype/test-pr_xid_continue.c: Regenerated.
40943         * tests/unictype/test-pr_xid_start.c: Regenerated.
40944         * tests/unictype/test-pr_zero_width.c: Regenerated.
40945
40946         Update to Unicode 5.1.0.
40947         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
40948         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
40949         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
40950         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
40951         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
40952         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
40953         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
40954         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
40955         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
40956         (nonspacing_table_ind): Update.
40957         * tests/uniwidth/test-uc_width2.sh: Update expected result.
40958
40959         Update to Unicode 5.1.0.
40960         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
40961         code transform.
40962         * lib/uniname/uniname.c (unicode_character_name,
40963         unicode_name_character): Add the range 0x1Fxxx to the code transform.
40964         * lib/uniname/uninames.h: Regenerated.
40965         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
40966
40967 2009-02-07  Bruno Haible  <bruno@clisp.org>
40968
40969         Merge gen-ctype and gen-lbrk into a single program.
40970         * lib/gen-uni-tables.c: New file, incorporating
40971         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
40972         Add directory prefixes to the names of the generated files.
40973         * lib/unictype/gen-ctype.c: Remove file.
40974         * lib/unilbrk/gen-lbrk.c: Remove file.
40975         * modules/gen-uni-tables: New file.
40976         * modules/unictype/gen-ctype: Remove file.
40977         * modules/unilbrk/gen-lbrk: Remove file.
40978
40979 2009-02-07  Bruno Haible  <bruno@clisp.org>
40980
40981         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
40982
40983         New module 'unistr/u32-strcoll'.
40984         * modules/unistr/u32-strcoll: New file.
40985         * lib/unistr/u32-strcoll.c: New file.
40986
40987         New module 'unistr/u16-strcoll'.
40988         * modules/unistr/u16-strcoll: New file.
40989         * lib/unistr/u16-strcoll.c: New file.
40990
40991         New module 'unistr/u8-strcoll'.
40992         * modules/unistr/u8-strcoll: New file.
40993         * lib/unistr/u8-strcoll.c: New file.
40994         * lib/unistr/u-strcoll.h: New file.
40995
40996 2009-02-07  Bruno Haible  <bruno@clisp.org>
40997
40998         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
40999         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41000         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
41001         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
41002         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
41003         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
41004
41005 2009-02-07  Bruno Haible  <bruno@clisp.org>
41006
41007         Make 64-bit clean.
41008         * lib/unictype/gen-ctype.c (output_predicate, output_category,
41009         output_combclass, output_bidi_category, output_decimal_digit,
41010         output_digit, output_numeric, output_mirror, output_scripts,
41011         output_ident_category): Use proper width specifier in format strings.
41012
41013 2009-02-07  Bruno Haible  <bruno@clisp.org>
41014
41015         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
41016         failure behaviour.
41017
41018 2009-02-07  Jim Meyering  <meyering@redhat.com>
41019
41020         regex: avoid compilation failure with upcoming gcc-4.4
41021         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
41022         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
41023         "... error: integer overflow in preprocessor expression".
41024
41025 2009-02-05  Ben Pfaff  <blp@gnu.org>
41026
41027         Fix link errors on Windows when close module is used.
41028         * modules/close: Add $(LIB_CLOSE) to Link section.
41029         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
41030         $(LIB_CLOSE) on Windows.
41031
41032 2009-02-05  Jim Meyering  <meyering@redhat.com>
41033
41034         still avoid unused-parameter warnings, but do it cleanly
41035         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
41036         (get_fs_usage): Cast to void instead.
41037         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
41038         (dev_from_mount_options, read_file_system_list): Cast to void.
41039         Prompted by Bruno Haible.
41040
41041 2009-02-04  Jim Meyering  <meyering@redhat.com>
41042
41043         fsusage.c: correct copyright year
41044         * lib/fsusage.c: Reflect year in which the change is pushed into
41045
41046         avoid misc. warnings
41047         * lib/fsusage.c (UNUSED_PARAM): Define.
41048         (get_fs_usage): Mark parameter "disk" as unused.
41049         * lib/getugroups.c (getgrent): Use "void" in prototype.
41050         * lib/mountlist.c: Mark unused parameters.
41051         (read_file_system_list): Declare a local with "const".
41052         * lib/nanosleep.c (getnow): Declare static.
41053         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
41054
41055         dirfd: set errno upon failure
41056         * lib/dirfd.c: Include <errno.h>.
41057         Set errno to ENOTSUP when returning -1.
41058         * modules/dirfd (Depends-on): Add errno.
41059         Suggested by John Kodis <kodis@comcast.net>.
41060
41061 2009-02-01  Bruno Haible  <bruno@clisp.org>
41062
41063         Don't assume sizeof (long) >= sizeof (void *).
41064         * lib/memcmp.c: Include stdint.h.
41065         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
41066         srcp2 to 'const byte *'.
41067         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
41068         types to uintptr_t.
41069         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
41070         * modules/memcmp (Depends-on): Add stdint.
41071         Reported by Ozkan Sezer <sezeroz@gmail.com>.
41072
41073 2009-01-30  Eric Blake  <ebb9@byu.net>
41074
41075         fix more require-before-expand issues
41076         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
41077         expand, AC_PROG_AWK.
41078         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
41079
41080 2009-01-28  Eric Blake  <ebb9@byu.net>
41081
41082         version-etc: use consistent URL formatting
41083         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
41084         Improve formatting.  Use fputs for string without %.
41085
41086 2009-01-28  Jim Meyering  <meyering@redhat.com>
41087
41088         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
41089         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
41090         "underquoted definition of NAME" from autoconf-2.59.
41091
41092 2009-01-28  Bruno Haible  <bruno@clisp.org>
41093
41094         * doc/gnulib.texi: Add "Obsolete modules" to index.
41095
41096 2009-01-28  Jim Meyering  <meyering@redhat.com>
41097
41098         useless-if-before-free: recognize more variants
41099         * build-aux/useless-if-before-free: Also recognize e.g.,
41100         if (NULL != p) free (p);
41101
41102 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
41103
41104         test-getaddrinfo: skip (don't fail) this test when there's no network
41105         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
41106         on the presumption that it means you lack network access.
41107
41108 2009-01-26  Jim Meyering  <meyering@redhat.com>
41109
41110         fflush: avoid warnings on modern systems
41111         * lib/fflush.c (rpl_fflush): Move declarations of locals,
41112         pos and result, into scopes where they're used.
41113
41114 2009-01-26  Eric Blake  <ebb9@byu.net>
41115
41116         Silence warning reintroduced by recent extensions patch.
41117         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
41118         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
41119         autoconf.
41120
41121         Backport improved autoconf semantics of AC_DEFUN_ONCE.
41122         * m4/00gnulib.m4: New file.
41123         * gnulib-tool (func_get_filelist): Always use it.
41124         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
41125         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
41126
41127 2009-01-25  Bruno Haible  <bruno@clisp.org>
41128
41129         Make test-quotearg work on MacOS X and AIX.
41130         * tests/test-quotearg.sh: New file.
41131         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
41132         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
41133         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
41134         include <libintl.h>.
41135         (fake_locale): Remove variable.
41136         (gettext, dgettext, dcgettext): Remove functions.
41137         (main): Instead of setting a fake locale, set a real locale. Call
41138         textdomain and bindtextdomain.
41139         * modules/quotearg-tests (Files): Add the new files.
41140         (Depends-on): Add gettext, setenv, unsetenv.
41141         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41142         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
41143         Augment TESTS_ENVIRONMENT.
41144
41145 2009-01-25  Bruno Haible  <bruno@clisp.org>
41146
41147         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
41148         fr_FR.ISO8859-1 locale on MacOS X.
41149         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
41150         ja_JP.eucJP locale on MacOS X.
41151         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
41152         zh_CN.GB18030 locale on MacOS X.
41153
41154 2009-01-25  Bruno Haible  <bruno@clisp.org>
41155
41156         Avoid link errors on MacOS X 10.3.
41157         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
41158         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41159
41160 2009-01-25  Bruno Haible  <bruno@clisp.org>
41161
41162         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41163         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
41164         * modules/pipe (Files): Remove m4/posix_spawn.m4.
41165         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41166         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
41167         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41168         posix_spawnattr_init, posix_spawnattr_setsigmask,
41169         posix_spawnattr_setflags, posix_spawnattr_destroy.
41170
41171         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
41172         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
41173         * modules/execute (Files): Remove m4/posix_spawn.m4.
41174         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
41175         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
41176         posix_spawnattr_init, posix_spawnattr_setsigmask,
41177         posix_spawnattr_setflags, posix_spawnattr_destroy.
41178
41179 2009-01-25  Bruno Haible  <bruno@clisp.org>
41180
41181         * lib/glthread/threadlib.c: Include <stdlib.h>.
41182
41183 2009-01-25  Bruno Haible  <bruno@clisp.org>
41184
41185         * lib/glthread/threadlib.c (dummy): New declaration.
41186
41187 2009-01-25  Bruno Haible  <bruno@clisp.org>
41188
41189         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
41190         multibyte characters also for the GB18030 encoding. Don't crash when
41191         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
41192
41193 2009-01-25  Bruno Haible  <bruno@clisp.org>
41194
41195         Avoid redefining 'struct random_data' on OSF/1 5.1.
41196         * lib/stdlib.in.h: Include <random.h> if it exists.
41197         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
41198         HAVE_RANDOM_H. Include <random.h> when testing whether
41199         'struct random_data' exists.
41200         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
41201
41202 2009-01-25  Bruno Haible  <bruno@clisp.org>
41203
41204         Don't install charset.alias on MacOS X >= 10.3.
41205         * lib/localcharset.c (DARWIN7): New macro.
41206         (get_charset_aliases): Hardcode the result for Darwin7.
41207         * modules/localcharset (install-exec-local): Don't install
41208         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
41209
41210 2009-01-25  Bruno Haible  <bruno@clisp.org>
41211
41212         Don't install charset.alias on mingw and Cygwin.
41213         * modules/localcharset (install-exec-local): Don't install
41214         charset.alias on mingw and Cygwin, if the file does not yet exist.
41215         The result for these platforms is hardcoded in localcharset.c.
41216
41217 2009-01-25  Bruno Haible  <bruno@clisp.org>
41218
41219         Make it possible again to use AC_GNU_SOURCE together with gnulib.
41220         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
41221         before requiring AC_USE_SYSTEM_EXTENSIONS.
41222
41223 2009-01-25  Jim Meyering  <meyering@redhat.com>
41224
41225         c-strtod: avoid warnings
41226         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
41227         "assignment discards qualifiers from pointer target type" warnings.
41228
41229 2009-01-24  Bruno Haible  <bruno@clisp.org>
41230
41231         Add support for non-UTF-8 locales on MacOS X.
41232         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
41233         canonical encodings. For Darwin 7 and newer, don't map traditional
41234         encodings to UTF-8.
41235         Reported by Vincent Lefevre <vincent@vinc17.org>
41236         at <http://savannah.gnu.org/bugs/?25235>.
41237
41238 2009-01-24  Bruno Haible  <bruno@clisp.org>
41239
41240         * doc/gnulib.texi (Obsolete modules): New section.
41241         Reported by Mike Frysinger <vapier@gentoo.org>.
41242
41243 2009-01-24  Bruno Haible  <bruno@clisp.org>
41244
41245         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
41246         (%.dvi): New rule.
41247
41248 2009-01-24  Bruno Haible  <bruno@clisp.org>
41249
41250         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
41251         Reported by Eric Blake.
41252
41253 2009-01-24  Bruno Haible  <bruno@clisp.org>
41254
41255         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
41256         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
41257         Reported by Gary V. Vaughan <gary@gnu.org>.
41258
41259 2009-01-24  Bruno Haible  <bruno@clisp.org>
41260
41261         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
41262
41263 2009-01-23  Bruno Haible  <bruno@clisp.org>
41264
41265         Make c-strtod, c-strtold usable in libraries.
41266         * lib/c-strtod.c: Include string.h instead of xalloc.h.
41267         (C_STRTOD): Call strdup instead of xstrdup.
41268         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
41269         * modules/c-strtold (Depends-on): Likewise.
41270         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
41271         * NEWS: Mention the change.
41272         Reported by Michael Gold <mgold@ncf.ca>.
41273
41274 2009-01-23  Jim Meyering  <meyering@redhat.com>
41275
41276         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
41277         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
41278         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
41279
41280 2009-01-23  Simon Josefsson  <simon@josefsson.org>
41281
41282         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
41283         GNU CoreUtils.
41284         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
41285         * modules/version-etc (Description): Update.
41286
41287 2009-01-22  Bruno Haible  <bruno@clisp.org>
41288
41289         Cache the C locale object.
41290         * lib/c-strtod.c (c_locale_cache): New variable.
41291         (c_locale): New function.
41292         (C_STRTOD): Use it, and don't call freelocale.
41293         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
41294         Suggested by Paolo Bonzini.
41295
41296 2009-01-21  Bruno Haible  <bruno@clisp.org>
41297
41298         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
41299         conditions other than overflow.
41300
41301 2009-01-21  Bruno Haible  <bruno@clisp.org>
41302
41303         * lib/c-strtod.c: Include errno.h.
41304         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
41305         value from STRTOD_L and STRTOD.
41306
41307 2009-01-21  Bruno Haible  <bruno@clisp.org>
41308         and Jim Meyering  <meyering@redhat.com>
41309
41310         nanosleep: skip configure test (fail it) for apple universal builds
41311         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
41312         universal builds, assume that nanosleep does not work.
41313         * modules/nanosleep (Depends-on): Add multiarch.
41314
41315         mktime: skip configure test (fail it) for apple universal builds
41316         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
41317         universal builds, assume that mktime does not work.
41318         * modules/mktime (Depends-on): Add multiarch.
41319
41320 2009-01-21  Eric Blake  <ebb9@byu.net>
41321
41322         multiarch: avoid expand-before-require warning
41323         * modules/multiarch (configure.ac): Require, rather than expand,
41324         gl_MULTIARCH.
41325         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
41326         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
41327         enforce that all clients require it.  Partial reversion of
41328         2008-12-29 patch.
41329
41330         error: avoid expand-before-require warning
41331         * modules/errno (configure.ac): Require, rather than expand,
41332         gl_HEADER_ERRNO_H.
41333         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
41334         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
41335         enforce that all clients require it.
41336
41337         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
41338         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
41339         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
41340         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
41341
41342 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
41343
41344         Revert:
41345         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41346
41347         regex: do not depend on obsolete modules.
41348         * modules/regex: Remove memcmp and memmove.
41349
41350 2009-01-20  Bruno Haible  <bruno@clisp.org>
41351
41352         Make the 'link' module link on Windows NT 4.
41353         * lib/link.c (_WIN32_WINNT): Don't define.
41354         (CreateHardLinkFuncType): New type.
41355         (CreateHardLinkFunc, initialized): New variables.
41356         (initialize): New function.
41357         (link): Invoke CreateHardLink indirectly through the function pointer.
41358
41359 2009-01-20  Bruno Haible  <bruno@clisp.org>
41360
41361         Fix compilation failure on mingw.
41362         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
41363
41364 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
41365
41366         * doc/c-strtod.texi: Mention a couple of restrictions.
41367
41368 2009-01-20  Jim Meyering  <meyering@redhat.com>
41369
41370         gettimeofday: move more declarations out of functions
41371         * lib/gettimeofday.c: Move extern declarations of tzset and
41372         gmtime out of containing functions.  Prompted by Bruno Haible.
41373
41374 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
41375
41376         regex: do not depend on obsolete modules.
41377         * modules/regex: Remove memcmp and memmove.
41378
41379 2009-01-19  Bruno Haible  <bruno@clisp.org>
41380
41381         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41382         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
41383         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41384         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
41385         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
41386
41387 2009-01-19  Bruno Haible  <bruno@clisp.org>
41388
41389         * tests/test-link.c: Include <errno.h>.
41390         (main): Exit with code 77 when a hard link cannot be created due to
41391         the file system.
41392         * tests/test-link.sh: Skip test when a hard link cannot be created due
41393         to the file system.
41394         Suggested by Eric Blake.
41395
41396 2009-01-19  Martin Lambers  <marlam@marlam.de>
41397
41398         * modules/link-tests: New file.
41399         * tests/test-link.sh: New file.
41400         * tests/test-link.c: New file.
41401
41402 2009-01-19  Eric Blake  <ebb9@byu.net>
41403
41404         doc: mention another function added in cygwin 1.7.0
41405         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
41406         Another new function in cygwin 1.7.
41407
41408 2009-01-19  Bruno Haible  <bruno@clisp.org>
41409
41410         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
41411         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
41412         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
41413         gl_BIGENDIAN, not AC_C_BIGENDIAN.
41414         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41415         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
41416         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41417         * m4/md4.m4 (gl_MD4): Likewise.
41418         * m4/md5.m4 (gl_MD5): Likewise.
41419         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
41420         * m4/sha1.m4 (gl_SHA1): Likewise.
41421         * m4/sha256.m4 (gl_SHA256): Likewise.
41422         * m4/sha512.m4 (gl_SHA512): Likewise.
41423
41424 2009-01-19  Bruno Haible  <bruno@clisp.org>
41425
41426         * modules/uniname/uniname-tests (Depends-on): Add progname.
41427         * tests/uniname/test-uninames.c: Include progname.h.
41428         (main): Call set_program_name.
41429
41430         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
41431         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
41432         (main): Call set_program_name.
41433
41434         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
41435         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
41436         (main): Call set_program_name.
41437
41438         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
41439         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
41440         (main): Call set_program_name.
41441
41442         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
41443         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
41444         (main): Call set_program_name.
41445
41446         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
41447         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
41448         (main): Call set_program_name.
41449
41450         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
41451         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
41452         (main): Call set_program_name.
41453
41454         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
41455         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
41456         (main): Call set_program_name.
41457
41458         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
41459         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
41460         (main): Call set_program_name.
41461
41462 2009-01-19  Eric Blake  <ebb9@byu.net>
41463
41464         test-unistd: test previous patch
41465         * tests/test-unistd.c: Test *_FILENO macros.
41466
41467         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
41468         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41469         Guarantee a definition.
41470         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
41471         * modules/unistd-safer (Depends-on): Add dependency on unistd.
41472         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
41473         * lib/dup-safer.c (STDERR_FILENO): Likewise.
41474         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41475         Likewise.
41476         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
41477         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
41478         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
41479         Likewise.
41480         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
41481         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
41482         (STDERR_FILENO): Likewise.
41483         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
41484         (STDERR_FILENO): Likewise.
41485         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
41486         (STDERR_FILENO): Likewise.
41487         Reported by Elbert Pol.
41488
41489 2009-01-19  Eric Blake  <ebb9@byu.net>
41490
41491         doc: mention more functions added in cygwin 1.7.0
41492         * doc/posix-functions/abort.texi (abort): Update wording related
41493         to cygwin.
41494         * doc/posix-functions/daylight.texi (daylight): Likewise.
41495         * doc/posix-functions/optarg.texi (optarg): Likewise.
41496         * doc/posix-functions/optarg.texi (opterr): Likewise.
41497         * doc/posix-functions/optarg.texi (optind): Likewise.
41498         * doc/posix-functions/optarg.texi (optopt): Likewise.
41499         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
41500         worked in 1.5.x, and was withdrawn in 1.7.
41501         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
41502         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
41503         cygwin versions.
41504         * doc/posix-functions/perror.texi (perror): Likewise.
41505         * doc/posix-functions/printf.texi (printf): Likewise.
41506         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
41507         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
41508         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
41509         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
41510         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
41511         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
41512         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
41513         Likewise.
41514         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
41515         Likewise.
41516         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
41517         this function.
41518         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
41519         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
41520         Likewise.
41521         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
41522         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
41523         * doc/posix-functions/confstr.texi (confstr): Likewise.
41524         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
41525         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
41526         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
41527         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
41528         * doc/posix-functions/fputws.texi (fputws): Likewise.
41529         * doc/posix-functions/fwide.texi (fwide): Likewise.
41530         * doc/posix-functions/getwc.texi (getwc): Likewise.
41531         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
41532         * doc/posix-functions/putwc.texi (putwc): Likewise.
41533         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
41534         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
41535         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
41536         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
41537         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
41538         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
41539         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
41540         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
41541         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
41542         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
41543         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
41544
41545 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41546
41547         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
41548         * lib/ioctl.c: Include <sys/ioctl.h>.
41549
41550 2009-01-19  Simon Josefsson  <simon@josefsson.org>
41551
41552         * modules/getdate-tests (Depends-on): Add progname.
41553         * tests/test-getdate.c: Use progname module, to avoid link errors
41554         on non-glibc systems.
41555
41556 2009-01-18  Simon Josefsson  <simon@josefsson.org>
41557
41558         * modules/filenamecat-tests (Depends-on): Add progname.
41559         * modules/fstrcmp-tests (Depends-on): Likewise.
41560
41561         * tests/test-filenamecat.c: Use progname module, to avoid link
41562         errors on non-glibc systems.
41563         * tests/test-fstrcmp.c: Likewise.
41564
41565 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
41566
41567         gettimeofday: avoid warning: nested extern declaration of 'localtime'
41568         * lib/gettimeofday.c: Move extern declaration out of function.
41569
41570 2009-01-18  Bruno Haible  <bruno@clisp.org>
41571
41572         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
41573         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
41574         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
41575
41576 2009-01-18  Bruno Haible  <bruno@clisp.org>
41577
41578         * lib/strftime.c (MEMPCPY): Remove unused macro.
41579         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
41580
41581 2009-01-18  Martin Lambers  <marlam@marlam.de>
41582
41583         New module 'link'.
41584         * lib/unistd.in.h (link): New declaration.
41585         * lib/link.c: New file.
41586         * m4/link.m4: New file.
41587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
41588         HAVE_LINK.
41589         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
41590         * modules/link: New file.
41591         * doc/posix-functions/link.texi: Mention the new module.
41592
41593 2009-01-18  Bruno Haible  <bruno@clisp.org>
41594
41595         * tests/test-avltree_list.c (main): Call set_program_name.
41596         * tests/test-avltree_oset.c (main): Likewise.
41597         * tests/test-obstack-printf.c: Include progname.h.
41598         (main): Call set_program_name.
41599         * tests/test-quotearg.c: Include progname.h.
41600         (main): Call set_program_name.
41601         * tests/test-xmemdup0.c: Include progname.h.
41602         (main): Call set_program_name.
41603
41604 2009-01-18  Bruno Haible  <bruno@clisp.org>
41605
41606         New module 'alphasort'.
41607         * lib/dirent.in.h (alphasort): New declaration.
41608         * lib/alphasort.c: New file, from glibc with modifications.
41609         * m4/alphasort.m4: New file.
41610         * modules/alphasort: New file.
41611         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
41612         HAVE_ALPHASORT.
41613         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
41614         HAVE_ALPHASORT.
41615         * doc/posix-functions/alphasort.texi: Mention the new module and the
41616         portability problems.
41617
41618 2009-01-18  Bruno Haible  <bruno@clisp.org>
41619
41620         New module 'scandir'.
41621         * lib/dirent.in.h (scandir): New declaration.
41622         * lib/scandir.c: New file, from glibc with modifications.
41623         * m4/scandir.m4: New file.
41624         * modules/scandir: New file.
41625         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
41626         HAVE_SCANDIR.
41627         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
41628         HAVE_SCANDIR.
41629         * doc/posix-functions/scandir.texi: Mention the new module and the
41630         portability problems.
41631
41632 2009-01-17  Bruno Haible  <bruno@clisp.org>
41633
41634         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
41635         Update documentation.
41636         (func_remove_suffix): Escape all dots in the suffix. Update
41637         documentation.
41638         (func_filter_filelist): Update documentation.
41639         Reported by Ralf Wildenhues.
41640
41641 2009-01-17  Bruno Haible  <bruno@clisp.org>
41642
41643         * modules/dprintf-posix-tests: New file.
41644         * tests/test-dprintf-posix.sh: New file.
41645         * tests/test-dprintf-posix.c: New file.
41646
41647         New modules 'dprintf', 'dprintf-posix'.
41648         * lib/stdio.in.h (dprintf): New declaration.
41649         * lib/dprintf.c: New file.
41650         * m4/dprintf.m4: New file.
41651         * m4/dprintf-posix.m4: New file.
41652         * modules/dprintf: New file.
41653         * modules/dprintf-posix: New file.
41654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
41655         HAVE_DPRINTF, REPLACE_DPRINTF.
41656         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
41657         HAVE_DPRINTF, REPLACE_DPRINTF.
41658         * doc/posix-functions/dprintf.texi: Mention the new modules.
41659
41660 2009-01-17  Bruno Haible  <bruno@clisp.org>
41661
41662         * modules/vdprintf-posix-tests: New file.
41663         * tests/test-vdprintf-posix.sh: New file.
41664         * tests/test-vdprintf-posix.c: New file.
41665
41666         New modules 'vdprintf', 'vdprintf-posix'.
41667         * lib/stdio.in.h (vdprintf): New declaration.
41668         * lib/vdprintf.c: New file.
41669         * m4/vdprintf.m4: New file.
41670         * m4/vdprintf-posix.m4: New file.
41671         * modules/vdprintf: New file.
41672         * modules/vdprintf-posix: New file.
41673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
41674         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41675         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
41676         HAVE_VDPRINTF, REPLACE_VDPRINTF.
41677         * doc/posix-functions/vdprintf.texi: Mention the new modules.
41678
41679 2009-01-17  Bruno Haible  <bruno@clisp.org>
41680
41681         Fix replacement of fopen on mingw.
41682         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
41683         mingw.
41684
41685 2009-01-17  Bruno Haible  <bruno@clisp.org>
41686
41687         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
41688         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
41689
41690 2009-01-17  Bruno Haible  <bruno@clisp.org>
41691
41692         Avoid test-fflush2.sh failure on mingw.
41693         * tests/test-fflush2.c: Include binary-io.h.
41694         (main): Put standard input into binary mode.
41695         * modules/fflush-tests (Depends-on): Add binary-io.
41696
41697 2009-01-17  Bruno Haible  <bruno@clisp.org>
41698
41699         * lib/wchar.in.h: In another particular situation, include only the
41700         system's <wchar.h> file.
41701         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
41702         Reported by Albert Chin-A-Young <china@thewrittenword.com>
41703         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
41704
41705 2009-01-17  Bruno Haible  <bruno@clisp.org>
41706
41707         Support for stripping executables in --enable-relocatable.
41708         * build-aux/install-reloc: Expect one more argument, or an environment
41709         variable RELOC_STRIP_PROG. If set, strip the destination program and
41710         its wrapper.
41711         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
41712         RELOC_STRIP_PROG.
41713         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
41714         to set RELOCATABLE_STRIP.
41715         * NEWS: Mention the new Makefile requirement.
41716
41717 2009-01-17  Bruno Haible  <bruno@clisp.org>
41718
41719         * build-aux/install-reloc: Remove debugging information left over by
41720         C compiler on MacOS X.
41721
41722 2009-01-17  Bruno Haible  <bruno@clisp.org>
41723
41724         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
41725         * lib/progreloc.c (find_executable): Fix type of pointer passed to
41726         _NSGetExecutablePath.
41727
41728 2009-01-16  Jim Meyering  <meyering@redhat.com>
41729
41730         strerror: avoid warnings about discarding "const"
41731         * lib/strerror.c (rpl_strerror): Instead of returning a const
41732         string from each and every "case", use a variable, and add a single
41733         cast after the switch.
41734
41735 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
41736
41737         * lib/arpa_inet.in.h: Add extern "C" block for C++.
41738
41739 2009-01-16  Bruno Haible  <bruno@clisp.org>
41740
41741         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
41742         array initializer syntax that also works in C++ mode.
41743         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41744
41745 2009-01-16  Jim Meyering  <meyering@redhat.com>
41746
41747         poll: suppress a warning
41748         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
41749         to ignore "...unsigned expression < 0 is always false" warnings.
41750
41751 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
41752
41753         poll: remove declarations of unused variables
41754         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
41755         sockbuf and optlen.
41756
41757 2009-01-15  Bruno Haible  <bruno@clisp.org>
41758
41759         Make fflush-after-ungetc POSIX compliant on BSD systems.
41760         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
41761         (clear_ungetc_buffer): Implement also for other systems.
41762         (rpl_fflush): On glibc systems, invoke
41763         clear_ungetc_buffer_preserving_position. Otherwise, invoke
41764         clear_ungetc_buffer after fetching the stream's position, not before.
41765
41766 2009-01-15  Bruno Haible  <bruno@clisp.org>
41767
41768         Make fflush-after-ungetc POSIX compliant on glibc systems.
41769         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
41770         after ungetc.
41771         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
41772         (rpl_fflush): On glibc systems, simply call the system's fflush
41773         function after clearing the ungetc buffer.
41774         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
41775         Instead, lseek only to the end of file, then use the system's fseeko
41776         for the rest. On glibc systems, reset the EOF indicator bit.
41777
41778 2009-01-15  Jim Meyering  <meyering@redhat.com>
41779
41780         openmp.m4: revert quote-adding change, for portability to older autoconf
41781         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
41782         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
41783         Simon Josefsson noticed the problem when using autoconf-2.61.
41784
41785 2009-01-15  Bruno Haible  <bruno@clisp.org>
41786
41787         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
41788         * tests/test-fflush2.c (ASSERT): Always fail.
41789         (main): Add two tests for fflush() after ungetc(), taking into account
41790         the Austin Group's clarification.
41791         Suggested by Eric Blake.
41792
41793 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
41794
41795         mktime.m4: remove K&R-style function prototypes
41796         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
41797         for the Sun C++ compiler.
41798
41799 2009-01-14  Bruno Haible  <bruno@clisp.org>
41800
41801         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
41802         while including <wchar.h>.
41803         * lib/wchar.in.h: In two particular situations on HP-UX, include only
41804         the system's <wchar.h> file.
41805         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41806
41807 2009-01-14  Bruno Haible  <bruno@clisp.org>
41808
41809         * m4/csharp.m4: Don't mention gettext on the serial number line.
41810         * m4/csharpexec.m4: Likewise.
41811         * m4/eaccess.m4: Likewise.
41812         * m4/javaexec.m4: Likewise.
41813         * m4/sig_atomic_t.m4: Likewise.
41814         * m4/tmpdir.m4: Likewise.
41815         * m4/intldir.m4: Bump gettext version.
41816         * m4/lib-ld.m4: Likewise.
41817
41818 2009-01-14  Bruno Haible  <bruno@clisp.org>
41819
41820         * lib/progname.c (set_program_name): Add more comments.
41821         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41822
41823 2009-01-14  Simon Josefsson  <simon@josefsson.org>
41824
41825         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
41826         were sys/stat.h does not define it.
41827
41828 2009-01-14  Jim Meyering  <meyering@redhat.com>
41829
41830         many *.m4 files: improve m4 quoting
41831         99% of this change was performed by running the following commands:
41832         git ls-files | grep '\.m4$' | xargs perl -pi \
41833           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
41834           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41835           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
41836           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
41837         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
41838         The remainder were to add Copyright dates, increment serial numbers,
41839         undo some changes in comments, exclude m4/intl.m4, and add quotes
41840         around the "1" in ",1" where the unusual spacing prohibited the
41841         above regexps from doing the job.  For more details, see
41842         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
41843         * m4/acl.m4: Modified.
41844         * m4/afs.m4: Likewise.
41845         * m4/alloca.m4: Likewise.
41846         * m4/argp.m4: Likewise.
41847         * m4/argz.m4: Likewise.
41848         * m4/atexit.m4: Likewise.
41849         * m4/bison-i18n.m4: Likewise.
41850         * m4/bison.m4: Likewise.
41851         * m4/byteswap.m4: Likewise.
41852         * m4/c-stack.m4: Likewise.
41853         * m4/c-strtod.m4: Likewise.
41854         * m4/calloc.m4: Likewise.
41855         * m4/canonicalize-lgpl.m4: Likewise.
41856         * m4/chown.m4: Likewise.
41857         * m4/clock_time.m4: Likewise.
41858         * m4/codeset.m4: Likewise.
41859         * m4/copy-file.m4: Likewise.
41860         * m4/csharp.m4: Likewise.
41861         * m4/csharpcomp.m4: Likewise.
41862         * m4/csharpexec.m4: Likewise.
41863         * m4/d-ino.m4: Likewise.
41864         * m4/d-type.m4: Likewise.
41865         * m4/dirfd.m4: Likewise.
41866         * m4/double-slash-root.m4: Likewise.
41867         * m4/eaccess.m4: Likewise.
41868         * m4/eealloc.m4: Likewise.
41869         * m4/environ.m4: Likewise.
41870         * m4/errno_h.m4: Likewise.
41871         * m4/euidaccess.m4: Likewise.
41872         * m4/execute.m4: Likewise.
41873         * m4/fatal-signal.m4: Likewise.
41874         * m4/fchdir.m4: Likewise.
41875         * m4/fcntl_h.m4: Likewise.
41876         * m4/fileblocks.m4: Likewise.
41877         * m4/filenamecat.m4: Likewise.
41878         * m4/findprog.m4: Likewise.
41879         * m4/flexmember.m4: Likewise.
41880         * m4/fnmatch.m4: Likewise.
41881         * m4/fopen.m4: Likewise.
41882         * m4/fpending.m4: Likewise.
41883         * m4/fprintf-posix.m4: Likewise.
41884         * m4/free.m4: Likewise.
41885         * m4/frexp.m4: Likewise.
41886         * m4/frexpl.m4: Likewise.
41887         * m4/fsusage.m4: Likewise.
41888         * m4/ftruncate.m4: Likewise.
41889         * m4/gc-camellia.m4: Likewise.
41890         * m4/gc-random.m4: Likewise.
41891         * m4/gc.m4: Likewise.
41892         * m4/getaddrinfo.m4: Likewise.
41893         * m4/getcwd-abort-bug.m4: Likewise.
41894         * m4/getcwd-path-max.m4: Likewise.
41895         * m4/getdate.m4: Likewise.
41896         * m4/getdomainname.m4: Likewise.
41897         * m4/getgroups.m4: Likewise.
41898         * m4/gethostname.m4: Likewise.
41899         * m4/gethrxtime.m4: Likewise.
41900         * m4/getline.m4: Likewise.
41901         * m4/getloadavg.m4: Likewise.
41902         * m4/getndelim2.m4: Likewise.
41903         * m4/getpass.m4: Likewise.
41904         * m4/gettext.m4: Likewise.
41905         * m4/gettime.m4: Likewise.
41906         * m4/gettimeofday.m4: Likewise.
41907         * m4/gnulib-common.m4: Likewise.
41908         * m4/group-member.m4: Likewise.
41909         * m4/host-os.m4: Likewise.
41910         * m4/iconv.m4: Likewise.
41911         * m4/iconv_open.m4: Likewise.
41912         * m4/inet_ntop.m4: Likewise.
41913         * m4/inet_pton.m4: Likewise.
41914         * m4/inline.m4: Likewise.
41915         * m4/intldir.m4: Likewise.
41916         * m4/intlmacosx.m4: Likewise.
41917         * m4/intmax.m4: Likewise.
41918         * m4/intmax_t.m4: Likewise.
41919         * m4/inttypes.m4: Likewise.
41920         * m4/inttypes_h.m4: Likewise.
41921         * m4/inttypes-pri.m4: Likewise.
41922         * m4/isapipe.m4: Likewise.
41923         * m4/isnand.m4: Likewise.
41924         * m4/isnanf.m4: Likewise.
41925         * m4/isnanl.m4: Likewise.
41926         * m4/javacomp.m4: Likewise.
41927         * m4/javaexec.m4: Likewise.
41928         * m4/jm-winsz1.m4: Likewise.
41929         * m4/jm-winsz2.m4: Likewise.
41930         * m4/lchown.m4: Likewise.
41931         * m4/lcmessage.m4: Likewise.
41932         * m4/ldexpl.m4: Likewise.
41933         * m4/lib-ld.m4: Likewise.
41934         * m4/lib-link.m4: Likewise.
41935         * m4/libsigsegv.m4: Likewise.
41936         * m4/link-follow.m4: Likewise.
41937         * m4/localcharset.m4: Likewise.
41938         * m4/locale-fr.m4: Likewise.
41939         * m4/locale-ja.m4: Likewise.
41940         * m4/locale-tr.m4: Likewise.
41941         * m4/locale-zh.m4: Likewise.
41942         * m4/lock.m4: Likewise.
41943         * m4/longlong.m4: Likewise.
41944         * m4/ls-mntd-fs.m4: Likewise.
41945         * m4/lstat.m4: Likewise.
41946         * m4/malloc.m4: Likewise.
41947         * m4/mathl.m4: Likewise.
41948         * m4/mbrtowc.m4: Likewise.
41949         * m4/mbstate_t.m4: Likewise.
41950         * m4/mbswidth.m4: Likewise.
41951         * m4/memchr.m4: Likewise.
41952         * m4/memcmp.m4: Likewise.
41953         * m4/memcpy.m4: Likewise.
41954         * m4/memmem.m4: Likewise.
41955         * m4/memmove.m4: Likewise.
41956         * m4/mempcpy.m4: Likewise.
41957         * m4/memrchr.m4: Likewise.
41958         * m4/memset.m4: Likewise.
41959         * m4/minmax.m4: Likewise.
41960         * m4/mkdir-slash.m4: Likewise.
41961         * m4/mkdtemp.m4: Likewise.
41962         * m4/mktime.m4: Likewise.
41963         * m4/mmap-anon.m4: Likewise.
41964         * m4/mountlist.m4: Likewise.
41965         * m4/nanosleep.m4: Likewise.
41966         * m4/nls.m4: Likewise.
41967         * m4/nocrash.m4: Likewise.
41968         * m4/open.m4: Likewise.
41969         * m4/openat.m4: Likewise.
41970         * m4/openmp.m4: Likewise.
41971         * m4/pathmax.m4: Likewise.
41972         * m4/perl.m4: Likewise.
41973         * m4/physmem.m4: Likewise.
41974         * m4/pipe.m4: Likewise.
41975         * m4/po.m4: Likewise.
41976         * m4/poll.m4: Likewise.
41977         * m4/posixtm.m4: Likewise.
41978         * m4/posixver.m4: Likewise.
41979         * m4/printf-frexp.m4: Likewise.
41980         * m4/printf-frexpl.m4: Likewise.
41981         * m4/printf-posix.m4: Likewise.
41982         * m4/printf-posix-rpl.m4: Likewise.
41983         * m4/printf.m4: Likewise.
41984         * m4/progtest.m4: Likewise.
41985         * m4/putenv.m4: Likewise.
41986         * m4/readline.m4: Likewise.
41987         * m4/readlink.m4: Likewise.
41988         * m4/readutmp.m4: Likewise.
41989         * m4/realloc.m4: Likewise.
41990         * m4/regex.m4: Likewise.
41991         * m4/relocatable.m4: Likewise.
41992         * m4/relocatable-lib.m4: Likewise.
41993         * m4/rename-dest-slash.m4: Likewise.
41994         * m4/rename.m4: Likewise.
41995         * m4/rmdir-errno.m4: Likewise.
41996         * m4/rmdir.m4: Likewise.
41997         * m4/roundf.m4: Likewise.
41998         * m4/roundl.m4: Likewise.
41999         * m4/rpmatch.m4: Likewise.
42000         * m4/save-cwd.m4: Likewise.
42001         * m4/selinux-selinux-h.m4: Likewise.
42002         * m4/setenv.m4: Likewise.
42003         * m4/settime.m4: Likewise.
42004         * m4/sig2str.m4: Likewise.
42005         * m4/sig_atomic_t.m4: Likewise.
42006         * m4/signalblocking.m4: Likewise.
42007         * m4/signbit.m4: Likewise.
42008         * m4/sigpipe.m4: Likewise.
42009         * m4/sockets.m4: Likewise.
42010         * m4/sockpfaf.m4: Likewise.
42011         * m4/st_dm_mode.m4: Likewise.
42012         * m4/stat-time.m4: Likewise.
42013         * m4/stdbool.m4: Likewise.
42014         * m4/stdint.m4: Likewise.
42015         * m4/stdint_h.m4: Likewise.
42016         * m4/stpcpy.m4: Likewise.
42017         * m4/stpncpy.m4: Likewise.
42018         * m4/strcase.m4: Likewise.
42019         * m4/strchrnul.m4: Likewise.
42020         * m4/strcspn.m4: Likewise.
42021         * m4/strdup.m4: Likewise.
42022         * m4/strftime.m4: Likewise.
42023         * m4/strndup.m4: Likewise.
42024         * m4/strnlen.m4: Likewise.
42025         * m4/strpbrk.m4: Likewise.
42026         * m4/strptime.m4: Likewise.
42027         * m4/strsep.m4: Likewise.
42028         * m4/strtod.m4: Likewise.
42029         * m4/strtoimax.m4: Likewise.
42030         * m4/strtok_r.m4: Likewise.
42031         * m4/strtol.m4: Likewise.
42032         * m4/strtoll.m4: Likewise.
42033         * m4/strtoul.m4: Likewise.
42034         * m4/strtoull.m4: Likewise.
42035         * m4/strtoumax.m4: Likewise.
42036         * m4/strverscmp.m4: Likewise.
42037         * m4/threadlib.m4: Likewise.
42038         * m4/timegm.m4: Likewise.
42039         * m4/tm_gmtoff.m4: Likewise.
42040         * m4/tmpdir.m4: Likewise.
42041         * m4/tmpfile.m4: Likewise.
42042         * m4/tzset.m4: Likewise.
42043         * m4/uintmax_t.m4: Likewise.
42044         * m4/unlinkdir.m4: Likewise.
42045         * m4/unlocked-io.m4: Likewise.
42046         * m4/uptime.m4: Likewise.
42047         * m4/userspec.m4: Likewise.
42048         * m4/utimbuf.m4: Likewise.
42049         * m4/utime.m4: Likewise.
42050         * m4/utimes-null.m4: Likewise.
42051         * m4/utimes.m4: Likewise.
42052         * m4/vararrays.m4: Likewise.
42053         * m4/vasnprintf.m4: Likewise.
42054         * m4/vfprintf-posix.m4: Likewise.
42055         * m4/vprintf-posix.m4: Likewise.
42056         * m4/wait-process.m4: Likewise.
42057         * m4/wchar_t.m4: Likewise.
42058         * m4/wint_t.m4: Likewise.
42059         * m4/write-any-file.m4: Likewise.
42060         * m4/yield.m4: Likewise.
42061
42062 2009-01-13  Bruno Haible  <bruno@clisp.org>
42063
42064         Avoid test-copy-file.sh failures when ACL support insufficient.
42065         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
42066         TESTS_ENVIRONMENT.
42067         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
42068         Reported by Jim Meyering.
42069
42070 2009-01-13  Bruno Haible  <bruno@clisp.org>
42071
42072         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
42073         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
42074         * modules/unistdio/u8-printf-parse (Files): Likewise.
42075         * modules/unistdio/u32-printf-parse (Files): Likewise.
42076         * modules/unistdio/ulc-printf-parse (Files): Likewise.
42077
42078 2009-01-13  Simon Josefsson  <simon@josefsson.org>
42079
42080         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
42081         and m4/inttypes_h.m4 too.
42082
42083 2009-01-12  Eric Blake  <ebb9@byu.net>
42084
42085         tests: IRIX 6.2 cc can't compile -0.0 into .data
42086         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
42087         rather than at compile-time.
42088         * tests/test-floorl.c (minus_zero): Likewise.
42089         * tests/test-frexpl.c (minus_zero): Likewise.
42090         * tests/test-isnan.c (minus_zerol): Likewise.
42091         * tests/test-isnanl.h (minus_zero): Likewise.
42092         * tests/test-ldexpl.c (minus_zero): Likewise.
42093         * tests/test-roundl.c (minus_zero): Likewise.
42094         * tests/test-signbit.c (minus_zerol): Likewise.
42095         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
42096         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
42097         * tests/test-truncl.c (minus_zero): Likewise.
42098         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
42099         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
42100         Reported by Tom G. Christensen and Nelson H. F. Beebe.
42101
42102 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42103
42104         regex: fix glibc bug 9697
42105         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
42106         handling.
42107
42108 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42109
42110         regex: fix glibc bug 697
42111         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
42112         being NULL also if there are no backreferences.
42113
42114 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
42115
42116         regex: merge glibc changes
42117         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
42118         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
42119         re_string_skip_chars, re_string_reconstruct): Likewise.
42120         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
42121
42122 2009-01-07  Jim Meyering  <meyering@redhat.com>
42123
42124         poll: filter through cppi
42125         * lib/poll.c: Indent cpp directives to reflect nesting.
42126
42127 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
42128
42129         poll: don't return uninitialized
42130         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
42131
42132 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
42133
42134         avoid compile failure on AIX 6.1
42135         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
42136         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
42137
42138 2009-01-04  Jim Meyering  <meyering@redhat.com>
42139
42140         remove duplicate inclusion of <stdio.h>
42141         * tests/test-fprintf-posix.c: Likewise.
42142         * tests/test-printf-posix.c: Likewise.
42143         * tests/test-snprintf-posix.c: Likewise.
42144         * tests/test-sprintf-posix.c: Likewise.
42145         * tests/test-vasprintf-posix.c: Likewise.
42146         * tests/test-vfprintf-posix.c: Likewise.
42147         * tests/test-vprintf-posix.c: Likewise.
42148         * tests/test-vsnprintf-posix.c: Likewise.
42149         * tests/test-vsprintf-posix.c: Likewise.
42150
42151 2009-01-03  Jim Meyering  <meyering@redhat.com>
42152
42153         gnulib-tool: fix sed-based filtering
42154         * gnulib-tool (func_filter_filelist): Remove extra backslash
42155         in sed_fff_filter definition.
42156
42157 2009-01-02  Jim Meyering  <meyering@redhat.com>
42158
42159         strftime: avoid compilation failure on Solaris 2.6
42160         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
42161         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
42162         Don't #define mbrlen or mbsinit, since now they're guaranteed to
42163         be available.  Reported by Tom G. Christensen.  Details in
42164         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
42165
42166 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42167             Bruno Haible  <bruno@clisp.org>
42168
42169         Speed up gnulib-tool by doing more string processing through shell
42170         built-ins.
42171         * gnulib-tool (fast_func_append): New variable.
42172         (func_remove_prefix, func_remove_suffix): New functions.
42173         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
42174         (func_filter_filelist): New function.
42175         (func_get_dependencies): Use func_remove_suffix instead of sed.
42176         (func_get_automake_snippet): Use func_filter_filelist instead of a
42177         subshell and sed invocation.
42178
42179 2009-01-01  Bruno Haible  <bruno@clisp.org>
42180
42181         Fix a security bug.
42182         * gnulib-tool (func_import, import, update): Don't allow the characters
42183         '"', '$', '`', '\' in macro arguments that become part of commands that
42184         are evaluated.
42185
42186 2009-01-01  Bruno Haible  <bruno@clisp.org>
42187
42188         * gnulib-tool (func_reset_sigpipe): Add more comments.
42189
42190 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42191
42192         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
42193         func_emit_tests_Makefile_am, func_import): Abort loops early if we
42194         already know the answer.
42195
42196 2009-01-01  Jim Meyering  <meyering@redhat.com>
42197
42198         * lib/version-etc.c (version_etc_va): Update copyright year.
42199
42200 2008-12-30  Bruno Haible  <bruno@clisp.org>
42201
42202         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
42203         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
42204         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
42205
42206 2008-12-29  Eric Blake  <ebb9@byu.net>
42207
42208         multiarch: avoid autoconf AC_REQUIRE bug
42209         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
42210         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
42211         2.63 and older.
42212         Reported by Bruno Haible, and analyzed in
42213         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
42214
42215 2008-12-29  Bruno Haible  <bruno@clisp.org>
42216
42217         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
42218         files in subdirectories correctly.
42219         Reported by Ralf Wildenhues.
42220
42221 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42222
42223         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
42224         rather than 'join FILE -', for Solaris join.
42225
42226 2008-12-29  Bruno Haible  <bruno@clisp.org>
42227
42228         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
42229         quoting.
42230         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
42231         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
42232         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
42233         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
42234         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
42235         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
42236         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
42237         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
42238         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
42239         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
42240         * m4/nls.m4 (AM_NLS): Likewise.
42241         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
42242         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
42243         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
42244         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
42245         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
42246         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
42247         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
42248         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
42249         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
42250         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
42251         * m4/xsize.m4 (gl_XSIZE): Likewise.
42252         Suggested by Jim Meyering.
42253
42254 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42255
42256         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
42257         * lib/parse-duration.c: use a switch instead of cascading if's.
42258
42259 2008-12-29  Eric Blake  <ebb9@byu.net>
42260
42261         wchar.h: supply WEOF on Irix 5.3
42262         * lib/wchar.in.h (wint_t): Also supply WEOF.
42263         * lib/wctype.in.h (wint_t): Likewise.
42264         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
42265         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
42266         Reported by Tom G. Christensen.
42267
42268 2008-12-26  Bruno Haible  <bruno@clisp.org>
42269
42270         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
42271         i486, i586, i686.
42272
42273 2008-12-26  Bruno Haible  <bruno@clisp.org>
42274
42275         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
42276
42277 2008-12-26  Bruno Haible  <bruno@clisp.org>
42278
42279         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
42280         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
42281         not __STDC_CONSTANT_MACROS.
42282         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
42283
42284 2008-12-25  Bruno Haible  <bruno@clisp.org>
42285
42286         Add support for universal builds to vasnprintf.
42287         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
42288         universal builds, guess no.
42289         * modules/vasnprintf-posix (Depends-on): Add multiarch.
42290         * modules/vasprintf-posix (Depends-on): Likewise.
42291         * modules/fprintf-posix (Depends-on): Likewise.
42292         * modules/vfprintf-posix (Depends-on): Likewise.
42293         * modules/snprintf-posix (Depends-on): Likewise.
42294         * modules/vsnprintf-posix (Depends-on): Likewise.
42295         * modules/sprintf-posix (Depends-on): Likewise.
42296         * modules/vsprintf-posix (Depends-on): Likewise.
42297         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42298         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42299         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42300         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42301         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42302         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42303         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42304
42305         Add support for universal builds to <inttypes.h>.
42306         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
42307         _SCNu64_PREFIX): In Apple
42308         universal builds, define directly, using _LP64.
42309         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
42310         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
42311         * modules/inttypes (Depends-on): Add multiarch.
42312         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42313
42314         Add support for universal builds to <stdint.h>.
42315         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
42316         universal builds, define directly, using _LP64.
42317         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
42318         Apple universal builds, don't test for the size and suffix of ptrdiff_t
42319         and size_t.
42320         * modules/stdint (Depends-on): Add multiarch.
42321         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
42322
42323         New module 'multiarch'.
42324         * modules/multiarch: New file.
42325         * m4/multiarch.m4: New file.
42326
42327 2008-12-25  Bruno Haible  <bruno@clisp.org>
42328
42329         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
42330
42331 2008-12-25  Bruno Haible  <bruno@clisp.org>
42332
42333         * modules/btowc (License): Relicense under LGPLv2+.
42334         * modules/mbsinit (License): Likewise.
42335         * modules/mbrtowc (License): Likewise.
42336         * modules/wcrtomb (License): Likewise.
42337         * modules/streq (License): Likewise.
42338         Reported by David Lutterkort <lutter@redhat.com>.
42339
42340 2008-12-23  Bruno Haible  <bruno@clisp.org>
42341
42342         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
42343
42344 2008-12-23  Bruno Haible  <bruno@clisp.org>
42345
42346         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
42347         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
42348         GETADDRINFO_LIB, not in LIBS.
42349         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
42350         * modules/canon-host (Link): Likewise.
42351         * NEWS: Mention the change.
42352         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
42353         GETADDRINFO_LIB.
42354
42355 2008-12-22  Bruno Haible  <bruno@clisp.org>
42356
42357         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
42358         * doc/posix-functions/iswalpha_l.texi: Likewise.
42359         * doc/posix-functions/iswblank_l.texi: Likewise.
42360         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42361         * doc/posix-functions/iswctype_l.texi: Likewise.
42362         * doc/posix-functions/iswdigit_l.texi: Likewise.
42363         * doc/posix-functions/iswgraph_l.texi: Likewise.
42364         * doc/posix-functions/iswlower_l.texi: Likewise.
42365         * doc/posix-functions/iswprint_l.texi: Likewise.
42366         * doc/posix-functions/iswpunct_l.texi: Likewise.
42367         * doc/posix-functions/iswspace_l.texi: Likewise.
42368         * doc/posix-functions/iswupper_l.texi: Likewise.
42369         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42370         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
42371         * doc/posix-functions/open_wmemstream.texi: Likewise.
42372         * doc/posix-functions/swscanf.texi: Likewise.
42373         * doc/posix-functions/towctrans_l.texi: Likewise.
42374         * doc/posix-functions/towlower.texi: Likewise.
42375         * doc/posix-functions/towlower_l.texi: Likewise.
42376         * doc/posix-functions/towupper.texi: Likewise.
42377         * doc/posix-functions/towupper_l.texi: Likewise.
42378         * doc/posix-functions/vfwprintf.texi: Likewise.
42379         * doc/posix-functions/vfwscanf.texi: Likewise.
42380         * doc/posix-functions/vswscanf.texi: Likewise.
42381         * doc/posix-functions/vwprintf.texi: Likewise.
42382         * doc/posix-functions/vwscanf.texi: Likewise.
42383         * doc/posix-functions/wcpcpy.texi: Likewise.
42384         * doc/posix-functions/wcpncpy.texi: Likewise.
42385         * doc/posix-functions/wcscasecmp.texi: Likewise.
42386         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
42387         * doc/posix-functions/wcscoll_l.texi: Likewise.
42388         * doc/posix-functions/wcsdup.texi: Likewise.
42389         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42390         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
42391         * doc/posix-functions/wcsnlen.texi: Likewise.
42392         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42393         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42394         * doc/posix-functions/wctrans_l.texi: Likewise.
42395         * doc/posix-functions/wctype_l.texi: Likewise.
42396         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
42397         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
42398         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
42399         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
42400         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
42401         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
42402         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
42403         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
42404         * doc/glibc-functions/wcschrnul.texi: Likewise.
42405         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42406         * doc/glibc-functions/wcstod_l.texi: Likewise.
42407         * doc/glibc-functions/wcstof_l.texi: Likewise.
42408         * doc/glibc-functions/wcstol_l.texi: Likewise.
42409         * doc/glibc-functions/wcstold_l.texi: Likewise.
42410         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42411         * doc/glibc-functions/wcstoq.texi: Likewise.
42412         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42413         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42414         * doc/glibc-functions/wcstouq.texi: Likewise.
42415         * doc/glibc-functions/wmempcpy.texi: Likewise.
42416
42417 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
42418             Eric Blake  <ebb9@byu.net>
42419             Paolo Bonzini  <bonzini@gnu.org>
42420             Bruno Haible  <bruno@clisp.org>
42421
42422         Make c-stack work on Haiku.
42423         * lib/c-stack.c (SA_ONSTACK): Define fallback.
42424         (c_stack_action): Use SA_ONSTACK flag.
42425
42426 2008-12-22  Bruno Haible  <bruno@clisp.org>
42427
42428         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
42429
42430 2008-12-22  Bruno Haible  <bruno@clisp.org>
42431
42432         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
42433         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
42434         being overridden.
42435         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
42436         New macros.
42437         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
42438         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
42439         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
42440         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
42441
42442 2008-12-22  Bruno Haible  <bruno@clisp.org>
42443
42444         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
42445         from test code.
42446
42447 2008-12-22  Eric Blake  <ebb9@byu.net>
42448
42449         Avoid gcc warnings on cygwin.
42450         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
42451         Avoid unused variable.
42452         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
42453         Likewise.
42454
42455 2008-12-22  Bruno Haible  <bruno@clisp.org>
42456
42457         Remove HAVE_MBRTOWC conditionals.
42458         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
42459         (mbscasecmp): Assume mbrtowc function.
42460         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
42461         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
42462         * lib/mbschr.c: Include mbuiter.h unconditionally.
42463         (mbschr): Assume mbrtowc function.
42464         * lib/mbscspn.c: Include mbuiter.h unconditionally.
42465         (mbscspn): Assume mbrtowc function.
42466         * lib/mbslen.c: Include mbuiter.h unconditionally.
42467         (mbslen): Assume mbrtowc function.
42468         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
42469         (mbsncasecmp): Assume mbrtowc function.
42470         * lib/mbsnlen.c: Include mbiter.h unconditionally.
42471         (mbsnlen): Assume mbrtowc function.
42472         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
42473         (mbspbrk): Assume mbrtowc function.
42474         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
42475         (mbspcasecmp): Assume mbrtowc function.
42476         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
42477         (mbsrchr): Assume mbrtowc function.
42478         * lib/mbssep.c: Include mbuiter.h unconditionally.
42479         (mbssep): Assume mbrtowc function.
42480         * lib/mbsspn.c: Include mbuiter.h unconditionally.
42481         (mbsspn): Assume mbrtowc function.
42482         * lib/mbsstr.c: Include mbuiter.h unconditionally.
42483         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
42484         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
42485         (mbstok_r): Assume mbrtowc function.
42486         * lib/propername.c: Include mbuiter.h unconditionally.
42487         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
42488         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
42489         (trim2): Assume mbrtowc function.
42490         * lib/mbswidth.c (mbsinit): Remove fallback definition.
42491         (mbsnwidth): Assume mbrtowc function.
42492         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
42493         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
42494         fallback definitions.
42495         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
42496
42497 2008-12-22  Bruno Haible  <bruno@clisp.org>
42498
42499         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
42500
42501 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
42502
42503         * modules/regex: Request emulations for the mb*/wc* functions we need.
42504         * m4/regex.m4: Don't look for those functions here.
42505         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
42506
42507 2008-12-22  Bruno Haible  <bruno@clisp.org>
42508
42509         * modules/fnmatch (Depends-on): Remove duplicated dependency.
42510
42511 2008-12-21  Bruno Haible  <bruno@clisp.org>
42512
42513         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
42514         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
42515         (Include): Remove conditionalization.
42516         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
42517         (Include): Remove conditionalization.
42518         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
42519         (Include): Remove conditionalization.
42520         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
42521         * m4/mbfile.m4 (gl_MBFILE): Likewise.
42522         * NEWS: Mention the change.
42523         Reported by Alan Hourihane <alanh@fairlite.co.uk>
42524         via Sergey Poznyakoff <gray@gnu.org.ua>.
42525
42526 2008-12-21  Bruno Haible  <bruno@clisp.org>
42527
42528         * MODULES.html.sh (Extended multibyte and wide character utilities
42529         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
42530         wcrtomb, wcsrtombs.
42531         (Support for systems lacking POSIX:2008): Add accept, bind, close,
42532         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
42533         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
42534         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
42535
42536 2008-12-21  Bruno Haible  <bruno@clisp.org>
42537
42538         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
42539
42540 2008-12-21  Bruno Haible  <bruno@clisp.org>
42541
42542         * modules/wcsnrtombs-tests: New file.
42543         * tests/test-wcsnrtombs1.sh: New file.
42544         * tests/test-wcsnrtombs2.sh: New file.
42545         * tests/test-wcsnrtombs3.sh: New file.
42546         * tests/test-wcsnrtombs4.sh: New file.
42547         * tests/test-wcsnrtombs.c: New file.
42548
42549         New module 'wcsnrtombs'.
42550         * lib/wchar.in.h (wcsnrtombs): New declaration.
42551         * lib/wcsnrtombs.c: New file.
42552         * lib/wcsrtombs-state.c: New file.
42553         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
42554         (internal_state): Remove variable.
42555         * m4/wcsnrtombs.m4: New file.
42556         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
42557         compilation units.
42558         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
42559         HAVE_WCSNRTOMBS.
42560         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
42561         HAVE_WCSNRTOMBS.
42562         * modules/wcsnrtombs: New file.
42563         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
42564         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
42565
42566 2008-12-21  Bruno Haible  <bruno@clisp.org>
42567
42568         * modules/wcsrtombs-tests: New file.
42569         * tests/test-wcsrtombs1.sh: New file.
42570         * tests/test-wcsrtombs2.sh: New file.
42571         * tests/test-wcsrtombs3.sh: New file.
42572         * tests/test-wcsrtombs4.sh: New file.
42573         * tests/test-wcsrtombs.c: New file.
42574
42575         New module 'wcsrtombs'.
42576         * lib/wchar.in.h (wcsrtombs): New declaration.
42577         * lib/wcsrtombs.c: New file.
42578         * m4/wcsrtombs.m4: New file.
42579         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
42580         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
42582         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
42583         * modules/wcsrtombs: New file.
42584         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
42585         bugs.
42586
42587 2008-12-21  Bruno Haible  <bruno@clisp.org>
42588
42589         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
42590         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
42591         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
42592         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
42593         if not correct.
42594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
42595         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
42596         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42597         m4/locale-zh.m4, m4/codeset.m4.
42598         * doc/posix-functions/wcrtomb.texi: Document the bug.
42599
42600 2008-12-21  Bruno Haible  <bruno@clisp.org>
42601
42602         Work around a btowc() bug on IRIX 6.5.
42603         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
42604         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
42605         REPLACE_WTOBC if not.
42606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
42607         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
42608         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
42609
42610 2008-12-21  Bruno Haible  <bruno@clisp.org>
42611
42612         * modules/wcrtomb-tests: New file.
42613         * tests/test-wcrtomb.sh: New file.
42614         * tests/test-wcrtomb.c: New file.
42615
42616         New module 'wcrtomb'.
42617         * lib/wchar.in.h (wcrtomb): New declaration.
42618         * lib/wcrtomb.c: New file.
42619         * m4/wcrtomb.m4: New file.
42620         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
42621         HAVE_WCRTOMB.
42622         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
42623         HAVE_WCRTOMB.
42624         * modules/wcrtomb: New file.
42625         * doc/posix-functions/wcrtomb.texi: Mention the new module.
42626
42627 2008-12-21  Bruno Haible  <bruno@clisp.org>
42628
42629         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
42630         * modules/mbsrtowcs (Files): Likewise.
42631         * modules/wctob (Files): Likewise.
42632         * modules/c-strcase-tests (Files): Likewise.
42633         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
42634         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
42635         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
42636         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
42637         * modules/vasnprintf-posix-tests (Files): Likewise.
42638
42639 2008-12-21  William Pursell  <bill.pursell@gmail.com>
42640
42641         gitlog-to-changelog: pass all command-line arguments to git-log
42642         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
42643         it is sometimes convenient to filter the commits in various ways.
42644         gitlog-to-changelog only allows --since to specify a start date,
42645         but git-log itself supports many other filtering mechanisms.
42646         At the moment, I want to filter by branch name.  Rather than
42647         adding a --branch option to gitlog-to-changelog, it seems more
42648         flexible to simply pass all options directly to git-log and let
42649         git do the work.  Notice that this effectively makes --since a
42650         redundant option for gitlog-to-changelog, but removing it would
42651         require current usage to change since calls would then require
42652         an additional '--'.
42653
42654 2008-12-21  Bruno Haible  <bruno@clisp.org>
42655
42656         * modules/mbsnrtowcs-tests: New file.
42657         * tests/test-mbsnrtowcs1.sh: New file.
42658         * tests/test-mbsnrtowcs2.sh: New file.
42659         * tests/test-mbsnrtowcs3.sh: New file.
42660         * tests/test-mbsnrtowcs4.sh: New file.
42661         * tests/test-mbsnrtowcs.c: New file.
42662
42663         New module 'mbsnrtowcs'.
42664         * lib/wchar.in.h (mbsnrtowcs): New declaration.
42665         * lib/mbsnrtowcs.c: New file.
42666         * lib/mbsrtowcs-state.c: New file.
42667         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
42668         (internal_state): Remove variable.
42669         * m4/mbsnrtowcs.m4: New file.
42670         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
42671         compilation units.
42672         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
42673         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42674         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
42675         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
42676         * modules/mbsnrtowcs: New file.
42677         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
42678         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
42679         portability problem.
42680
42681 2008-12-21  Bruno Haible  <bruno@clisp.org>
42682
42683         Work around mbsrtowcs bug.
42684         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
42685         (gl_FUNC_MBSRTOWCS): Invoke it.
42686         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42687         m4/locale-zh.m4.
42688         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
42689
42690 2008-12-21  Bruno Haible  <bruno@clisp.org>
42691
42692         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
42693
42694 2008-12-21  Bruno Haible  <bruno@clisp.org>
42695
42696         Update doc for AIX.
42697         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
42698         16-bit wchar_t type.
42699         * doc/posix-functions/btowc.texi: Likewise.
42700         * doc/posix-functions/fgetwc.texi: Likewise.
42701         * doc/posix-functions/fgetws.texi: Likewise.
42702         * doc/posix-functions/fputwc.texi: Likewise.
42703         * doc/posix-functions/fputws.texi: Likewise.
42704         * doc/posix-functions/fwide.texi: Likewise.
42705         * doc/posix-functions/fwprintf.texi: Likewise.
42706         * doc/posix-functions/fwscanf.texi: Likewise.
42707         * doc/posix-functions/getwchar.texi: Likewise.
42708         * doc/posix-functions/getwc.texi: Likewise.
42709         * doc/posix-functions/iswalnum.texi: Likewise.
42710         * doc/posix-functions/iswalpha.texi: Likewise.
42711         * doc/posix-functions/iswblank.texi: Likewise.
42712         * doc/posix-functions/iswcntrl.texi: Likewise.
42713         * doc/posix-functions/iswctype.texi: Likewise.
42714         * doc/posix-functions/iswdigit.texi: Likewise.
42715         * doc/posix-functions/iswgraph.texi: Likewise.
42716         * doc/posix-functions/iswlower.texi: Likewise.
42717         * doc/posix-functions/iswprint.texi: Likewise.
42718         * doc/posix-functions/iswpunct.texi: Likewise.
42719         * doc/posix-functions/iswspace.texi: Likewise.
42720         * doc/posix-functions/iswupper.texi: Likewise.
42721         * doc/posix-functions/iswxdigit.texi: Likewise.
42722         * doc/posix-functions/mbrtowc.texi: Likewise.
42723         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42724         * doc/posix-functions/mbstowcs.texi: Likewise.
42725         * doc/posix-functions/mbtowc.texi: Likewise.
42726         * doc/posix-functions/putwchar.texi: Likewise.
42727         * doc/posix-functions/putwc.texi: Likewise.
42728         * doc/posix-functions/swprintf.texi: Likewise.
42729         * doc/posix-functions/tolower.texi: Likewise.
42730         * doc/posix-functions/toupper.texi: Likewise.
42731         * doc/posix-functions/towctrans.texi: Likewise.
42732         * doc/posix-functions/ungetwc.texi: Likewise.
42733         * doc/posix-functions/vswprintf.texi: Likewise.
42734         * doc/posix-functions/wcrtomb.texi: Likewise.
42735         * doc/posix-functions/wcscat.texi: Likewise.
42736         * doc/posix-functions/wcschr.texi: Likewise.
42737         * doc/posix-functions/wcscmp.texi: Likewise.
42738         * doc/posix-functions/wcscoll.texi: Likewise.
42739         * doc/posix-functions/wcscpy.texi: Likewise.
42740         * doc/posix-functions/wcscspn.texi: Likewise.
42741         * doc/posix-functions/wcsftime.texi: Likewise.
42742         * doc/posix-functions/wcslen.texi: Likewise.
42743         * doc/posix-functions/wcsncat.texi: Likewise.
42744         * doc/posix-functions/wcsncmp.texi: Likewise.
42745         * doc/posix-functions/wcsncpy.texi: Likewise.
42746         * doc/posix-functions/wcspbrk.texi: Likewise.
42747         * doc/posix-functions/wcsrchr.texi: Likewise.
42748         * doc/posix-functions/wcsrtombs.texi: Likewise.
42749         * doc/posix-functions/wcsspn.texi: Likewise.
42750         * doc/posix-functions/wcsstr.texi: Likewise.
42751         * doc/posix-functions/wcstod.texi: Likewise.
42752         * doc/posix-functions/wcstof.texi: Likewise.
42753         * doc/posix-functions/wcstoimax.texi: Likewise.
42754         * doc/posix-functions/wcstok.texi: Likewise.
42755         * doc/posix-functions/wcstold.texi: Likewise.
42756         * doc/posix-functions/wcstoll.texi: Likewise.
42757         * doc/posix-functions/wcstol.texi: Likewise.
42758         * doc/posix-functions/wcstombs.texi: Likewise.
42759         * doc/posix-functions/wcstoull.texi: Likewise.
42760         * doc/posix-functions/wcstoul.texi: Likewise.
42761         * doc/posix-functions/wcstoumax.texi: Likewise.
42762         * doc/posix-functions/wcswidth.texi: Likewise.
42763         * doc/posix-functions/wcsxfrm.texi: Likewise.
42764         * doc/posix-functions/wctob.texi: Likewise.
42765         * doc/posix-functions/wctomb.texi: Likewise.
42766         * doc/posix-functions/wctrans.texi: Likewise.
42767         * doc/posix-functions/wctype.texi: Likewise.
42768         * doc/posix-functions/wcwidth.texi: Likewise.
42769         * doc/posix-functions/wmemchr.texi: Likewise.
42770         * doc/posix-functions/wmemcmp.texi: Likewise.
42771         * doc/posix-functions/wmemcpy.texi: Likewise.
42772         * doc/posix-functions/wmemmove.texi: Likewise.
42773         * doc/posix-functions/wmemset.texi: Likewise.
42774         * doc/posix-functions/wprintf.texi: Likewise.
42775         * doc/posix-functions/wscanf.texi: Likewise.
42776
42777 2008-12-21  Bruno Haible  <bruno@clisp.org>
42778
42779         Update doc for HP-UX 11.11.
42780         * doc/posix-functions/btowc.texi: Clarify that the function is missing
42781         in HP-UX version 11.00, not in all versions of HP-UX 11.
42782         * doc/posix-functions/fwide.texi: Likewise.
42783         * doc/posix-functions/fwprintf.texi: Likewise.
42784         * doc/posix-functions/fwscanf.texi: Likewise.
42785         * doc/posix-functions/inet_ntop.texi: Likewise.
42786         * doc/posix-functions/inet_pton.texi: Likewise.
42787         * doc/posix-functions/mbrlen.texi: Likewise.
42788         * doc/posix-functions/mbrtowc.texi: Likewise.
42789         * doc/posix-functions/mbsinit.texi: Likewise.
42790         * doc/posix-functions/mbsrtowcs.texi: Likewise.
42791         * doc/posix-functions/swprintf.texi: Likewise.
42792         * doc/posix-functions/swscanf.texi: Likewise.
42793         * doc/posix-functions/towctrans.texi: Likewise.
42794         * doc/posix-functions/vfwprintf.texi: Likewise.
42795         * doc/posix-functions/vswprintf.texi: Likewise.
42796         * doc/posix-functions/vwprintf.texi: Likewise.
42797         * doc/posix-functions/wcrtomb.texi: Likewise.
42798         * doc/posix-functions/wcsrtombs.texi: Likewise.
42799         * doc/posix-functions/wcsstr.texi: Likewise.
42800         * doc/posix-functions/wctob.texi: Likewise.
42801         * doc/posix-functions/wctrans.texi: Likewise.
42802         * doc/posix-functions/wmemchr.texi: Likewise.
42803         * doc/posix-functions/wmemcmp.texi: Likewise.
42804         * doc/posix-functions/wmemcpy.texi: Likewise.
42805         * doc/posix-functions/wmemmove.texi: Likewise.
42806         * doc/posix-functions/wmemset.texi: Likewise.
42807         * doc/posix-functions/wprintf.texi: Likewise.
42808         * doc/posix-functions/wscanf.texi: Likewise.
42809
42810 2008-12-21  Bruno Haible  <bruno@clisp.org>
42811
42812         Work around a portability problem.
42813         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
42814         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
42815
42816 2008-12-20  Bruno Haible  <bruno@clisp.org>
42817
42818         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
42819         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
42820         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
42821         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
42822         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
42823
42824         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
42825         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
42826         set.
42827         (GNULIB_defined_mbstate_t): New macro.
42828         (mbsinit): Redefine if REPLACE_MBSINIT is set.
42829         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
42830         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
42831         reuses the system's mbrtowc function but works around the bugs.
42832         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
42833         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
42834         macros.
42835         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
42836         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
42837         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
42838         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
42839         REPLACE_MBSINIT if mbsinit needs to be overridden.
42840         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
42841         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42842         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
42843         REPLACE_MBSINIT, REPLACE_MBRTOWC.
42844         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
42845         m4/locale-zh.m4.
42846         (Depends): Add mbsinit.
42847         * modules/mbsinit (Depends): Add mbrtowc.
42848         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
42849
42850 2008-12-20  Bruno Haible  <bruno@clisp.org>
42851
42852         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
42853         so that there are no conversion errors on AIX.
42854         * tests/test-mbsrtowcs.c (main): LIkewise.
42855
42856 2008-12-20  Bruno Haible  <bruno@clisp.org>
42857
42858         Work around wctob bug on Solaris <= 9.
42859         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
42860         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
42861         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
42862         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
42863         * modules/wctob (Files): Add m4/locale-fr.m4.
42864         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
42865
42866 2008-12-20  Bruno Haible  <bruno@clisp.org>
42867
42868         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
42869         /dev/null.
42870         * tests/test-select-in.sh: Likewise.
42871         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42872
42873 2008-12-20  Bruno Haible  <bruno@clisp.org>
42874
42875         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
42876         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
42877         Cygwin 1.5.x.
42878
42879 2008-12-20  Bruno Haible  <bruno@clisp.org>
42880
42881         Ensure mbstate_t is defined on HP-UX 11.11.
42882         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
42883         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
42884         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
42885         AC_USE_SYSTEM_EXTENSIONS.
42886         * modules/fnmatch (Depends-on): Add extensions.
42887         * modules/mbrlen (Depends-on): Likewise.
42888         * modules/mbrtowc (Depends-on): Likewise.
42889         * modules/mbsinit (Depends-on): Likewise.
42890         * modules/mbsrtowcs (Depends-on): Likewise.
42891         * modules/mbswidth (Depends-on): Likewise.
42892         * modules/quotearg (Depends-on): Likewise.
42893         * modules/strftime (Depends-on): Likewise.
42894
42895 2008-12-20  Bruno Haible  <bruno@clisp.org>
42896
42897         Ensure wctob is declared on IRIX 6.5.
42898         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
42899         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
42900         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
42901         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
42902         of HAVE_WCTOB.
42903         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
42904         HAVE_WCTOB.
42905         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
42906
42907 2008-12-19  Bruno Haible  <bruno@clisp.org>
42908
42909         * modules/mbsrtowcs-tests: New file.
42910         * tests/test-mbsrtowcs1.sh: New file.
42911         * tests/test-mbsrtowcs2.sh: New file.
42912         * tests/test-mbsrtowcs3.sh: New file.
42913         * tests/test-mbsrtowcs4.sh: New file.
42914         * tests/test-mbsrtowcs.c: New file.
42915
42916         New module 'mbsrtowcs'.
42917         * lib/wchar.in.h (mbsrtowcs): New declaration.
42918         * lib/mbsrtowcs.c: New file.
42919         * m4/mbsrtowcs.m4: New file.
42920         * modules/mbsrtowcs: New file.
42921         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
42922         HAVE_MBSRTOWCS.
42923         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
42924         HAVE_MBSRTOWCS.
42925         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
42926
42927 2008-12-19  Bruno Haible  <bruno@clisp.org>
42928
42929         New module 'mbrlen'.
42930         * lib/wchar.in.h (mbrlen): New declaration.
42931         * lib/mbrlen.c: New file.
42932         * m4/mbrlen.m4: New file.
42933         * modules/mbrlen: New file.
42934         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
42935         HAVE_MBRLEN.
42936         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
42937         HAVE_MBRLEN.
42938         * doc/posix-functions/mbrlen.texi: Document the new module.
42939
42940 2008-12-19  Bruno Haible  <bruno@clisp.org>
42941
42942         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
42943         * modules/mbrtowc (Depends-on): Add verify.
42944         Suggested by Paul Eggert.
42945
42946 2008-12-18  Bruno Haible  <bruno@clisp.org>
42947
42948         * modules/mbsinit-tests: New file.
42949         * tests/test-mbsinit.sh: New file.
42950         * tests/test-mbsinit.c: New file.
42951
42952 2008-12-18  Bruno Haible  <bruno@clisp.org>
42953
42954         * modules/mbrtowc-tests: New file.
42955         * tests/test-mbrtowc1.sh: New file.
42956         * tests/test-mbrtowc2.sh: New file.
42957         * tests/test-mbrtowc3.sh: New file.
42958         * tests/test-mbrtowc4.sh: New file.
42959         * tests/test-mbrtowc.c: New file.
42960
42961         New module 'mbrtowc'.
42962         * lib/wchar.in.h (mbstate_t): Override when the system does not have
42963         mbsinit and mbrtowc.
42964         (mbrtowc): New declaration.
42965         * lib/mbrtowc.c: New file.
42966         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
42967         * modules/mbrtowc: New file.
42968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
42969         HAVE_MBRTOWC.
42970         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
42971         HAVE_MBRTOWC.
42972         * doc/posix-functions/mbrtowc.texi: Document the new module.
42973
42974 2008-12-18  Bruno Haible  <bruno@clisp.org>
42975
42976         New module 'wctob'.
42977         * lib/wchar.in.h (wctob): New declaration.
42978         * lib/wctob.c: New file.
42979         * m4/wctob.m4: New file.
42980         * modules/wctob: New file.
42981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
42982         HAVE_WCTOB.
42983         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
42984         * doc/posix-functions/wctob.texi: Document the new module.
42985
42986 2008-12-18  Bruno Haible  <bruno@clisp.org>
42987
42988         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
42989         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
42990
42991 2008-12-18  Simon Josefsson  <simon@josefsson.org>
42992
42993         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
42994         G. Christensen" <tgc@jupiterrise.com>.
42995
42996         * lib/flock.c: Need to include errno.h.  Reported by "Tom
42997         G. Christensen" <tgc@jupiterrise.com>.
42998
42999         * lib/flock.c: Need to include string.h.  Reported by "Tom
43000         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
43001         <ebb9@byu.net>.
43002
43003 2008-12-18  Bruno Haible  <bruno@clisp.org>
43004
43005         * m4/locale-ja.m4: New file, from GNU gettext.
43006
43007 2008-12-17  Bruno Haible  <bruno@clisp.org>
43008
43009         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
43010         Suggested by Eric Blake.
43011
43012 2008-12-17  Bruno Haible  <bruno@clisp.org>
43013
43014         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
43015
43016 2008-12-17  Bruno Haible  <bruno@clisp.org>
43017
43018         * lib/mbsinit.c: Include verify.h. Verify an assumption.
43019         * modules/mbsinit (Depends-on): Add verify.
43020         Suggested by Paul Eggert.
43021
43022 2008-12-17  Bruno Haible  <bruno@clisp.org>
43023
43024         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
43025         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
43026         gl_FUNC_MBRTOWC.
43027         * m4/mbiter.m4 (gl_MBITER): LIkewise.
43028         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
43029         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
43030         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
43031         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
43032         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
43033         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
43034         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
43035         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
43036         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
43037         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
43038         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
43039         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
43040         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
43041         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
43042         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43043         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
43044         * modules/trim (configure.ac): Likewise.
43045
43046 2008-12-17  Bruno Haible  <bruno@clisp.org>
43047
43048         * modules/btowc-tests: New file.
43049         * tests/test-btowc1.sh: New file.
43050         * tests/test-btowc2.sh: New file.
43051         * tests/test-btowc.c: New file.
43052
43053         New module 'btowc'.
43054         * lib/wchar.in.h (btowc): New declaration.
43055         * lib/btowc.c: New file.
43056         * m4/btowc.m4: New file.
43057         * modules/btowc: New file.
43058         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
43059         HAVE_BTOWC.
43060         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
43061         * doc/posix-functions/btowc.texi: Document the new module.
43062
43063 2008-12-17  Bruno Haible  <bruno@clisp.org>
43064
43065         New module 'mbsinit'.
43066         * lib/wchar.in.h (mbsinit): New declaration.
43067         * lib/mbsinit.c: New file.
43068         * m4/mbsinit.m4: New file.
43069         * modules/mbsinit: New file.
43070         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
43071         HAVE_MBSINIT.
43072         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
43073         HAVE_MBSINIT.
43074         * doc/posix-functions/mbsinit.texi: Document the new module.
43075
43076 2008-12-16  Bruno Haible  <bruno@clisp.org>
43077
43078         * lib/unistd.in.h: Add comment.
43079         * tests/test-environ.c: Don't include <stdlib.h>.
43080
43081 2008-12-16  Bruno Haible  <bruno@clisp.org>
43082
43083         * lib/parse-duration.h (parse_duration): Document return value
43084         convention.
43085         * lib/parse-duration.c: Include specification header first. Add
43086         comments.
43087         (_): Remove macro.
43088         (parse_year_month_day, parse_hour_minute_second): Move side effects
43089         outside of strchr call.
43090         (parse_non_iso8601): Move side effects outside of isspace call.
43091         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
43092         call.
43093
43094 2008-12-16  Bruno Haible  <bruno@clisp.org>
43095
43096         * tests/test-parse-duration.sh: Produce no output when the test
43097         succeeds.
43098
43099 2008-12-16  Bruno Haible  <bruno@clisp.org>
43100
43101         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
43102         expressions.
43103
43104 2008-12-15  Bruno Haible  <bruno@clisp.org>
43105
43106         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
43107         * doc/glibc-functions/flistxattr.texi: Likewise.
43108         * doc/glibc-functions/fopencookie.texi: Likewise.
43109         * doc/glibc-functions/fremovexattr.texi: Likewise.
43110         * doc/glibc-functions/fsetxattr.texi: Likewise.
43111         * doc/glibc-functions/getxattr.texi: Likewise.
43112         * doc/glibc-functions/lgetxattr.texi: Likewise.
43113         * doc/glibc-functions/listxattr.texi: Likewise.
43114         * doc/glibc-functions/llistxattr.texi: Likewise.
43115         * doc/glibc-functions/lremovexattr.texi: Likewise.
43116         * doc/glibc-functions/lsetxattr.texi: Likewise.
43117         * doc/glibc-functions/removexattr.texi: Likewise.
43118         * doc/glibc-functions/setxattr.texi: Likewise.
43119         * doc/posix-functions/open_memstream.texi: Likewise.
43120
43121 2008-12-15  Eric Blake  <ebb9@byu.net>
43122
43123         Update doc for cygwin 1.7.
43124         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
43125         functions.
43126         * doc/posix-functions/fchmodat.texi: Likewise.
43127         * doc/posix-functions/fchownat.texi: Likewise.
43128         * doc/posix-functions/fdopendir.texi: Likewise.
43129         * doc/posix-functions/fmemopen.texi: Likewise.
43130         * doc/posix-functions/freeaddrinfo.texi: Likewise.
43131         * doc/posix-functions/fstatat.texi: Likewise.
43132         * doc/posix-functions/futimens.texi: Likewise.
43133         * doc/posix-functions/gai_strerror.texi: Likewise.
43134         * doc/posix-functions/getaddrinfo.texi: Likewise.
43135         * doc/posix-functions/getnameinfo.texi: Likewise.
43136         * doc/posix-functions/if_freenameindex.texi: Likewise.
43137         * doc/posix-functions/if_indextoname.texi: Likewise.
43138         * doc/posix-functions/if_nameindex.texi: Likewise.
43139         * doc/posix-functions/if_nametoindex.texi: Likewise.
43140         * doc/posix-functions/insque.texi: Likewise.
43141         * doc/posix-functions/linkat.texi: Likewise.
43142         * doc/posix-functions/llrint.texi: Likewise.
43143         * doc/posix-functions/llrintf.texi: Likewise.
43144         * doc/posix-functions/llrintl.texi: Likewise.
43145         * doc/posix-functions/lockf.texi: Likewise.
43146         * doc/posix-functions/lrintl.texi: Likewise.
43147         * doc/posix-functions/mkdirat.texi: Likewise.
43148         * doc/posix-functions/mkfifoat.texi: Likewise.
43149         * doc/posix-functions/mknodat.texi: Likewise.
43150         * doc/posix-functions/mq_close.texi: Likewise.
43151         * doc/posix-functions/mq_getattr.texi: Likewise.
43152         * doc/posix-functions/mq_notify.texi: Likewise.
43153         * doc/posix-functions/mq_open.texi: Likewise.
43154         * doc/posix-functions/mq_receive.texi: Likewise.
43155         * doc/posix-functions/mq_send.texi: Likewise.
43156         * doc/posix-functions/mq_setattr.texi: Likewise.
43157         * doc/posix-functions/mq_timedreceive.texi: Likewise.
43158         * doc/posix-functions/mq_timedsend.texi: Likewise.
43159         * doc/posix-functions/mq_unlink.texi: Likewise.
43160         * doc/posix-functions/open_memstream.texi: Likewise.
43161         * doc/posix-functions/openat.texi: Likewise.
43162         * doc/posix-functions/posix_fadvise.texi: Likewise.
43163         * doc/posix-functions/posix_fallocate.texi: Likewise.
43164         * doc/posix-functions/posix_madvise.texi: Likewise.
43165         * doc/posix-functions/posix_memalign.texi: Likewise.
43166         * doc/posix-functions/posix_openpt.texi: Likewise.
43167         * doc/posix-functions/readlinkat.texi: Likewise.
43168         * doc/posix-functions/remque.texi: Likewise.
43169         * doc/posix-functions/renameat.texi: Likewise.
43170         * doc/posix-functions/rintl.texi: Likewise.
43171         * doc/posix-functions/sem_unlink.texi: Likewise.
43172         * doc/posix-functions/shm_open.texi: Likewise.
43173         * doc/posix-functions/shm_unlink.texi: Likewise.
43174         * doc/posix-functions/signgam.texi: Likewise.
43175         * doc/posix-functions/sigset.texi: Likewise.
43176         * doc/posix-functions/stpcpy.texi: Likewise.
43177         * doc/posix-functions/stpncpy.texi: Likewise.
43178         * doc/posix-functions/strerror.texi: Likewise.
43179         * doc/posix-functions/strtod.texi: Likewise.
43180         * doc/posix-functions/symlinkat.texi: Likewise.
43181         * doc/posix-functions/unlinkat.texi: Likewise.
43182         * doc/posix-functions/utimensat.texi: Likewise.
43183         * doc/glibc-functions/bindresvport.texi: Likewise.
43184         * doc/glibc-functions/dn_expand.texi: Likewise.
43185         * doc/glibc-functions/exp10.texi: Likewise.
43186         * doc/glibc-functions/exp10f.texi: Likewise.
43187         * doc/glibc-functions/fgetxattr.texi: Likewise.
43188         * doc/glibc-functions/flistxattr.texi: Likewise.
43189         * doc/glibc-functions/fopencookie.texi: Likewise.
43190         * doc/glibc-functions/freeifaddrs.texi: Likewise.
43191         * doc/glibc-functions/fremovexattr.texi: Likewise.
43192         * doc/glibc-functions/fsetxattr.texi: Likewise.
43193         * doc/glibc-functions/getifaddrs.texi: Likewise.
43194         * doc/glibc-functions/getxattr.texi: Likewise.
43195         * doc/glibc-functions/lgetxattr.texi: Likewise.
43196         * doc/glibc-functions/listxattr.texi: Likewise.
43197         * doc/glibc-functions/llistxattr.texi: Likewise.
43198         * doc/glibc-functions/lremovexattr.texi: Likewise.
43199         * doc/glibc-functions/lsetxattr.texi: Likewise.
43200         * doc/glibc-functions/pow10.texi: Likewise.
43201         * doc/glibc-functions/pow10f.texi: Likewise.
43202         * doc/glibc-functions/rcmd_af.texi: Likewise.
43203         * doc/glibc-functions/removexattr.texi: Likewise.
43204         * doc/glibc-functions/res_init.texi: Likewise.
43205         * doc/glibc-functions/res_mkquery.texi: Likewise.
43206         * doc/glibc-functions/res_query.texi: Likewise.
43207         * doc/glibc-functions/res_querydomain.texi: Likewise.
43208         * doc/glibc-functions/res_send.texi: Likewise.
43209         * doc/glibc-functions/rresvport_af.texi: Likewise.
43210         * doc/glibc-functions/setxattr.texi: Likewise.
43211         * doc/glibc-functions/strcasestr.texi: Likewise.
43212
43213 2008-12-15  Bruno Haible  <bruno@clisp.org>
43214
43215         Fix compilation error on OSF/1 4.0.
43216         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
43217         <sys/time.h>, simply delegate to the system header.
43218         Reported by Daniel Richard G. <oss@teragram.com>.
43219
43220 2008-12-15  Bruno Haible  <bruno@clisp.org>
43221
43222         * doc/posix-functions/openat.texi: Mention the 'openat' module.
43223         * doc/posix-functions/fchmodat.texi: Likewise.
43224         * doc/posix-functions/fchownat.texi: Likewise.
43225         * doc/posix-functions/fdopendir.texi: Likewise.
43226         * doc/posix-functions/fstatat.texi: Likewise.
43227         * doc/posix-functions/mkdirat.texi: Likewise.
43228         * doc/posix-functions/unlinkat.texi: Likewise.
43229
43230 2008-12-14  Bruno Haible  <bruno@clisp.org>
43231
43232         Update doc for POSIX:2008.
43233         * doc/posix-functions/faccessat.texi: New file.
43234         * doc/posix-functions/fchmodat.texi: New file.
43235         * doc/posix-functions/fchownat.texi: New file.
43236         * doc/posix-functions/fdopendir.texi: New file.
43237         * doc/posix-functions/fstatat.texi: New file.
43238         * doc/posix-functions/futimens.texi: New file.
43239         * doc/posix-functions/linkat.texi: New file.
43240         * doc/posix-functions/mkdirat.texi: New file.
43241         * doc/posix-functions/mkfifoat.texi: New file.
43242         * doc/posix-functions/mknodat.texi: New file.
43243         * doc/posix-functions/open_wmemstream.texi: New file.
43244         * doc/posix-functions/openat.texi: New file.
43245         * doc/posix-functions/psiginfo.texi: New file.
43246         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
43247         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
43248         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
43249         * doc/posix-functions/readlinkat.texi: New file.
43250         * doc/posix-functions/renameat.texi: New file.
43251         * doc/posix-functions/strerror_l.texi: New file.
43252         * doc/posix-functions/symlinkat.texi: New file.
43253         * doc/posix-functions/unlinkat.texi: New file.
43254         * doc/posix-functions/utimensat.texi: New file.
43255         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43256
43257 2008-12-14  Bruno Haible  <bruno@clisp.org>
43258
43259         Update doc for POSIX:2008.
43260         * doc/posix-functions/alphasort.texi: Renamed from
43261         doc/glibc-functions/alphasort.texi.
43262         * doc/posix-functions/dirfd.texi: Renamed from
43263         doc/glibc-functions/dirfd.texi.
43264         * doc/posix-functions/dprintf.texi: Renamed from
43265         doc/glibc-functions/dprintf.texi.
43266         * doc/posix-functions/duplocale.texi: Renamed from
43267         doc/glibc-functions/duplocale.texi.
43268         * doc/posix-functions/fexecve.texi: Renamed from
43269         doc/glibc-functions/fexecve.texi.
43270         * doc/posix-functions/fmemopen.texi: Renamed from
43271         doc/glibc-functions/fmemopen.texi.
43272         * doc/posix-functions/freelocale.texi: Renamed from
43273         doc/glibc-functions/freelocale.texi.
43274         * doc/posix-functions/getdate_err.texi: Renamed from
43275         doc/glibc-functions/getdate_err.texi.
43276         * doc/posix-functions/isalnum_l.texi: Renamed from
43277         doc/glibc-functions/isalnum_l.texi.
43278         * doc/posix-functions/isalpha_l.texi: Renamed from
43279         doc/glibc-functions/isalpha_l.texi.
43280         * doc/posix-functions/isblank_l.texi: Renamed from
43281         doc/glibc-functions/isblank_l.texi.
43282         * doc/posix-functions/iscntrl_l.texi: Renamed from
43283         doc/glibc-functions/iscntrl_l.texi.
43284         * doc/posix-functions/isdigit_l.texi: Renamed from
43285         doc/glibc-functions/isdigit_l.texi.
43286         * doc/posix-functions/isgraph_l.texi: Renamed from
43287         doc/glibc-functions/isgraph_l.texi.
43288         * doc/posix-functions/islower_l.texi: Renamed from
43289         doc/glibc-functions/islower_l.texi.
43290         * doc/posix-functions/isprint_l.texi: Renamed from
43291         doc/glibc-functions/isprint_l.texi.
43292         * doc/posix-functions/ispunct_l.texi: Renamed from
43293         doc/glibc-functions/ispunct_l.texi.
43294         * doc/posix-functions/isspace_l.texi: Renamed from
43295         doc/glibc-functions/isspace_l.texi.
43296         * doc/posix-functions/isupper_l.texi: Renamed from
43297         doc/glibc-functions/isupper_l.texi.
43298         * doc/posix-functions/iswalnum_l.texi: Renamed from
43299         doc/glibc-functions/iswalnum_l.texi.
43300         * doc/posix-functions/iswalpha_l.texi: Renamed from
43301         doc/glibc-functions/iswalpha_l.texi.
43302         * doc/posix-functions/iswblank_l.texi: Renamed from
43303         doc/glibc-functions/iswblank_l.texi.
43304         * doc/posix-functions/iswcntrl_l.texi: Renamed from
43305         doc/glibc-functions/iswcntrl_l.texi.
43306         * doc/posix-functions/iswctype_l.texi: Renamed from
43307         doc/glibc-functions/iswctype_l.texi.
43308         * doc/posix-functions/iswdigit_l.texi: Renamed from
43309         doc/glibc-functions/iswdigit_l.texi.
43310         * doc/posix-functions/iswgraph_l.texi: Renamed from
43311         doc/glibc-functions/iswgraph_l.texi.
43312         * doc/posix-functions/iswlower_l.texi: Renamed from
43313         doc/glibc-functions/iswlower_l.texi.
43314         * doc/posix-functions/iswprint_l.texi: Renamed from
43315         doc/glibc-functions/iswprint_l.texi.
43316         * doc/posix-functions/iswpunct_l.texi: Renamed from
43317         doc/glibc-functions/iswpunct_l.texi.
43318         * doc/posix-functions/iswspace_l.texi: Renamed from
43319         doc/glibc-functions/iswspace_l.texi.
43320         * doc/posix-functions/iswupper_l.texi: Renamed from
43321         doc/glibc-functions/iswupper_l.texi.
43322         * doc/posix-functions/iswxdigit_l.texi: Renamed from
43323         doc/glibc-functions/iswxdigit_l.texi.
43324         * doc/posix-functions/isxdigit_l.texi: Renamed from
43325         doc/glibc-functions/isxdigit_l.texi.
43326         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
43327         doc/glibc-functions/mbsnrtowcs.texi.
43328         * doc/posix-functions/mkdtemp.texi: Renamed from
43329         doc/glibc-functions/mkdtemp.texi.
43330         * doc/posix-functions/newlocale.texi: Renamed from
43331         doc/glibc-functions/newlocale.texi.
43332         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
43333         doc/glibc-functions/nl_langinfo_l.texi.
43334         * doc/posix-functions/open_memstream.texi: Renamed from
43335         doc/glibc-functions/open_memstream.texi.
43336         * doc/posix-functions/opterr.texi: Renamed from
43337         doc/glibc-functions/opterr.texi.
43338         * doc/posix-functions/optind.texi: Renamed from
43339         doc/glibc-functions/optind.texi.
43340         * doc/posix-functions/optopt.texi: Renamed from
43341         doc/glibc-functions/optopt.texi.
43342         * doc/posix-functions/psignal.texi: Renamed from
43343         doc/glibc-functions/psignal.texi.
43344         * doc/posix-functions/scandir.texi: Renamed from
43345         doc/glibc-functions/scandir.texi.
43346         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
43347         doc/glibc-functions/sched_get_priority_min.texi.
43348         * doc/posix-functions/signgam.texi: Renamed from
43349         doc/glibc-functions/signgam.texi.
43350         * doc/posix-functions/stpcpy.texi: Renamed from
43351         doc/glibc-functions/stpcpy.texi.
43352         * doc/posix-functions/stpncpy.texi: Renamed from
43353         doc/glibc-functions/stpncpy.texi.
43354         * doc/posix-functions/strcasecmp_l.texi: Renamed from
43355         doc/glibc-functions/strcasecmp_l.texi.
43356         * doc/posix-functions/strcoll_l.texi: Renamed from
43357         doc/glibc-functions/strcoll_l.texi.
43358         * doc/posix-functions/strfmon_l.texi: Renamed from
43359         doc/glibc-functions/strfmon_l.texi.
43360         * doc/posix-functions/strftime_l.texi: Renamed from
43361         doc/glibc-functions/strftime_l.texi.
43362         * doc/posix-functions/strncasecmp_l.texi: Renamed from
43363         doc/glibc-functions/strncasecmp_l.texi.
43364         * doc/posix-functions/strndup.texi: Renamed from
43365         doc/glibc-functions/strndup.texi.
43366         * doc/posix-functions/strnlen.texi: Renamed from
43367         doc/glibc-functions/strnlen.texi.
43368         * doc/posix-functions/strsignal.texi: Renamed from
43369         doc/glibc-functions/strsignal.texi.
43370         * doc/posix-functions/strxfrm_l.texi: Renamed from
43371         doc/glibc-functions/strxfrm_l.texi.
43372         * doc/posix-functions/timer_gettime.texi: Renamed from
43373         doc/glibc-functions/timer_gettime.texi.
43374         * doc/posix-functions/tolower_l.texi: Renamed from
43375         doc/glibc-functions/tolower_l.texi.
43376         * doc/posix-functions/toupper_l.texi: Renamed from
43377         doc/glibc-functions/toupper_l.texi.
43378         * doc/posix-functions/towctrans_l.texi: Renamed from
43379         doc/glibc-functions/towctrans_l.texi.
43380         * doc/posix-functions/towlower_l.texi: Renamed from
43381         doc/glibc-functions/towlower_l.texi.
43382         * doc/posix-functions/towupper_l.texi: Renamed from
43383         doc/glibc-functions/towupper_l.texi.
43384         * doc/posix-functions/uselocale.texi: Renamed from
43385         doc/glibc-functions/uselocale.texi.
43386         * doc/posix-functions/vdprintf.texi: Renamed from
43387         doc/glibc-functions/vdprintf.texi.
43388         * doc/posix-functions/wcpcpy.texi:
43389         Renamed from doc/glibc-functions/wcpcpy.texi.
43390         * doc/posix-functions/wcpncpy.texi: Renamed from
43391         doc/glibc-functions/wcpncpy.texi.
43392         * doc/posix-functions/wcscasecmp.texi: Renamed from
43393         doc/glibc-functions/wcscasecmp.texi.
43394         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
43395         doc/glibc-functions/wcscasecmp_l.texi.
43396         * doc/posix-functions/wcscoll_l.texi: Renamed from
43397         doc/glibc-functions/wcscoll_l.texi.
43398         * doc/posix-functions/wcsdup.texi: Renamed from
43399         doc/glibc-functions/wcsdup.texi.
43400         * doc/posix-functions/wcsncasecmp.texi: Renamed from
43401         doc/glibc-functions/wcsncasecmp.texi.
43402         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
43403         doc/glibc-functions/wcsncasecmp_l.texi.
43404         * doc/posix-functions/wcsnlen.texi: Renamed from
43405         doc/glibc-functions/wcsnlen.texi.
43406         * doc/posix-functions/wcsnrtombs.texi: Renamed from
43407         doc/glibc-functions/wcsnrtombs.texi.
43408         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
43409         doc/glibc-functions/wcsxfrm_l.texi.
43410         * doc/posix-functions/wctrans_l.texi: Renamed from
43411         doc/glibc-functions/wctrans_l.texi.
43412         * doc/posix-functions/wctype_l.texi: Renamed from
43413         doc/glibc-functions/wctype_l.texi.
43414         * doc/gnulib.texi (Function Substitutes): Add these subsections.
43415         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
43416         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
43417         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
43418         these subsections.
43419         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
43420         Remove sections.
43421
43422 2008-12-14  Bruno Haible  <bruno@clisp.org>
43423
43424         Update doc for POSIX:2008.
43425         * doc/posix-functions/*.texi: Update URL of POSIX specification.
43426
43427 2008-12-14  Bruno Haible  <bruno@clisp.org>
43428
43429         Update doc for POSIX:2008.
43430         * doc/pastposix-functions/bcmp.texi: Renamed from
43431         doc/posix-functions/bcmp.texi.
43432         * doc/pastposix-functions/bcopy.texi: Renamed from
43433         doc/posix-functions/bcopy.texi.
43434         * doc/pastposix-functions/bsd_signal.texi: Renamed from
43435         doc/posix-functions/bsd_signal.texi.
43436         * doc/pastposix-functions/bzero.texi: Renamed from
43437         doc/posix-functions/bzero.texi.
43438         * doc/pastposix-functions/ecvt.texi: Renamed from
43439         doc/posix-functions/ecvt.texi.
43440         * doc/pastposix-functions/fcvt.texi: Renamed from
43441         doc/posix-functions/fcvt.texi.
43442         * doc/pastposix-functions/ftime.texi: Renamed from
43443         doc/posix-functions/ftime.texi.
43444         * doc/pastposix-functions/gcvt.texi: Renamed from
43445         doc/posix-functions/gcvt.texi.
43446         * doc/pastposix-functions/getcontext.texi: Renamed from
43447         doc/posix-functions/getcontext.texi.
43448         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
43449         doc/posix-functions/gethostbyaddr.texi.
43450         * doc/pastposix-functions/gethostbyname.texi: Renamed from
43451         doc/posix-functions/gethostbyname.texi.
43452         * doc/pastposix-functions/getwd.texi: Renamed from
43453         doc/posix-functions/getwd.texi.
43454         * doc/pastposix-functions/h_errno.texi: Renamed from
43455         doc/posix-functions/h_errno.texi.
43456         * doc/pastposix-functions/index.texi: Renamed from
43457         doc/posix-functions/index.texi.
43458         * doc/pastposix-functions/makecontext.texi: Renamed from
43459         doc/posix-functions/makecontext.texi.
43460         * doc/pastposix-functions/mktemp.texi: Renamed from
43461         doc/posix-functions/mktemp.texi.
43462         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
43463         doc/posix-functions/pthread_attr_getstackaddr.texi.
43464         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
43465         doc/posix-functions/pthread_attr_setstackaddr.texi.
43466         * doc/pastposix-functions/rindex.texi: Renamed from
43467         doc/posix-functions/rindex.texi.
43468         * doc/pastposix-functions/scalb.texi: Renamed from
43469         doc/posix-functions/scalb.texi.
43470         * doc/pastposix-functions/setcontext.texi: Renamed from
43471         doc/posix-functions/setcontext.texi.
43472         * doc/pastposix-functions/swapcontext.texi: Renamed from
43473         doc/posix-functions/swapcontext.texi.
43474         * doc/pastposix-functions/ualarm.texi: Renamed from
43475         doc/posix-functions/ualarm.texi.
43476         * doc/pastposix-functions/usleep.texi: Renamed from
43477         doc/posix-functions/usleep.texi.
43478         * doc/pastposix-functions/vfork.texi: Renamed from
43479         doc/posix-functions/vfork.texi.
43480         * doc/pastposix-functions/wcswcs.texi: Renamed from
43481         doc/posix-functions/wcswcs.texi.
43482         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
43483         (Function Substitutes): Update.
43484
43485 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43486
43487         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
43488         m4/strerror.m4.
43489
43490 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43491             Bruno Haible  <bruno@clisp.org>
43492
43493         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
43494
43495 2008-12-13  Bruno Haible  <bruno@clisp.org>
43496
43497         * modules/strtoull (Depends-on): Remove unistd.
43498
43499 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43500
43501         * modules/strtoull (Depends-on): Add stdlib.
43502
43503 2008-12-11  Simon Josefsson  <simon@josefsson.org>
43504
43505         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
43506
43507 2008-12-10  Jim Meyering  <meyering@redhat.com>
43508
43509         gl_ASSERT: don't say assertions are disabled when they're not
43510         * m4/assert.m4 (gl_ASSERT): Do not make configure report
43511         "checking whether to enable assertions... no", when they are in
43512         fact enabled.  This is solely a bug in the output of configure.
43513         In spite of saying "no", NDEBUG was not defined in that case.
43514         Also, as noted by Eric Blake, leave assertions enabled upon
43515         --enable-assert=INVALID.
43516
43517 2008-12-10  Bruno Haible  <bruno@clisp.org>
43518
43519         Change MODULES.html to refer to POSIX:2008 where possible.
43520         * MODULES.html.sh (POSIX2008_URL): New variable.
43521         (posix_headers): Remove sys/timeb, ucontext.
43522         (posix2001_headers): New variable.
43523         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
43524         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
43525         index, makecontext, mktemp, pthread_attr_getstackaddr,
43526         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
43527         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
43528         (posix2001_functions): New variable.
43529         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
43530         otherwise.
43531
43532 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43533
43534         add missing include to parse-duration.c
43535         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
43536         * modules/parse-duration (Depends-on): Add xalloc.
43537
43538         fix sed script reading maint.mk
43539         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
43540         (syntax-check-rules): Use it.
43541
43542 2008-12-09  Bruno Haible  <bruno@clisp.org>
43543
43544         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
43545         MacOS X 10.4/PowerPC.
43546         Reported by Simon Josefsson.
43547
43548 2008-12-08  Jim Meyering  <meyering@redhat.com>
43549
43550         work around mingw's lack of some S_IF definitions
43551         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
43552         Reported by Simon Josefsson.
43553
43554 2008-12-08  Bruno Haible  <bruno@clisp.org>
43555
43556         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
43557         applied to variables. Needed on MacOS X 10.4/PowerPC.
43558         Reported by Simon Josefsson.
43559
43560 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
43561         and Eric Blake  <ebb9@byu.net>
43562
43563         assert: honor --enable-assert
43564         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
43565         order to honor --enable-assert, rather than treating it as a
43566         synonym for --disable-assert.
43567
43568 2008-12-08  Jim Meyering  <meyering@redhat.com>
43569
43570         * lib/posixtm.c: Remove now-useless declaration of mktime.
43571
43572         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
43573
43574 2008-12-07  Bruno Haible  <bruno@clisp.org>
43575
43576         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
43577         test_once): Mark functions as static.
43578         * tests/test-tls.c (test_tls): Likewise.
43579
43580 2008-12-07  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
43583         iconv_register_autodetect.
43584
43585 2008-12-07  Jim Meyering  <meyering@redhat.com>
43586
43587         posixtm.c: avoid a warning
43588         * lib/posixtm.c (posixtime): Don't initialize tm0.
43589         It's no longer needed to placate gcc4's -Wuninitialized,
43590         and the attempt to placate would elicit a new warning.
43591
43592         unicodeio.c: mark unused parameters
43593         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43594         (fallback_failure_callback): Likewise.
43595
43596 2008-12-07  Bruno Haible  <bruno@clisp.org>
43597
43598         * gnulib-tool (func_create_testdir): When building the tests
43599         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
43600         Reported by Simon Josefsson.
43601
43602 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43603
43604         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
43605
43606 2008-12-06  Bruno Haible  <bruno@clisp.org>
43607
43608         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
43609         Suggested by Eric Blake.
43610
43611 2008-12-06  Bruno Haible  <bruno@clisp.org>
43612
43613         Fix a c-stack test failure on MacOS X.
43614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
43615         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
43616         handler for SIGBUS as well.
43617         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
43618         install a signal handler for SIGBUS as well.
43619         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
43620
43621 2008-12-06  Bruno Haible  <bruno@clisp.org>
43622
43623         Advocacy documentation.
43624         * doc/gnulib-intro.texi (Benefits): New section.
43625         * doc/gnulib.texi: Update.
43626
43627 2008-12-06  Bruno Haible  <bruno@clisp.org>
43628
43629         Document the 'manywarnings' module.
43630         * doc/manywarnings.texi: New file.
43631         * doc/gnulib.texi: Include it.
43632
43633 2008-12-05  Eric Blake  <ebb9@byu.net>
43634
43635         tests: silence some gcc warnings
43636         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
43637         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
43638         type mismatches.
43639
43640 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43641             Bruno Haible  <bruno@clisp.org>
43642
43643         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
43644
43645 2008-11-29  Jim Meyering  <meyering@redhat.com>
43646
43647         unicodeio.c: mark unused parameters
43648         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
43649         (fallback_failure_callback): Likewise.
43650
43651         fts: fix a thinko
43652         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
43653         (set_stat_type): Return S_IF*-valued "type" directly.
43654         Prompted by James Youngman's spotting a related bug.
43655         Confirmed by further testing through find.
43656
43657         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
43658         * lib/fts.c (D_TYPE): Define.
43659         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
43660         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
43661         (s_ifmt_shift_bits): New function.
43662         (set_stat_type): New function.
43663         (fts_build): When not calling fts_stat, call set_stat_type
43664         to propagate dirent.d_type info to fts_read caller.
43665         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
43666         fts_statp->st_mode type information may be valid.
43667
43668 2008-11-28  Simon Josefsson  <simon@josefsson.org>
43669
43670         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
43671         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
43672         <sds@gnu.org>.
43673
43674 2008-11-20  Bruno Haible  <bruno@clisp.org>
43675
43676         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
43677         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
43678         INCLUDE_NEXT.
43679         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
43680         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
43681         * modules/math (Makefile.am): Substitute
43682         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
43683         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43684
43685 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
43686             Bruno Haible  <bruno@clisp.org>
43687
43688         * lib/stdint.in.h: Define all type macros so that their expansion is
43689         a single typedef'ed token. Fixes a compilation failure in Boost which
43690         does "using ::int8_t;".
43691
43692 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43693
43694         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
43695         gl_MANYWARN_ALL_GCC.
43696         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
43697         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
43698         * modules/manywarnings: New file.
43699         * MODULES.html.sh: Mention manywarnings module.
43700
43701 2008-11-18  Bruno Haible  <bruno@clisp.org>
43702
43703         * doc/gnulib-tool.texi (Unit tests): New section.
43704
43705 2008-11-18  Simon Josefsson  <simon@josefsson.org>
43706
43707         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
43708         paths like 'lib/po/foo.po'.
43709
43710 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43711
43712         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
43713         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
43714
43715 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43716
43717         * m4/warnings.m4: Use CPPFLAGS to really check whether the
43718         parameter works.
43719
43720 2008-11-17  Simon Josefsson  <simon@josefsson.org>
43721
43722         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
43723
43724 2008-11-17  Bruce Korb  <bkorb@gnu.org>
43725
43726         * modules/parse-duration-tests: New file.
43727         * tests/test-parse-duration.sh: New file.
43728         * tests/test-parse-duration.c: New file.
43729
43730         New module 'parse-duration'.
43731         * lib/parse-duration.h: New file.
43732         * lib/parse-duration.c: New file.
43733         * modules/parse-duration: New file.
43734
43735 2008-11-17  Bruno Haible  <bruno@clisp.org>
43736
43737         * tests/test-select-out.sh: Comment out the first pipe test.
43738         Reported by Simon Josefsson.
43739
43740 2008-11-17  Bruno Haible  <bruno@clisp.org>
43741
43742         * modules/getaddrinfo (Depends-on): Add servent, hostent.
43743         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
43744         gl_HOSTENT.
43745
43746 2008-11-17  Bruno Haible  <bruno@clisp.org>
43747
43748         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
43749         -lnetwork and -lnet. Needed for Haiku and BeOS.
43750
43751 2008-11-16  Bruno Haible  <bruno@clisp.org>
43752
43753         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
43754
43755 2008-11-16  Bruno Haible  <bruno@clisp.org>
43756
43757         Avoid test failure on Haiku.
43758         * tests/test-fsync.c: Include <errno.h>.
43759         (main): Don't require that fsync (0) fails.
43760
43761 2008-11-15  Bruno Haible  <bruno@clisp.org>
43762
43763         New module 'hostent'.
43764         * modules/hostent: New file.
43765         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
43766
43767 2008-11-15  Bruno Haible  <bruno@clisp.org>
43768
43769         New module 'servent'.
43770         * modules/servent: New file.
43771         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
43772
43773 2008-11-15  Bruno Haible  <bruno@clisp.org>
43774
43775         Avoid generating same test program with two different rules.
43776         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
43777         test-frexp to test-frexp-nolibm.
43778         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
43779         test-frexpl to test-frexpl-nolibm.
43780
43781 2008-11-15  Bruno Haible  <bruno@clisp.org>
43782
43783         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
43784         $(FREXPL_LIBM).
43785
43786 2008-11-15  Bruno Haible  <bruno@clisp.org>
43787
43788         * lib/netdb.in.h: Activate the definitions also when the system's
43789         <netdb.h> has 'struct addrinfo'.
43790         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
43791         EAI_OVERFLOW or AI_NUMERICSERV.
43792         * doc/posix-headers/netdb.texi: Document the problem.
43793
43794 2008-11-15  Bruno Haible  <bruno@clisp.org>
43795
43796         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
43797
43798         Make the 'sched' module work on platforms where <sched.h> exists but
43799         is incomplete (such as Haiku).
43800         * lib/sched.in.h; Include the system's <sched.h> if it exists.
43801         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
43802         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
43803         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
43804         HAVE_STRUCT_SCHED_PARAM.
43805         * modules/sched (Depends-on): Add include_next.
43806         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
43807         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
43808         * doc/posix-headers/sched.texi: Document the issue.
43809
43810 2008-11-13  Jim Meyering  <meyering@redhat.com>
43811
43812         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
43813         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
43814         test would fail due to the difference in the Report bugs to ...
43815         line.  The expected address is empty, "<>", while the actual
43816         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
43817
43818 2008-11-12  Bruno Haible  <bruno@clisp.org>
43819
43820         lstat: don't compile lstat.c on systems lacking lstat
43821         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
43822         which don't have lstat; this is handled by lib/sys_stat.in.h already.
43823         Reported by Daniel P. Berrange via Jim Meyering.
43824
43825 2008-11-12  Jim Meyering  <meyering@redhat.com>
43826
43827         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
43828
43829 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43830
43831         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
43832         instead.
43833
43834 2008-11-12  Bruno Haible  <bruno@clisp.org>
43835
43836         * lib/unicodeio.c: Include unistr.h.
43837         (utf8_wctomb): Remove function.
43838         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
43839
43840 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43841
43842         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
43843         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
43844         <bruno@clisp.org>.
43845         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
43846
43847 2008-11-12  Simon Josefsson  <simon@josefsson.org>
43848
43849         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
43850         * doc/gnulib.texi: Add section for warnings.
43851
43852 2008-11-11  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/sockets.h: Add a comment.
43855
43856 2008-11-11  Karl Berry  <karl@gnu.org>
43857
43858         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
43859
43860 2008-11-11  Eric Blake  <ebb9@byu.net>
43861
43862         fdl.texi: avoid git symlinks
43863         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
43864
43865 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43866
43867         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
43868
43869 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43870
43871         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
43872         (gl_WARN_ADD): Substitute $2 if literal.
43873
43874 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43875
43876         * m4/warning.m4: Remove.
43877
43878 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
43879
43880         * m4/warnings.m4: Almost complete rewrite. :-)
43881
43882 2008-11-10  Simon Josefsson  <simon@josefsson.org>
43883
43884         * modules/warnings: New module.
43885         * m4/warnings.m4: New file.
43886         * MODULES.html.sh: Mention warnings module.
43887         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
43888         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43889
43890 2008-11-10  Eric Blake  <ebb9@byu.net>
43891
43892         fdl.texi: make a symlink to the latest version
43893         * doc/standards.texi: Revert today's earlier change.
43894         * doc/fdl-1.2.texi: Rename from old fdl.texi...
43895         * doc/fdl.texi: ...and replace this with a symlink to the newer
43896         fdl-1.3.texi.
43897
43898 2008-11-10  Bruno Haible  <bruno@clisp.org>
43899
43900         * tests/test-select-fd.c (main): Accept the result file name as fourth
43901         argument.
43902         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
43903         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
43904
43905 2008-11-10  Bruno Haible  <bruno@clisp.org>
43906
43907         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
43908         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
43909         as autoconf-substituted macros.
43910         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
43911         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
43912         gl_NETDB_H_DEFAULTS. Set these variables.
43913         * modules/netdb (Makefile.am): Substitute these variables.
43914
43915 2008-11-10  Eric Blake  <ebb9@byu.net>
43916
43917         standards.texi: include correct file for FDL 1.3
43918         * doc/standards.texi (GNU Free Documentation License): Change
43919         include file to pull in FDL 1.3, not 1.2.
43920
43921         fdl.texi: revert accidental change to license
43922         * doc/fdl.texi: This is FDL 1.2, not 1.3.
43923
43924 2008-11-10  Bruno Haible  <bruno@clisp.org>
43925
43926         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
43927         cross-compiling guesses also when the native compile gives no result.
43928
43929 2008-11-10  Bruno Haible  <bruno@clisp.org>
43930
43931         * lib/spawni.c (__spawni): Force variable into the stack.
43932
43933 2008-11-10  Bruno Haible  <bruno@clisp.org>
43934
43935         Add support for Haiku.
43936         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
43937         glibc and BeOS, but also on Haiku.
43938         * lib/fpurge.c (fpurge): Likewise.
43939         * lib/freadable.c (freadable): Likewise.
43940         * lib/freadahead.c (freadahead): Likewise.
43941         * lib/freading.c (freading): Likewise.
43942         * lib/freadptr.c (freadptr): Likewise.
43943         * lib/freadseek.c (freadptrinc): Likewise.
43944         * lib/fseeko.c (rpl_fseeko): Likewise.
43945         * lib/fseterr.c (fseterr): Likewise.
43946         * lib/fwritable.c (fwritable): Likewise.
43947         * lib/fwriting.c (fwriting): Likewise.
43948         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
43949
43950 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43951
43952         * lib/config.charset: Treat Haiku like BeOS.
43953
43954 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
43955
43956         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
43957         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
43958
43959 2008-11-08  Bruno Haible  <bruno@clisp.org>
43960
43961         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
43962         AC_CACHE_CHECK.
43963
43964 2008-11-08  Bruno Haible  <bruno@clisp.org>
43965
43966         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
43967
43968 2008-11-08  Bruno Haible  <bruno@clisp.org>
43969
43970         * tests/test-select-fd.c: New file.
43971         * tests/test-select-in.sh: New file.
43972         * tests/test-select-out.sh: New file.
43973         * tests/test-select-stdin.c: New file.
43974         * modules/select-tests (Files): Add the new files.
43975         (Depends-on): Add gettimeofday.
43976         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
43977         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
43978         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
43979
43980 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
43981             Bruno Haible  <bruno@clisp.org>
43982
43983         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
43984
43985 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
43986
43987         * build-aux/pmccabe2html: Added support for C++ source files.
43988
43989 2008-11-05  Ben Pfaff  <blp@gnu.org>
43990
43991         Fix lib/close.c build on Windows.
43992         * modules/close (Files): Add lib/w32sock.h.
43993
43994 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
43995
43996         Accept Bison's NEWS format.
43997         * build-aux/announce-gen (print_news_deltas): Tweak
43998         $re_prefix.
43999
44000 2008-11-04  Bruno Haible  <bruno@clisp.org>
44001
44002         * modules/random_r (Maintainer): Add glibc.
44003
44004 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44005
44006         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
44007         by karl@freefriends.org (Karl Berry).
44008         * doc/alloca.texi: Likewise.
44009         * doc/c-ctype.texi: Likewise.
44010         * doc/c-strcase.texi: Likewise.
44011         * doc/c-strcaseeq.texi: Likewise.
44012         * doc/c-strcasestr.texi: Likewise.
44013         * doc/c-strstr.texi: Likewise.
44014         * doc/c-strtod.texi: Likewise.
44015         * doc/c-strtold.texi: Likewise.
44016         * doc/ctime.texi: Likewise.
44017         * doc/error.texi: Likewise.
44018         * doc/fdl.texi: Likewise.
44019         * doc/gcd.texi: Likewise.
44020         * doc/getdate.texi: Likewise.
44021         * doc/gnulib-intro.texi: Likewise.
44022         * doc/gnulib-tool.texi: Likewise.
44023         * doc/gnulib.texi: Likewise.
44024         * doc/inet_ntoa.texi: Likewise.
44025         * doc/maintain.texi: Likewise.
44026         * doc/make-stds.texi: Likewise.
44027         * doc/quote.texi: Likewise.
44028         * doc/regexprops-generic.texi: Likewise.
44029         * doc/standards.texi: Likewise.
44030         * doc/verify.texi: Likewise.
44031         * doc/visibility.texi: Likewise.
44032         * doc/gnulib.texi (GNU Free Documentation License): Include
44033         fdl-1.3.texi instead of fdl.texi.
44034
44035 2008-11-04  Simon Josefsson  <simon@josefsson.org>
44036
44037         * doc/fdl-1.3.texi: New file, from
44038         <http://www.gnu.org/licenses/fdl-1.3.texi>.
44039         * modules/fdl-1.3: Add.
44040         * MODULES.html.sh: Add fdl-1.3.
44041
44042 2008-11-03  Bruno Haible  <bruno@clisp.org>
44043
44044         Make determination of absolute name of header file work with AIX xlc.
44045         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
44046         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
44047         preprocessing.
44048         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44049         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
44050
44051 2008-11-03  Simon Josefsson  <simon@josefsson.org>
44052
44053         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
44054         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
44055         <ludo@gnu.org>.
44056
44057 2008-11-02  Bruno Haible  <bruno@clisp.org>
44058
44059         Mark 'strpbrk' obsolete.
44060         * modules/strpbrk (Status, Notice): New sections.
44061         * modules/strtok_r (Depends-on): Add strpbrk.
44062
44063 2008-11-02  Bruno Haible  <bruno@clisp.org>
44064
44065         Mark 'strdup' obsolete.
44066         * modules/strdup (Status, Notice): New sections.
44067         * modules/findprog (Depends-on): Add strdup.
44068         * modules/getaddrinfo (Depends-on): Likewise.
44069         * modules/localename (Depends-on): Likewise.
44070         * modules/relocatable-lib (Depends-on): Likewise.
44071         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
44072         * modules/relocatable-prog (Depends-on): Likewise.
44073         * modules/trim (Depends-on): Likewise.
44074         * modules/unictype/gen-ctype (Depends-on): Likewise.
44075         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44076
44077 2008-11-02  Bruno Haible  <bruno@clisp.org>
44078
44079         Mark 'strcspn' obsolete.
44080         * modules/strcspn (Status, Notice): New sections.
44081
44082 2008-11-02  Bruno Haible  <bruno@clisp.org>
44083
44084         Mark 'rmdir' obsolete.
44085         * modules/rmdir (Status, Notice): New sections.
44086         * modules/clean-temp (Depends-on): Add rmdir.
44087         * modules/openat (Depends-on): Likewise.
44088
44089 2008-11-02  Bruno Haible  <bruno@clisp.org>
44090
44091         Mark 'raise' obsolete.
44092         * modules/raise (Status, Notice): New sections.
44093         (Include): Specify <signal.h>.
44094         * modules/stdio (Depends-on): Add raise.
44095         * modules/write (Depends-on): Likewise.
44096
44097 2008-11-02  Bruno Haible  <bruno@clisp.org>
44098
44099         Mark 'memset' obsolete.
44100         * modules/memset (Status, Notice): New sections.
44101
44102 2008-11-02  Bruno Haible  <bruno@clisp.org>
44103
44104         Mark 'memmove' obsolete.
44105         * modules/memmove (Status, Notice): New sections.
44106         * modules/argp (Depends-on): Add memmove.
44107         * modules/argz (Depends-on): Likewise.
44108         * modules/canonicalize (Depends-on): Likewise.
44109         * modules/canonicalize-lgpl (Depends-on): Likewise.
44110         * modules/fts (Depends-on): Likewise.
44111         * modules/getcwd (Depends-on): Likewise.
44112         * modules/human (Depends-on): Likewise.
44113         * modules/regex (Depends-on): Likewise.
44114         * modules/striconveh (Depends-on): Likewise.
44115         * modules/trim (Depends-on): Likewise.
44116         * modules/unistr/u8-move (Depends-on): Likewise.
44117         * modules/unistr/u16-move (Depends-on): Likewise.
44118         * modules/unistr/u32-move (Depends-on): Likewise.
44119
44120 2008-11-02  Bruno Haible  <bruno@clisp.org>
44121
44122         Mark 'memcpy' obsolete.
44123         * modules/memcpy (Status, Notice): New sections.
44124
44125 2008-11-02  Bruno Haible  <bruno@clisp.org>
44126
44127         Mark 'memcmp' obsolete.
44128         * modules/memcmp (Status, Notice): New sections.
44129         * modules/argmatch (Depends-on): Add memchr.
44130         * modules/backupfile (Depends-on): Likewise.
44131         * modules/c-strcasestr (Depends-on): Likewise.
44132         * modules/crypto/des (Depends-on): Likewise.
44133         * modules/csharpcomp (Depends-on): Likewise.
44134         * modules/fnmatch (Depends-on): Likewise.
44135         * modules/git-merge-changelog (Depends-on): Likewise.
44136         * modules/isnand (Depends-on): Likewise.
44137         * modules/isnand-nolibm (Depends-on): Likewise.
44138         * modules/isnanf (Depends-on): Likewise.
44139         * modules/isnanf-nolibm (Depends-on): Likewise.
44140         * modules/isnanl (Depends-on): Likewise.
44141         * modules/isnanl-nolibm (Depends-on): Likewise.
44142         * modules/mbchar (Depends-on): Likewise.
44143         * modules/memcoll (Depends-on): Likewise.
44144         * modules/quotearg (Depends-on): Likewise.
44145         * modules/regex (Depends-on): Likewise.
44146         * modules/relocatable-prog (Depends-on): Likewise.
44147         * modules/same (Depends-on): Likewise.
44148         * modules/signbit (Depends-on): Likewise.
44149         * modules/strcasestr-simple (Depends-on): Likewise.
44150         * modules/unictype/gen-ctype (Depends-on): Likewise.
44151         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
44152         * modules/uniname/uniname (Depends-on): Likewise.
44153         * modules/unistr/u8-cmp (Depends-on): Likewise.
44154
44155 2008-11-02  Bruno Haible  <bruno@clisp.org>
44156
44157         Mark 'memchr' obsolete.
44158         * modules/memchr (Status, Notice): New sections.
44159         * modules/argp (Depends-on): Add memchr.
44160         * modules/base64 (Depends-on): Likewise.
44161         * modules/c-strcasestr (Depends-on): Likewise.
44162         * modules/chdir-long (Depends-on): Likewise.
44163         * modules/fnmatch (Depends-on): Likewise.
44164         * modules/getsubopt (Depends-on): Likewise.
44165         * modules/git-merge-changelog (Depends-on): Likewise.
44166         * modules/glob (Depends-on): Likewise.
44167         * modules/strcasestr-simple (Depends-on): Likewise.
44168         * modules/strnlen (Depends-on): Likewise.
44169
44170 2008-11-02  Bruno Haible  <bruno@clisp.org>
44171
44172         Mark 'atexit' obsolete.
44173         * modules/atexit (Status, Notice): New sections.
44174         * modules/chdir-long (Depends-on): Add atexit.
44175         * modules/wait-process (Depends-on): Likewise.
44176
44177 2008-11-02  Bruno Haible  <bruno@clisp.org>
44178
44179         * gnulib-tool: New option --with-obsolete.
44180         (func_usage): Document it.
44181         (func_modules_transitive_closure): Drop obsolete dependencies if
44182         incobsolete is not true.
44183         (func_import): Read and save the incobsolete variable to the cache.
44184
44185 2008-11-02  Bruno Haible  <bruno@clisp.org>
44186
44187         * modules/TEMPLATE-EXTENDED: New field 'Status'.
44188         * gnulib-tool: New option --extract-status.
44189         (func_usage): Document it.
44190         (sed_extract_prog): Recognize it.
44191         (func_get_status): New function.
44192
44193 2008-10-30  Simon Josefsson  <simon@josefsson.org>
44194
44195         * modules/sockets (License): Change from LGPL to LGPLv2+.
44196
44197 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44198
44199         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
44200
44201 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44202
44203         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44204         Mention times and sys_times.
44205         * modules/sys_times, modules/sys_times-tests: New modules.
44206         * modules/times, modules/times-tests: Likewise
44207         * m4/sys_times_h.m4: New file.
44208         * lib/sys_times.in.h: Likewise
44209         * lib/times.c: Likewise.
44210         * tests/test-sys_times.c: Likewise.
44211         * tests/test-times.c: Likewise.
44212         * doc/posix-headers/sys_times.texi: Update.
44213         * doc/posix-functions/times.texi: Update.
44214
44215 2008-10-28  Jim Meyering  <meyering@redhat.com>
44216
44217         * modules/tempname (Depends-on): Add lstat.
44218
44219         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
44220
44221 2008-10-28  Simon Josefsson  <simon@josefsson.org>
44222
44223         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
44224         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
44225         using idiom used elsewhere in gnulib.
44226
44227 2008-10-27  Jim Meyering  <meyering@redhat.com>
44228
44229         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
44230
44231 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44232
44233         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
44234         TESTS_ENVIRONMENT, for shell scripts that needs to call built
44235         programs.
44236         * tests/test-argp-2.sh: Use $EXEEXT when needed.
44237
44238 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44239
44240         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
44241
44242 2008-10-27  Bruno Haible  <bruno@clisp.org>
44243
44244         * tests/test-lstat.c: Include <stdio.h>.
44245
44246 2008-10-27  Simon Josefsson  <simon@josefsson.org>
44247
44248         * modules/lstat-tests: New module.
44249         * tests/test-lstat.c: New file.
44250
44251 2008-10-26  Jim Meyering  <meyering@redhat.com>
44252
44253         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
44254
44255 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44256             Bruno Haible  <bruno@clisp.org>
44257
44258         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
44259         * modules/configmake (Include): Add a note that the include must come
44260         after all system headers.
44261         * lib/javaversion.c: Include configmake.h after all other includes.
44262
44263 2008-10-26  Bruno Haible  <bruno@clisp.org>
44264
44265         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
44266         HAVE_STRUCT_RANDOM_DATA to 1.
44267         (gl_STDLIB_H): Simplify.
44268
44269 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44270
44271         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
44272         substitute HAVE_STRUCT_RANDOM_DATA.
44273         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
44274         random_data.
44275         * modules/stdlib (Makefile.am): Substitute
44276         HAVE_STRUCT_RANDOM_DATA.
44277
44278 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44279
44280         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
44281         * doc/gnulib-intro.texi (Copyright): Likewise.
44282
44283 2008-10-26  Simon Josefsson  <simon@josefsson.org>
44284
44285         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
44286         findings.
44287
44288 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
44289             Bruno Haible  <bruno@clisp.org>
44290
44291         * lib/unistd.in.h: Include <winsock2.h>.
44292         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
44293         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
44294         Provide dummy declarations.
44295         (gethostname): Override.
44296         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
44297         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
44298         gl_PREREQ_SYS_H_WINSOCK2.
44299         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
44300         * doc/posix-functions/gethostname.texi: More details.
44301
44302 2008-10-25  Bruno Haible  <bruno@clisp.org>
44303
44304         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
44305         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
44306         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
44307
44308         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
44309         here ...
44310         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
44311         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
44312         gl_UNISTD_H_DEFAULTS.
44313
44314 2008-10-25  Eric Blake  <ebb9@byu.net>
44315
44316         signbit: avoid spurious compiler failure
44317         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
44318         declarations inside function.
44319
44320 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44321             Bruno Haible  <bruno@clisp.org>
44322
44323         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
44324         * modules/random_r (Depends-on): Add stdint.
44325
44326 2008-10-24  Bruno Haible  <bruno@clisp.org>
44327
44328         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
44329         Eggert.
44330         * modules/strerror (License): Likewise.
44331
44332 2008-10-24  Jim Meyering  <meyering@redhat.com>
44333
44334         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
44335         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
44336
44337 2008-10-24  Eric Blake  <ebb9@byu.net>
44338
44339         getgroups: fix compilation when getgroups is available
44340         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
44341         but with <config.h> override of getgroups disabled.
44342
44343 2008-10-24  Simon Josefsson  <simon@josefsson.org>
44344
44345         * doc/gnulib.texi (Header files): Add note about C++ problems.
44346         Explained by Bruno Haible <bruno@clisp.org>.
44347
44348 2008-10-23  Bruno Haible  <bruno@clisp.org>
44349
44350         Define a dummy SA_NODEFER macro on Interix.
44351         * lib/signal.in.h (SA_NODEFER): Define fallback.
44352         Reported by Aleksey Cheusov <cheusov@tut.by> via
44353         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
44354
44355 2008-10-23  Bruno Haible  <bruno@clisp.org>
44356
44357         * modules/freadahead (License): Change to LGPLv2+.
44358         Suggested by Simon Josefsson.
44359
44360 2008-10-23  Jim Meyering  <meyering@redhat.com>
44361
44362         random_r: new module
44363         * modules/random_r: New file.
44364         * m4/random_r.m4: New file.
44365         * lib/random_r.c: New file, from glibc.
44366         * modules/random_r-tests: New file.
44367         * tests/test-random_r.c: New file.
44368         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
44369          Declare.
44370         (RAND_MAX): Define.
44371         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
44372         * modules/stdlib: Substitute them, too.
44373         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
44374         * doc/glibc-functions/initstate_r.texi: Mention the new module.
44375         * doc/glibc-functions/random_r.texi: Likewise.
44376         * doc/glibc-functions/setstate_r.texi: Likewise.
44377         * doc/glibc-functions/srandom_r.texi: Likewise.
44378         * config/srclist.txt: Mention it.
44379
44380 2008-10-23  David Lutterkort  <lutter@redhat.com>
44381
44382         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
44383         link requirement
44384
44385 2008-10-23  Jim Meyering  <meyering@redhat.com>
44386
44387         selinux-h: mark parameters of stub functions as intentionally unused
44388         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
44389         * lib/se-context.in.h: Likewise.
44390
44391 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44392
44393         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
44394
44395 2008-10-22  Simon Josefsson  <simon@josefsson.org>
44396
44397         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
44398
44399 2008-10-22  Eric Blake  <ebb9@byu.net>
44400
44401         glthread/thread: avoid compiler warning
44402         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
44403         Add unreachable abort to silence compiler.
44404
44405 2008-10-22  Eric Blake  <ebb9@byu.net>
44406
44407         netdb: also supply struct addrinfo for cygwin 1.5.x
44408         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
44409         older cygwin.
44410         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
44411         cygwin.
44412         * doc/posix-headers/netdb.texi (netdb.h): Document this.
44413
44414 2008-10-22  Bruno Haible  <bruno@clisp.org>
44415
44416         * users.txt: Update entry about pspp.
44417
44418 2008-10-21  Bruno Haible  <bruno@clisp.org>
44419
44420         Simplification.
44421         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
44422         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
44423
44424         Simplification.
44425         * lib/ioctl.c (ioctl): Don't undefine.
44426         * lib/socket.c (socket): Don't undefine.
44427
44428         Remove unused module indicator macros.
44429         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
44430         GNULIB_$1 as a C macro.
44431
44432         * doc/posix-functions/close.texi: Undo last change.
44433         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
44434         Windows platforms.
44435
44436 2008-10-21  Bruno Haible  <bruno@clisp.org>
44437
44438         Add gethostname() declaration to <unistd.h>.
44439         * lib/unistd.in.h (gethostname): New declaration.
44440         * lib/gethostname.c: Include <unistd.h>.
44441         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
44442         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
44443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
44444         and HAVE_GETHOSTNAME.
44445         * modules/gethostname (Depends-on): Add unistd.
44446         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44447         (Include): Specify <unistd.h>.
44448         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
44449         HAVE_GETHOSTNAME.
44450         * tests/test-gethostname.c: Include <unistd.h> first.
44451
44452 2008-10-21  Bruno Haible  <bruno@clisp.org>
44453
44454         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
44455         * modules/select-tests (Depends-on): Likewise.
44456         Reported by Simon Josefsson.
44457
44458 2008-10-21  Simon Josefsson  <simon@josefsson.org>
44459
44460         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
44461         * lib/accept.c: New file, based on winsock.c.
44462         * lib/bind.c: New file, based on winsock.c.
44463         * lib/connect.c: New file, based on winsock.c.
44464         * lib/getpeername.c: New file, based on winsock.c.
44465         * lib/getsockname.c: New file, based on winsock.c.
44466         * lib/getsockopt.c: New file, based on winsock.c.
44467         * lib/ioctl.c: New file, based on winsock.c.
44468         * lib/listen.c: New file, based on winsock.c.
44469         * lib/recv.c: New file, based on winsock.c.
44470         * lib/recvfrom.c: New file, based on winsock.c.
44471         * lib/send.c: New file, based on winsock.c.
44472         * lib/sendto.c: New file, based on winsock.c.
44473         * lib/setsockopt.c: New file, based on winsock.c.
44474         * lib/shutdown.c: New file, based on winsock.c.
44475         * lib/socket.c: New file, based on winsock.c.
44476         * lib/w32sock.h: New file, based on winsock.c.
44477         * lib/winsock.c: Remove file.
44478         * modules/accept: Likewise.
44479         * modules/bind: Likewise.
44480         * modules/connect: Likewise.
44481         * modules/getpeername: Likewise.
44482         * modules/getsockname: Likewise.
44483         * modules/getsockopt: Likewise.
44484         * modules/ioctl: Likewise.
44485         * modules/listen: Likewise.
44486         * modules/recv: Likewise.
44487         * modules/recvfrom: Likewise.
44488         * modules/send: Likewise.
44489         * modules/sendto: Likewise.
44490         * modules/setsockopt: Likewise.
44491         * modules/shutdown: Likewise.
44492         * modules/socket: Use socket.c instead of winsock.c.
44493         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
44494         * doc/posix-functions/accept.texi: Doc fix.
44495         * doc/posix-functions/bind.texi: Doc fix.
44496         * doc/posix-functions/close.texi: Doc fix.
44497         * doc/posix-functions/connect.texi: Doc fix.
44498         * doc/posix-functions/getpeername.texi: Doc fix.
44499         * doc/posix-functions/getsockname.texi: Doc fix.
44500         * doc/posix-functions/getsockopt.texi: Doc fix.
44501         * doc/posix-functions/ioctl.texi: Doc fix.
44502         * doc/posix-functions/listen.texi: Doc fix.
44503         * doc/posix-functions/recv.texi: Doc fix.
44504         * doc/posix-functions/recvfrom.texi: Doc fix.
44505         * doc/posix-functions/send.texi: Doc fix.
44506         * doc/posix-functions/sendto.texi: Doc fix.
44507         * doc/posix-functions/setsockopt.texi: Doc fix.
44508         * doc/posix-functions/shutdown.texi: Doc fix.
44509         * doc/posix-functions/socket.texi: Doc fix.
44510
44511 2008-10-20  Bruno Haible  <bruno@clisp.org>
44512
44513         Take into account the role of SIGABRT_COMPAT on Windows 2008.
44514         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
44515         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
44516         as an alias for SIGABRT.
44517         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
44518         (sigaction): Map it to SIGABRT.
44519         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
44520
44521 2008-10-20  Bruno Haible  <bruno@clisp.org>
44522
44523         * lib/fts.c: Don't include lstat.h.
44524         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
44525
44526         Move the lstat() declaration to <sys/stat.h>.
44527         * lib/lstat.h: Remove file.
44528         * lib/sys_stat.in.h: Add special invocation convention.
44529         (lstat): New declaration.
44530         * lib/lstat.c (orig_lstat): New function.
44531         (rpl_lstat): Use orig_lstat instead of lstat.
44532         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
44533         AC_C_INLINE. Set REPLACE_LSTAT.
44534         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
44535         and REPLACE_LSTAT.
44536         * modules/lstat (Files): Remove lib/lstat.h.
44537         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44538         (Include): Specify <sys/stat.h> instead of lstat.h.
44539         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
44540         REPLACE_LSTAT.
44541         * NEWS: Mention the change.
44542
44543 2008-10-20  Bruno Haible  <bruno@clisp.org>
44544
44545         * modules/posix_spawn-tests: New file.
44546         * tests/test-posix_spawn3.c: New file.
44547
44548 2008-10-20  Bruno Haible  <bruno@clisp.org>
44549
44550         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
44551         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44552         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
44553         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
44554         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
44555
44556 2008-10-20  Bruno Haible  <bruno@clisp.org>
44557
44558         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
44559         of posix_spawn on AIX 5.3.
44560
44561 2008-10-20  Bruno Haible  <bruno@clisp.org>
44562
44563         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
44564
44565 2008-10-20  Bruno Haible  <bruno@clisp.org>
44566
44567         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
44568         of AC_LANG_PROGRAM.
44569
44570 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44571
44572         * lib/netdb.in.h: Don't define GNU specific constants until they
44573         are supported or needed.  Reported by Bruno Haible
44574         <bruno@clisp.org>.
44575
44576 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44577
44578         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
44579
44580 2008-10-20  Simon Josefsson  <simon@josefsson.org>
44581
44582         * lib/getaddrinfo.h: Remove file.
44583         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
44584         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
44585         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
44586         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
44587         * modules/netdb: Substitute GNULIB_GETADDRINFO.
44588         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
44589         * tests/test-getaddrinfo.c: Likewise.
44590         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
44591         * NEWS: Mention change.
44592
44593 2008-10-19  Bruno Haible  <bruno@clisp.org>
44594
44595         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
44596
44597 2008-10-19  Bruno Haible  <bruno@clisp.org>
44598
44599         * lib/wait-process.c: Include simply <sys/wait.h>.
44600         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
44601         WIFSTOPPED): Remove fallback definitions.
44602         * modules/wait-process (Depends-on): Add sys_wait.
44603
44604         New module 'sys_wait'.
44605         * modules/sys_wait: New file.
44606         * lib/sys_wait.in.h: New file, partially copied from
44607         lib/wait-process.c.
44608         * m4/sys_wait_h.m4: New file.
44609         * doc/posix-headers/sys_wait.texi: Mention the new module.
44610
44611 2008-10-19  Bruno Haible  <bruno@clisp.org>
44612
44613         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
44614
44615 2008-10-19  Bruno Haible  <bruno@clisp.org>
44616
44617         Assume that waitpid() fills an 'int' status, not a 'union wait'.
44618         * lib/wait-process.c (WAIT_T): Remove type.
44619         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
44620         (wait_subprocess): Update.
44621
44622 2008-10-19  Bruno Haible  <bruno@clisp.org>
44623
44624         New module 'atoll'.
44625         * modules/atoll: New file.
44626         * lib/stdlib.in.h (atoll): New declaration.
44627         * lib/atoll.c: New file, from glibc with modifications.
44628         * m4/atoll.m4: New file.
44629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
44630         HAVE_ATOLL.
44631         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
44632         * doc/posix-functions/atoll.texi: Mention the new module.
44633
44634 2008-10-19  Bruno Haible  <bruno@clisp.org>
44635
44636         Add strtoull() declaration to <stdlib.h>.
44637         * lib/stdlib.in.h (strtoull): New declaration.
44638         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44639         Set HAVE_STRTOULL.
44640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
44641         HAVE_STRTOULL.
44642         * modules/strtoull (Depends-on): Add stdlib.
44643         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44644         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
44645         HAVE_STRTOULL.
44646
44647 2008-10-19  Bruno Haible  <bruno@clisp.org>
44648
44649         Add strtoll() declaration to <stdlib.h>.
44650         * lib/stdlib.in.h (strtoll): New declaration.
44651         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
44652         Set HAVE_STRTOLL.
44653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
44654         HAVE_STRTOLL.
44655         * modules/strtoll (Depends-on): Add stdlib.
44656         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44657         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
44658
44659 2008-10-19  Bruno Haible  <bruno@clisp.org>
44660
44661         * modules/bcopy (Depends-on): Add strings.
44662         (Include): Specify <strings.h>.
44663
44664 2008-10-19  Bruno Haible  <bruno@clisp.org>
44665
44666         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
44667
44668 2008-10-19  Bruno Haible  <bruno@clisp.org>
44669
44670         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
44671         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
44672         mingw.
44673
44674 2008-10-19  Bruno Haible  <bruno@clisp.org>
44675
44676         * lib/atanl.c: Don't include isnanl.h.
44677         * lib/cosl.c: Likewise.
44678         * lib/ldexpl.c: Likewise.
44679         * lib/logl.c: Likewise.
44680         * lib/sinl.c: Likewise.
44681         * lib/sqrtl.c: Likewise.
44682         * lib/tanl.c: Likewise.
44683
44684         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
44685         * lib/isnanf.h: Remove file.
44686         * lib/isnand.h: Remove file.
44687         * lib/isnanl.h: Remove file.
44688         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
44689         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
44690         macros.
44691         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
44692         HAVE_ISNANF, don't define it as a C macro.
44693         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
44694         HAVE_ISNAND, don't define it as a C macro.
44695         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
44696         HAVE_ISNANL, don't define it as a C macro.
44697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
44698         HAVE_ISNAN[FDL].
44699         * modules/isnanf (Files): Remove lib/isnanf.h.
44700         (Depends-on): Add math.
44701         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44702         (Include): Specify <math.h> instead of isnanf.h.
44703         * modules/isnand (Files): Remove lib/isnand.h.
44704         (Depends-on): Add math.
44705         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44706         (Include): Specify <math.h> instead of isnand.h.
44707         * modules/isnanl (Files): Remove lib/isnanl.h.
44708         (Depends-on): Add math.
44709         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44710         (Include): Specify <math.h> instead of isnanl.h.
44711         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
44712         HAVE_ISNAN[FDL].
44713         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
44714         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
44715         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
44716         * NEWS: Mention the change.
44717
44718 2008-10-18  Bruno Haible  <bruno@clisp.org>
44719
44720         Add getusershell(), setusershell(), endusershell() declarations to
44721         <unistd.h>.
44722         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
44723         declarations.
44724         * lib/getusershell.c: Include unistd.h.
44725         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
44726         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44727         HAVE_GETUSERSHELL.
44728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
44729         and HAVE_GETUSERSHELL.
44730         * modules/getusershell (Depends-on): Add unistd, extensions.
44731         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44732         (Include): Specify <unistd.h>.
44733         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
44734         HAVE_GETUSERSHELL.
44735
44736 2008-10-18  Bruno Haible  <bruno@clisp.org>
44737
44738         Add a getloadavg() declaration to <stdlib.h>.
44739         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
44740         getloadavg declaration.
44741         (getloadavg): New declaration.
44742         * lib/getloadavg.c: Include <stdlib.h> first.
44743         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
44744         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
44745         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
44746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
44747         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44748         * modules/getloadavg (Depends-on): Add stdlib, extensions.
44749         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44750         (Include): Specify <stdlib.h>.
44751         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
44752         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
44753
44754 2008-10-18  Bruno Haible  <bruno@clisp.org>
44755
44756         * lib/dirchownmod.c: Don't include lchmod.h.
44757
44758         Move the lchmod() declaration to <sys/stat.h>.
44759         * lib/lchmod.h: Remove file.
44760         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
44761         (lchmod): New declaration, moved here from lib/lchown.h.
44762         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
44763         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
44764         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
44765         and HAVE_LCHMOD.
44766         * modules/lchmod (Files): Remove lib/lchmod.h.
44767         (Depends-on): Add sys_stat, extensions.
44768         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
44769         (Include): Specify <sys/stat.h> instead of lchmod.h.
44770         * modules/sys_stat (Depends-on): Add link-warning.
44771         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
44772         definition of GL_LINK_WARNING.
44773         * NEWS: Mention the change.
44774
44775 2008-10-18  Bruno Haible  <bruno@clisp.org>
44776
44777         * lib/fchdir.c: Don't include dirfd.h.
44778         * lib/fts.c: Likewise.
44779         * lib/getcwd.c: Likewise.
44780         * lib/glob.c: Likewise.
44781
44782         Move the dirfd() declaration to <dirent.h>.
44783         * lib/dirfd.h: Remove file.
44784         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
44785         (dirfd): New declaration.
44786         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
44787         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
44788         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
44789         HAVE_DECL_DIRFD.
44790         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
44791         HAVE_DECL_DIRFD.
44792         * modules/dirfd (Files): Remove lib/dirfd.h.
44793         (Depends-on): Add dirent, extensions.
44794         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
44795         (Include): Specify <dirent.h> instead of dirfd.h.
44796         * modules/dirent (Depends-on): Add link-warning.
44797         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
44798         definition of GL_LINK_WARNING.
44799         * NEWS: Mention the change.
44800
44801 2008-10-18  Bruno Haible  <bruno@clisp.org>
44802
44803         Move the euidaccess() declaration to <unistd.h>.
44804         * lib/euidaccess.h: Remove file.
44805         * lib/unistd.in.h (euidaccess): New declaration.
44806         * lib/euidaccess.c: Don't include euidaccess.h.
44807         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
44808         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
44809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
44810         and HAVE_EUIDACCESS.
44811         * modules/euidaccess (Files): Remove lib/euidaccess.h.
44812         (Depends-on): Add unistd.
44813         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44814         (Include): Specify <unistd.h> instead of euidaccess.h.
44815         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
44816         HAVE_EUIDACCESS.
44817         * NEWS: Mention the change.
44818
44819 2008-10-18  Bruno Haible  <bruno@clisp.org>
44820
44821         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
44822
44823         Move the getdomainname() declaration to <unistd.h>.
44824         * lib/getdomainname.h: Remove file.
44825         * lib/unistd.in.h (getdomainname): New declaration.
44826         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
44827         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44828         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
44829         HAVE_GETDOMAINNAME.
44830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44831         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
44832         * modules/getdomainname (Files): Remove lib/getdomainname.h.
44833         (Depends-on): Add unistd, extensions.
44834         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44835         (Includes): Specify <unistd.h> instead of getdomainname.h.
44836         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
44837         HAVE_GETDOMAINNAME.
44838         * NEWS: Mention the change.
44839
44840 2008-10-18  Bruno Haible  <bruno@clisp.org>
44841
44842         * modules/dirent: New file.
44843         * m4/dirent_h.m4: New file.
44844         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
44845         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
44846         * modules/fchdir (Files): Remove lib/dirent.in.h.
44847         (Depends-on): Add dirent.
44848         (Makefile.am): Move rules to modules/dirent.
44849         * doc/posix-headers/dirent.texi: Mention the new module.
44850
44851 2008-10-18  Bruno Haible  <bruno@clisp.org>
44852
44853         Avoid -Wunused-parameter warnings in public gnulib header files.
44854         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
44855         macro.
44856         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
44857
44858 2008-10-18  Bruno Haible  <bruno@clisp.org>
44859
44860         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
44861         * doc/glibc-functions/error.texi: Mention the module 'error'.
44862         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
44863         * doc/glibc-functions/getdomainname.texi: Mention the module
44864         'getdomainname'.
44865         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
44866         * doc/glibc-functions/getpagesize.texi: Mention the module
44867         'getpagesize'.
44868         * doc/glibc-functions/getusershell.texi: Mention the module
44869         'getusershell'.
44870         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
44871         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
44872         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
44873         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
44874         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
44875         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
44876         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
44877         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
44878         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
44879         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
44880         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
44881         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
44882         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
44883         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
44884
44885 2008-10-17  Bruno Haible  <bruno@clisp.org>
44886
44887         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
44888         HP-UX and IRIX, use -0.0L.
44889         * tests/test-ceill.c (minus_zero): Likewise.
44890         * tests/test-floorl.c (minus_zero): Likewise.
44891         * tests/test-frexpl.c (minus_zero): Likewise.
44892         * tests/test-isnan.c (minus_zerol): Likewise.
44893         * tests/test-isnanl.h (minus_zero): Likewise.
44894         * tests/test-ldexpl.c (minus_zero): Likewise.
44895         * tests/test-roundl.c (minus_zero): Likewise.
44896         * tests/test-signbit.c (minus_zerol): Likewise.
44897         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44898         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44899         * tests/test-truncl.c (minus_zero): Likewise.
44900         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44901         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44902         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
44903         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44904
44905 2008-10-17  Bruno Haible  <bruno@clisp.org>
44906
44907         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
44908         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
44909         that it gets activated only for gcc >= 3.0.
44910         * lib/dirent.in.h: Likewise.
44911         * lib/errno.in.h: Likewise.
44912         * lib/fcntl.in.h: Likewise.
44913         * lib/float.in.h: Likewise.
44914         * lib/iconv.in.h: Likewise.
44915         * lib/inttypes.in.h: Likewise.
44916         * lib/locale.in.h: Likewise.
44917         * lib/math.in.h: Likewise.
44918         * lib/netdb.in.h: Likewise.
44919         * lib/netinet_in.in.h: Likewise.
44920         * lib/search.in.h: Likewise.
44921         * lib/signal.in.h: Likewise.
44922         * lib/spawn.in.h: Likewise.
44923         * lib/stdarg.in.h: Likewise.
44924         * lib/stdint.in.h: Likewise.
44925         * lib/stdio.in.h: Likewise.
44926         * lib/stdlib.in.h: Likewise.
44927         * lib/string.in.h: Likewise.
44928         * lib/strings.in.h: Likewise.
44929         * lib/sys_file.in.h: Likewise.
44930         * lib/sys_ioctl.in.h: Likewise.
44931         * lib/sys_select.in.h: Likewise.
44932         * lib/sys_socket.in.h: Likewise.
44933         * lib/sys_stat.in.h: Likewise.
44934         * lib/sys_time.in.h: Likewise.
44935         * lib/sysexits.in.h: Likewise.
44936         * lib/time.in.h: Likewise.
44937         * lib/unistd.in.h: Likewise.
44938         * lib/wchar.in.h: Likewise.
44939         * lib/wctype.in.h: Likewise.
44940         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44941
44942 2008-10-17  Jim Meyering  <meyering@redhat.com>
44943
44944         ignore-value: don't depend on inline module
44945         * modules/ignore-value (Depends-on): Remove 'inline'.
44946         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
44947         Suggestion from Bruno Haible.
44948
44949 2008-10-17  Bruno Haible  <bruno@clisp.org>
44950
44951         New implementation of condition variables for Win32.
44952         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
44953         (gl_linked_waitqueue_t): New type.
44954         (gl_cond_t): Use it.
44955         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
44956         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
44957         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
44958         (glthread_cond_init_func, glthread_cond_wait_func,
44959         glthread_cond_timedwait_func, glthread_cond_signal_func,
44960         glthread_cond_broadcast_func, glthread_cond_destroy_func):
44961         Reimplemented on the basis of gl_linked_waitqueue_t.
44962         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
44963         gl_waitqueue_t.
44964         (gl_rwlock_t): Update.
44965         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
44966
44967 2008-10-17  Simon Josefsson  <simon@josefsson.org>
44968
44969         * modules/recvfrom (Depends-on): Add dependency on getpeername.
44970         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44971
44972 2008-10-17  Jim Meyering  <meyering@redhat.com>
44973
44974         ignore-value: new module
44975         * modules/ignore-value: New file.
44976         * lib/ignore-value.h: New file.
44977         * MODULES.html.sh (Compiler warning management): New section,
44978         just for this module.  More to come.
44979
44980 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44981
44982         open-safer.c: avoid 'signed and unsigned in conditional...' warning
44983         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
44984         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
44985
44986 2008-10-16  Jim Meyering  <meyering@redhat.com>
44987
44988         openat-die.c: avoid 'no previous prototype' warning
44989         * lib/openat-die.c: Include "openat.h".
44990         Reported by Reuben Thomas <rrt@sc3d.org>.
44991
44992 2008-10-16  Simon Josefsson  <simon@josefsson.org>
44993
44994         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
44995         * lib/netdb.in.h: Fix typo.
44996         Reported by Bruno Haible  <bruno@clisp.org>
44997
44998         * lib/netdb.in.h: Include sys/socket.h for platforms without
44999         netdb.h, to get structures like hostent on MinGW.
45000         * modules/netdb (Depends-on): Add sys_socket.
45001
45002 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45003
45004         * modules/netdb, modules/netdb-tests: New file.
45005         * m4/netdb_h.m4: New file.
45006         * lib/netdb.in.h: Add, currently just an empty file pending
45007         definitions.
45008         * tests/test-netdb.c: New file.
45009         * doc/posix-headers/netdb.texi: Mention that we replace it if
45010         needed.
45011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45012         netdb.
45013
45014 2008-10-15  Simon Josefsson  <simon@josefsson.org>
45015
45016         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
45017         with code.
45018
45019 2008-10-13  Bruno Haible  <bruno@clisp.org>
45020
45021         * lib/glthread/cond.c (glthread_cond_wait_func,
45022         glthread_cond_timedwait_func): Add a comment.
45023
45024 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45025
45026         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
45027         * tests/test-select.c: Likewise,
45028
45029 2008-10-13  Bruno Haible  <bruno@clisp.org>
45030
45031         * lib/glthread/cond.c (glthread_cond_wait_func,
45032         glthread_cond_timedwait_func): Fix variable name.
45033         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45034
45035 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
45036
45037         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
45038         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
45039         struct sockaddr.sa_len.
45040         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
45041
45042 2008-10-13  Simon Josefsson  <simon@josefsson.org>
45043
45044         * build-aux/pmccabe2html: Add css and css_url parameters.
45045
45046 2008-10-12  Bruno Haible  <bruno@clisp.org>
45047
45048         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
45049         calling aclx_get.
45050         Reported by Rainer Tammer <tammer@tammer.net>.
45051
45052 2008-10-12  Bruno Haible  <bruno@clisp.org>
45053
45054         Use msvcrt aware primitives for creation/termination of Win32 threads.
45055         * lib/glthread/thread.c: Include <process.h>.
45056         (glthread_create_func): Use _beginthreadex instead of CreateThread.
45057         (wrapper_func): Update signature.
45058         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
45059
45060 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
45061             Bruno Haible  <bruno@clisp.org>
45062
45063         Provide a Win32 implementation of the 'cond' module.
45064         * lib/glthread/cond.h [USE_WIN32]: New implementation.
45065         * lib/glthread/cond.c (glthread_cond_init_func,
45066         glthread_cond_wait_func, glthread_cond_timedwait_func,
45067         glthread_cond_signal_func, glthread_cond_broadcast_func,
45068         glthread_cond_destroy_func) [USE_WIN32]: New functions.
45069         * modules/cond (Dependencies): Add gettimeofday.
45070
45071 2008-10-11  Bruno Haible  <bruno@clisp.org>
45072
45073         Make sleep work on older versions of mingw.
45074         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
45075         only whether it exists.
45076         * doc/posix-functions/sleep.texi: Mention the problem with older
45077         versions of mingw.
45078
45079 2008-10-11  Bruno Haible  <bruno@clisp.org>
45080
45081         New module 'shutdown'.
45082         * modules/shutdown: New file.
45083         * lib/sys_socket.in.h (shutdown): New declaration.
45084         * lib/winsock.c (shutdown): New function.
45085         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45086         GNULIB_SHUTDOWN.
45087         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
45088         * doc/posix-functions/shutdown.texi: Document the new module.
45089
45090 2008-10-11  Jim Meyering  <meyering@redhat.com>
45091
45092         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
45093
45094 2008-10-11  Bruno Haible  <bruno@clisp.org>
45095
45096         New module 'fclose'.
45097         * modules/fclose: New file.
45098         * lib/stdio.in.h (fclose): New declaration.
45099         * lib/fclose.c: New file.
45100         * m4/fclose.m4: New file.
45101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
45102         REPLACE_FCLOSE.
45103         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
45104         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
45105         REPLACE_FCLOSE.
45106         * modules/close (Depends-on): fclose.
45107         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
45108
45109 2008-10-11  Bruno Haible  <bruno@clisp.org>
45110
45111         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
45112         set errno and don't call _close.
45113
45114 2008-10-10  Bruno Haible  <bruno@clisp.org>
45115
45116         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
45117         ACL, not afterwards. Fixes test failure on Cygwin.
45118
45119 2008-10-09  Ben Pfaff  <blp@gnu.org>
45120
45121         * build-aux/announce-gen: Fix gnulib version related part of usage
45122         message.  Die with a useful error message if no tarballs are
45123         found.
45124
45125 2008-10-10  Jim Meyering  <meyering@redhat.com>
45126
45127         bootstrap: use git's --depth=N option only if it's supported
45128         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
45129         recognize the --depth option.  Reported by Pádraig Brady.
45130
45131 2008-10-09  Bruno Haible  <bruno@clisp.org>
45132
45133         New module 'ioctl'.
45134         * modules/ioctl: New file.
45135         * lib/sys_socket.in.h (ioctl): Remove declaration.
45136         * lib/winsock.c: Include <sys/ioctl.h>.
45137         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
45138         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
45139         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
45140         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
45141         * doc/posix-functions/ioctl.texi: Mention the new module.
45142
45143 2008-10-09  Bruno Haible  <bruno@clisp.org>
45144
45145         New module 'sys_ioctl'.
45146         * lib/sys_ioctl.in.h: New file.
45147         * m4/sys_ioctl_h.m4: New file.
45148         * modules/sys_ioctl: New file.
45149         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
45150
45151 2008-10-09  Bruno Haible  <bruno@clisp.org>
45152
45153         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
45154         * lib/winsock.c: Include <stdarg.h>.
45155         (rpl_ioctl): Change to second argument 'int' and then varargs.
45156
45157 2008-10-09  Bruno Haible  <bruno@clisp.org>
45158
45159         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
45160         when the sys_socket module is present and the system has <winsock2.h>.
45161
45162 2008-10-09  Bruno Haible  <bruno@clisp.org>
45163
45164         * doc/posix-functions/close.texi: Mention module 'close' instead of
45165         module 'sys_socket'.
45166
45167 2008-10-09  Bruno Haible  <bruno@clisp.org>
45168
45169         * doc/glibc-headers/sys_ioctl.texi: New file.
45170         * doc/gnulib.texi: Include it.
45171
45172 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45173             Bruno Haible  <bruno@clisp.org>
45174
45175         Combine the two replacements of 'close'.
45176         * lib/sys_socket.in.h (close): Define to a reminder to include
45177         <unistd.h>.
45178         (_gl_close_fd_maybe_socket): New declaration.
45179         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
45180         * lib/winsock.c (close): Remove undefinition.
45181         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
45182         needed for the gnulib module 'close'.
45183         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
45184         define to an error symbol or to a warning, if suitable.
45185         * lib/close.c: Include <sys/socket.h>.
45186         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
45187         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
45188         UNISTD_H_HAVE_WINSOCK2_H.
45189         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
45190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45191         UNISTD_H_HAVE_WINSOCK2_H.
45192         * modules/sys_socket (Files): Add m4/unistd_h.m4.
45193         (configure.ac): Set a module indicator.
45194         (Makefile.am): Substitute GNULIB_CLOSE.
45195         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
45196         * modules/poll-tests (Depends-on): Add close.
45197         * modules/select-tests (Depends-on): Likewise.
45198
45199 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45200             Bruno Haible  <bruno@clisp.org>
45201
45202         New module 'close'.
45203         * modules/close: New file.
45204         * lib/unistd.in.h (close): Move declaration out of the
45205         FCHDIR_REPLACEMENT scope.
45206         (_gl_unregister_fd): New declaration.
45207         * lib/close.c: New file.
45208         * lib/fchdir.c (rpl_close): Remove function.
45209         * m4/close.m4: New file.
45210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45211         close.
45212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
45213         REPLACE_CLOSE.
45214         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
45215         REPLACE_CLOSE.
45216         * modules/fchdir (Depends-on): Add close.
45217
45218 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45219             Bruno Haible  <bruno@clisp.org>
45220
45221         * lib/fcntl.in.h (open): Simplify conditionals.
45222         (_gl_register_fd): New declaration.
45223         * lib/fchdir.c (rpl_open): Remove function.
45224         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
45225         also.
45226         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
45227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
45228         open.
45229
45230 2008-10-09  Jim Meyering  <meyering@redhat.com>
45231
45232         GNUmakefile: use the more name-space-friendly "_version"
45233         * top/GNUmakefile (_dummy): Update.
45234         (_version): Rename from "version".
45235
45236 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45237             Bruno Haible  <bruno@clisp.org>
45238
45239         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
45240         rpl_close.
45241         (_gl_register_fd): New function, extracted from rpl_open.
45242         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
45243         (rpl_open, rpl_opendir): Use _gl_register_fd.
45244
45245 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
45246
45247         Fix organization of 'open' replacement.
45248         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
45249         (gl_FUNC_OPEN): Use it.
45250         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
45251
45252 2008-10-08  Bruno Haible  <bruno@clisp.org>
45253
45254         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
45255
45256 2008-10-08  Simon Josefsson  <simon@josefsson.org>
45257
45258         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
45259         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
45260         listen).
45261
45262 2008-10-08  Eric Blake  <ebb9@byu.net>
45263
45264         GNUmakefile: add 'make version' target
45265         * top/GNUmakefile (_curr-ver): Split version update rules...
45266         (version): ...into a target.
45267
45268 2008-10-07  Bruno Haible  <bruno@clisp.org>
45269
45270         Use a more portable replacement expression for -0.0L.
45271         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
45272         instead of -0.0L. Fix m4 quotation.
45273
45274         * tests/test-signbit.c: Include <float.h>.
45275         (minus_zero): New variable.
45276         (test_signbitl): Use minus_zero instead of -zero.
45277         * modules/signbit-tests (Depends-on): Add float.
45278
45279         * tests/test-ceill.c: Include <float.h>.
45280         (zero): Remove variable.
45281         (minus_zero): New variable.
45282         (main): Use minus_zero instead of -zero.
45283         * modules/ceill-tests (Depends-on): Add float.
45284
45285         * tests/test-floorl.c: Include <float.h>.
45286         (zero): Remove variable.
45287         (minus_zero): New variable.
45288         (main): Use minus_zero instead of -zero.
45289         * modules/floorl-tests (Depends-on): Add float.
45290
45291         * tests/test-roundl.c: Include <float.h>.
45292         (zero): Remove variable.
45293         (minus_zero): New variable.
45294         (main): Use minus_zero instead of -zero.
45295         * modules/roundl-tests (Depends-on): Add float.
45296
45297         * tests/test-truncl.c: Include <float.h>.
45298         (zero): Remove variable.
45299         (minus_zero): New variable.
45300         (main): Use minus_zero instead of -zero.
45301         * modules/truncl-tests (Depends-on): Add float.
45302
45303         * tests/test-frexpl.c (zero): Remove variable.
45304         (minus_zero): New variable.
45305         (main): Use minus_zero instead of -zero.
45306         * modules/frexpl-tests (Depends-on): Add float.
45307
45308         * tests/test-isnan.c (zerol): Remove variable.
45309         (minus_zerol): New variable.
45310         (test_long_double): Use minus_zerol instead of -zerol.
45311         * modules/isnan-tests (Depends-on): Add float.
45312
45313         * tests/test-isnanl.h (zero): Remove variable.
45314         (minus_zero): New variable.
45315         (main): Use minus_zero instead of -zero.
45316         * modules/isnanl-nolibm-tests (Depends-on): Add float.
45317         * modules/isnanl-tests (Depends-on): Add float.
45318
45319         * tests/test-ldexpl.c (zero): Remove variable.
45320         (minus_zero): New variable.
45321         (main): Use minus_zero instead of -zero.
45322         * modules/ldexpl-tests (Depends-on): Add float.
45323
45324         * tests/test-snprintf-posix.h (zerol): Remove variable.
45325         (minus_zerol): New variable.
45326         (test_function): Use minus_zerol instead of -zerol.
45327         * modules/snprintf-posix-tests (Depends-on): Add float.
45328         * modules/vsnprintf-posix-tests (Depends-on): Add float.
45329
45330         * tests/test-sprintf-posix.h (zerol): Remove variable.
45331         (minus_zerol): New variable.
45332         (test_function): Use minus_zerol instead of -zerol.
45333         * modules/sprintf-posix-tests (Depends-on): Add float.
45334         * modules/vsprintf-posix-tests (Depends-on): Add float.
45335
45336         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
45337         (minus_zerol): New variable.
45338         (test_function): Use minus_zerol instead of -zerol.
45339         * modules/vasnprintf-posix-tests (Depends-on): Add float.
45340
45341         * tests/test-vasprintf-posix.c (zerol): Remove variable.
45342         (minus_zerol): New variable.
45343         (test_function): Use minus_zerol instead of -zerol.
45344         * modules/vasprintf-posix-tests (Depends-on): Add float.
45345
45346 2008-10-07  Simon Josefsson  <simon@josefsson.org>
45347
45348         * MODULES.html.sh (Support for building documentation): Mention
45349         pmccabe2html.  Sort entries.
45350
45351         Add pmccabe2html module, from gnupdf.
45352         * build-aux/pmccabe.css: New file.
45353         * build-aux/pmccabe2html: New file.
45354         * m4/pmccabe2html.m4: New file.
45355         * modules/pmccabe2html: New file.
45356
45357 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
45358
45359         flock: new module
45360         * MODULES.html.sh: Add to list of modules.
45361         * lib/flock.c: flock implementation for Windows and Unix systems
45362         which have fcntl.
45363         * doc/glibc-functions/flock.texi: Update documentation.
45364         * lib/sys_file.in.h: <sys/file.h> header file.
45365         * m4/flock.m4: M4 macros.
45366         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
45367         * modules/flock: flock module.
45368         * modules/flock-tests: flock tests module.
45369         * modules/sys_file: sys/file.h module.
45370         * tests/test-flock.c: test suite for flock.
45371
45372 2008-10-06  Jim Meyering  <meyering@redhat.com>
45373
45374         bootstrap: check for LT_INIT more portably still ;-)
45375         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
45376         Spotted by Bruno Haible.
45377
45378 2008-10-06  Eric Blake  <ebb9@byu.net>
45379
45380         test-signbit: avoid tripping Irix cc bug on -0.0L
45381         * tests/test-signbit.c (minus_zerol): Delete, and replace with
45382         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
45383         entire testsuite consistent and avoids an Irix 6.2 bug.
45384
45385 2008-10-05  Bruno Haible  <bruno@clisp.org>
45386             Jim Meyering  <jim@meyering.net>
45387
45388         Add an option for ignoring EPIPE during close_stdout.
45389         * lib/closeout.h: Include <stdbool.h>.
45390         (close_stdout_set_ignore_EPIPE): New declaration.
45391         * lib/closeout.c: Include <stdbool.h>.
45392         (ignore_EPIPE): New variable.
45393         (close_stdout_set_ignore_EPIPE): New function.
45394         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
45395         * lib/close-stream.c (close_stream): Mention the possible EPIPE
45396         failure.
45397         * modules/closeout (Depends-on): Add stdbool.
45398
45399 2008-10-05  Bruno Haible  <bruno@clisp.org>
45400
45401         * modules/accept: New file.
45402         * modules/bind: New file.
45403         * modules/connect: New file.
45404         * modules/getpeername: New file.
45405         * modules/getsockname: New file.
45406         * modules/getsockopt: New file.
45407         * modules/listen: New file.
45408         * modules/recv: New file.
45409         * modules/recvfrom: New file.
45410         * modules/send: New file.
45411         * modules/sendto: New file.
45412         * modules/setsockopt: New file.
45413         * modules/socket: New file.
45414         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
45415         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
45416         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
45417         the particular module is requested. Add a link warning when the
45418         particular module is not requested.
45419         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
45420         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
45421         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
45422         the particular module is requested.
45423         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
45424         gl_SYS_SOCKET_H_DEFAULTS): New macros.
45425         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
45426         * modules/sys_socket (Depends-on): Add link-warning.
45427         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
45428         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
45429         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
45430         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
45431         GL_LINK_WARNING.
45432         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
45433         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
45434         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
45435         * doc/posix-functions/getpeername.texi: Mention the new module
45436         'getpeername'.
45437         * doc/posix-functions/getsockname.texi: Mention the new module
45438         'getsockname'.
45439         * doc/posix-functions/getsockopt.texi: Mention the new module
45440         'getsockopt'.
45441         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
45442         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
45443         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
45444         * doc/posix-functions/send.texi: Mention the new module 'send'.
45445         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
45446         * doc/posix-functions/setsockopt.texi: Mention the new module
45447         'setsockopt'.
45448         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
45449         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
45450         listen, connect, accept.
45451         * modules/select-tests (Depends-on): Likewise.
45452
45453 2008-10-05  Bruno Haible  <bruno@clisp.org>
45454
45455         * lib/winsock.c (strerror): Remove unused #undef.
45456         (rpl_close): Remove unused local variable.
45457
45458         * modules/sys_socket (Depends-on); Add errno.
45459
45460 2008-10-05  Bruno Haible  <bruno@clisp.org>
45461
45462         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
45463         (select): Add a link warning when the 'select' module is not used.
45464         * modules/sys_select (Depends-on): Add link-warning.
45465         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
45466         Suggested by Paolo Bonzini.
45467
45468 2008-10-05  Jim Meyering  <meyering@redhat.com>
45469
45470         bootstrap: check for LT_INIT more portably
45471         * build-aux/bootstrap: Avoid using grep -E, since it's not
45472         portable enough.  Suggestion from Bruno Haible.
45473
45474 2008-10-05  Bruno Haible  <bruno@clisp.org>
45475
45476         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
45477         as being fixed by gnulib.
45478
45479 2008-10-05  Bruno Haible  <bruno@clisp.org>
45480
45481         * modules/select-tests: New file, mostly copied from
45482         modules/sys_select-tests.
45483         * tests/test-select.c: New file, mostly copied from
45484         tests/test-sys_select.c.
45485         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
45486         * modules/sys_select-tests (Depends-on): Remove all dependencies.
45487         (Makefile.am): Remove test_sys_select_LDADD.
45488
45489         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
45490         to an undefined symbol, for an error message.
45491         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
45492         (gl_SYS_SELECT_H_DEFAULTS): New macro.
45493         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
45494         winsock-select.c here.
45495         * modules/sys_select (Files): Remove lib/winsock-select.c.
45496         (Depends-on): Remove alloca.
45497         (Makefile.am): Substitute GNULIB_SELECT.
45498         * modules/select: New file.
45499         * doc/posix-functions/select.texi: Update.
45500
45501 2008-10-05  Bruno Haible  <bruno@clisp.org>
45502
45503         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
45504         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
45505         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
45506         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
45507         getdtablesize.
45508         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
45509         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
45510
45511 2008-10-05  Bruno Haible  <bruno@clisp.org>
45512
45513         * modules/getdtablesize-tests: New file.
45514         * tests/test-getdtablesize.c: New file.
45515
45516         New module 'getdtablesize'.
45517         * lib/unistd.in.h (getdtablesize): New declaration.
45518         * lib/getdtablesize.c: New file.
45519         * m4/getdtablesize.m4: New file.
45520         * modules/getdtablesize: New file.
45521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45522         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
45523         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
45524         HAVE_GETDTABLESIZE.
45525         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
45526
45527 2008-10-05  Bruno Haible  <bruno@clisp.org>
45528
45529         * modules/sched (Makefile.am): Fix typo.
45530         Reported by Simon Josefsson.
45531
45532 2008-10-05  Jim Meyering  <meyering@redhat.com>
45533
45534         bootstrap: check for LT_INIT, too
45535         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
45536         are deprecated.  Suggestion from Ralf Wildenhues.
45537
45538 2008-10-05  Bruno Haible  <bruno@clisp.org>
45539
45540         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
45541         overriding them by ours.
45542         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
45543
45544 2008-10-05  Jim Meyering  <meyering@redhat.com>
45545
45546         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
45547         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
45548         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
45549
45550 2008-10-04  Bruno Haible  <bruno@clisp.org>
45551
45552         * modules/dup2 (License): Change to LGPLv2+.
45553         * modules/sleep (License): Likewise.
45554         * modules/perror (License): Likewise.
45555         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
45556         Blake.
45557         * modules/signal (License): Likewise.
45558         * modules/sigprocmask (License): Likewise.
45559         * modules/raise (License): Change to LGPLv2+, with approval by Jim
45560         Meyering.
45561
45562 2008-10-04  Bruno Haible  <bruno@clisp.org>
45563
45564         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
45565         Reported by Rainer Tammer <tammer@tammer.net>.
45566
45567 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
45568             Bruno Haible  <bruno@clisp.org>
45569
45570         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
45571         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
45572         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
45573
45574 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
45575
45576         filevercmp: new module
45577         * lib/filevercmp.h: New function filevercmp comparing version strings.
45578         * lib/filevercmp.c: Implementation of filevercmp function.
45579         * modules/filevercmp: Module metadata.
45580         * tests/test-filevercmp.c: Unit test for new module.
45581         * modules/filevercmp-tests: Unit test metadata.
45582         * MODULES.html.sh: Add filevercmp module.
45583
45584 2008-10-03  Bruno Haible  <bruno@clisp.org>
45585
45586         * lib/c-ctype.h: Add comment.
45587         Reported by Jim Meyering.
45588
45589 2008-10-02  Bruno Haible  <bruno@clisp.org>
45590
45591         * modules/posix_spawn-internal (Depends-on): Add 'open'.
45592
45593 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45594
45595         * build-aux/bootstrap: Allow renaming bootstrap, and change the
45596         name of bootstrap.conf accordingly.
45597
45598 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45599
45600         * build-aux/bootstrap: Install git-merge-changelog configuration
45601         items into .gitconfig if needed.
45602
45603 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
45604
45605         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
45606         git repository, and initialize/update it accordingly.
45607
45608 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
45609
45610         * modules/fsync-tests: New file.
45611         * tests/test-fsync.c: New file.
45612
45613         New module 'fsync'.
45614         * lib/fsync.c: New file.
45615         * m4/fsync.m4: New file.
45616         * modules/fsync: New file.
45617         * lib/unistd.in.h (fsync): New declaration.
45618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
45619         GNULIB_FSYNC and HAVE_FSYNC.
45620         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
45621         * MODULES.html.sh (posix_functions): Add fsync.
45622         * doc/posix-functions/fsync.texi: Mention the new module.
45623
45624 2008-10-02  Jim Meyering  <meyering@redhat.com>
45625
45626         fts.c: sync with similar code from coreutils' remove.c
45627         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
45628         Guard also with "#if defined __linux__", since for now at least,
45629         this code is Linux-kernel-specific.
45630
45631 2008-10-02  Jim Meyering  <meyering@redhat.com>
45632
45633         fts: bug fixes
45634         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
45635         Include <sys/vfs.h>, not <sys/statfs.h>.
45636
45637         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
45638         Include <sys/vfs.h>, not <sys/statfs.h>.
45639
45640 2008-10-01  Bruno Haible  <bruno@clisp.org>
45641
45642         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
45643         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
45644         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
45645         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
45646         * doc/posix-functions/posix_spawnp.texi: Likewise.
45647         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
45648         whether posix_spawn actually works.
45649         * m4/pipe.m4 (gl_PIPE): Likewise.
45650         * modules/execute (Files): Add m4/posix_spawn.m4.
45651         * modules/pipe (Files): Add m4/posix_spawn.m4.
45652         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
45653
45654 2008-10-01  Jim Meyering  <meyering@redhat.com>
45655
45656         remove trailing spaces
45657         * NEWS: Likewise.
45658         * lib/poll.c (poll): Likewise.
45659         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
45660         * lib/winsock.c (rpl_close): Likewise.
45661         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
45662         * modules/yield: Likewise.
45663         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
45664         * tests/test-sys_select.c (connect_to_socket): Likewise.
45665
45666         fts.c: adjust a new interface to be more generally useful
45667         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
45668         (fts_build): Adjust caller.
45669
45670 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45671
45672         * modules/cond-tests: New file.
45673         * tests/test-cond.c: New file.
45674
45675 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45676             Bruno Haible  <bruno@clisp.org>
45677
45678         * modules/cond (Dependencies): Add errno, time.
45679         * lib/glthread/cond.h: Include <time.h>.
45680         (gl_cond_define, gl_cond_define_initialized): Use the same definition
45681         across platforms.
45682
45683 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45684             Bruno Haible  <bruno@clisp.org>
45685
45686         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
45687
45688 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45689             Bruno Haible  <bruno@clisp.org>
45690
45691         * modules/tls-tests (Depends-on): Add thread, yield.
45692         (configure.ac): Remove all checks.
45693         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
45694         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45695         gl_thread_self): Remove definitions. Include glthread/thread.h and
45696         glthread/yield.h instead.
45697         (test_tls): Pass an additional NULL argument to gl_thread_join.
45698
45699 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45700             Bruno Haible  <bruno@clisp.org>
45701
45702         * modules/lock-tests (Depends-on): Add thread, yield.
45703         (configure.ac): Remove all checks.
45704         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
45705         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
45706         gl_thread_self): Remove definitions. Include glthread/thread.h and
45707         glthread/yield.h instead.
45708         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
45709         additional NULL argument to gl_thread_join.
45710
45711 2008-09-30  Bruno Haible  <bruno@clisp.org>
45712
45713         Fix the Win32 implementation of the 'thread' module.
45714         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
45715         pointer type.
45716         (gl_thread_self): Invoke gl_thread_self_func.
45717         (gl_thread_self_func): New declaration.
45718         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
45719         (do_init_self_key, init_self_key): New functions.
45720         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
45721         Remove some fields.
45722         (running_threads, running_lock): Remove variables.
45723         (get_current_thread_handle): New function.
45724         (gl_thread_self_func, wrapper_func, glthread_create_func,
45725         glthread_join_func, gl_thread_exit_func): Largely rewritten and
45726         simplified.
45727
45728 2008-09-30  Bruno Haible  <bruno@clisp.org>
45729
45730         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
45731         files.
45732
45733 2008-09-30  Jim Meyering  <meyering@redhat.com>
45734
45735         fts.m4: correct the test for statfs.f_type
45736         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
45737         when checking for statfs.f_type.
45738
45739 2008-09-15  Simon Josefsson  <simon@josefsson.org>
45740
45741         tests: avoid some compiler warnings
45742         * tests/test-memchr.c (main): Pass NULL indirectly.
45743         * tests/test-getdate.c (main): Remove unused variable 'ret'.
45744
45745 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
45746
45747         getdate.y: disallow countable dayshifts like "4 yesterday ago"
45748         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
45749         exactly specified dayshifts.
45750         (dayshift): New rule.
45751         (rel): Add dayshift.
45752         (relative_time_table) [tomorrow, yesterday, today, now]:
45753         Use tDAY_SHIFT in place of tDAY_UNIT.
45754         * tests/test-getdate.c: Add tests for now-disallowed countable
45755         dayshifts, e.g., "4 yesterday ago".
45756
45757 2008-09-29  Bruno Haible  <bruno@clisp.org>
45758
45759         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
45760         * tests/test-posix_spawn1.in.sh: Renamed from
45761         tests/test-posix_spawn.in.sh.
45762         * tests/test-posix_spawn2.c: New file.
45763         * tests/test-posix_spawn2.in.sh: New file.
45764         * modules/posix_spawnp-tests (Files): Update.
45765         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
45766
45767 2008-09-29  Bruno Haible  <bruno@clisp.org>
45768
45769         Propagate effects of putenv/setenv/unsetenv to child processes.
45770         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
45771         * lib/pipe.c (create_pipe): Likewise.
45772
45773 2008-09-29  Bruno Haible  <bruno@clisp.org>
45774
45775         Enable use of shell scripts as executables in mingw.
45776         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
45777         run the program as a shell script.
45778         * lib/pipe.c (create_pipe): Likewise.
45779         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
45780         resulting array.
45781
45782 2008-09-29  Eric Blake  <ebb9@byu.net>
45783
45784         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
45785
45786 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
45787
45788         * doc/posix-functions/accept.texi: Update mingw problems.
45789         * doc/posix-functions/bind.texi: Update mingw problems.
45790         * doc/posix-functions/close.texi: Update mingw problems.
45791         * doc/posix-functions/connect.texi: Update mingw problems.
45792         * doc/posix-functions/getpeername.texi: Update mingw problems.
45793         * doc/posix-functions/getsockname.texi: Update mingw problems.
45794         * doc/posix-functions/getsockopt.texi: Update mingw problems.
45795         * doc/posix-functions/ioctl.texi: Update mingw problems.
45796         * doc/posix-functions/listen.texi: Update mingw problems.
45797         * doc/posix-functions/recv.texi: Update mingw problems.
45798         * doc/posix-functions/recvfrom.texi: Update mingw problems.
45799         * doc/posix-functions/select.texi: Update mingw problems.
45800         * doc/posix-functions/send.texi: Update mingw problems.
45801         * doc/posix-functions/sendto.texi: Update mingw problems.
45802         * doc/posix-functions/setsockopt.texi: Update mingw problems.
45803         * doc/posix-functions/socket.texi: Update mingw problems.
45804
45805 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
45806             Bruno Haible  <bruno@clisp.org>
45807
45808         * lib/sys_select.in.h: Include sys/time.h.
45809         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
45810         * modules/sys_select: Depend on sys_time.
45811         * tests/test-sys_select.c: Test that sys/select.h defines struct
45812         timeval fully.
45813
45814 2008-09-29  Bruno Haible  <bruno@clisp.org>
45815
45816         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
45817         * lib/sys_select.in.h: Likewise.
45818
45819 2008-09-29  Bruno Haible  <bruno@clisp.org>
45820
45821         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
45822
45823 2008-09-29  Bruno Haible  <bruno@clisp.org>
45824
45825         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
45826         Set LIBSOCKET instead of augmenting LIBS.
45827         * modules/sockets (Link): New section.
45828         * modules/sockets-tests (test_sockets_LDADD): New variable.
45829         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
45830         * modules/poll-tests (test_poll_LDADD): New variable.
45831         * NEWS: Document the change.
45832
45833 2008-09-29  Bruno Haible  <bruno@clisp.org>
45834
45835         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
45836         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
45837         ARPA_INET_H directly.
45838         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45839
45840 2008-09-28  Bruno Haible  <bruno@clisp.org>
45841
45842         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
45843         from gl_HEADER_SYS_SOCKET.
45844         (gl_HEADER_SYS_SOCKET): Invoke it.
45845         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45846
45847 2008-09-28  Bruno Haible  <bruno@clisp.org>
45848
45849         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
45850         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
45851         Needed on OSF/1 4.0.
45852
45853 2008-09-28  Bruno Haible  <bruno@clisp.org>
45854
45855         Override open more carefully.
45856         * lib/open.c (orig_open): New function.
45857         (rpl_open): Use orig_open instead of open.
45858         * lib/fcntl.in.h: Add special invocation convention.
45859         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
45860         (gl_FUNC_OPEN): Invoke it.
45861
45862         Override freopen more carefully.
45863         * lib/freopen.c (orig_freopen): New function.
45864         (rpl_freopen): Use orig_freopen instead of freopen.
45865         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
45866         (gl_FUNC_FREOPEN): Invoke it.
45867
45868         Override fopen more carefully.
45869         * lib/fopen.c (orig_fopen): New function.
45870         (rpl_fopen): Use orig_fopen instead of fopen.
45871         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
45872         (gl_FUNC_FOPEN): Invoke it.
45873         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
45874
45875 2008-09-28  Bruno Haible  <bruno@clisp.org>
45876
45877         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
45878         SIGPIPE.
45879
45880 2008-09-28  Bruno Haible  <bruno@clisp.org>
45881
45882         * tests/test-sigaction.c (handler, main): Disable the check whether
45883         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
45884         glibc systems with LinuxThreads.
45885
45886 2008-09-28  Bruno Haible  <bruno@clisp.org>
45887
45888         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
45889
45890         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
45891         with AIX xlc.
45892         * lib/fcntl.in.h (open): Likewise.
45893         Reported by Rainer Tammer <tammer@tammer.net>.
45894
45895 2008-09-28  Bruno Haible  <bruno@clisp.org>
45896
45897         * modules/posix_spawnp-tests: New file.
45898         * tests/test-posix_spawn.c: New file.
45899         * tests/test-posix_spawn.in.sh: New file.
45900
45901         New module 'posix_spawnp'.
45902         * modules/posix_spawnp: New file.
45903         * lib/spawnp.c: New file, from GNU libc with modifications.
45904         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
45905
45906         New module 'posix_spawn'.
45907         * modules/posix_spawn: New file.
45908         * lib/spawn.c: New file, from GNU libc with modifications.
45909         * doc/posix-functions/posix_spawn.texi: Mention the new module.
45910
45911         New module 'posix_spawnattr_destroy'.
45912         * modules/posix_spawnattr_destroy: New file.
45913         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
45914         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
45915         module.
45916
45917         New module 'posix_spawnattr_setsigmask'.
45918         * modules/posix_spawnattr_setsigmask: New file.
45919         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
45920         modifications.
45921         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
45922         new module.
45923
45924         New module 'posix_spawnattr_getsigmask'.
45925         * modules/posix_spawnattr_getsigmask: New file.
45926         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
45927         modifications.
45928         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
45929         new module.
45930
45931         New module 'posix_spawnattr_setsigdefault'.
45932         * modules/posix_spawnattr_setsigdefault: New file.
45933         * lib/spawnattr_setdefault.c: New file, from GNU libc with
45934         modifications.
45935         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
45936         new module.
45937
45938         New module 'posix_spawnattr_getsigdefault'.
45939         * modules/posix_spawnattr_getsigdefault: New file.
45940         * lib/spawnattr_getdefault.c: New file, from GNU libc with
45941         modifications.
45942         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
45943         new module.
45944
45945         New module 'posix_spawnattr_setschedpolicy'.
45946         * modules/posix_spawnattr_setschedpolicy: New file.
45947         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
45948         modifications.
45949         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
45950         new module.
45951
45952         New module 'posix_spawnattr_getschedpolicy'.
45953         * modules/posix_spawnattr_getschedpolicy: New file.
45954         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
45955         modifications.
45956         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
45957         new module.
45958
45959         New module 'posix_spawnattr_setschedparam'.
45960         * modules/posix_spawnattr_setschedparam: New file.
45961         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
45962         modifications.
45963         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
45964         new module.
45965
45966         New module 'posix_spawnattr_getschedparam'.
45967         * modules/posix_spawnattr_getschedparam: New file.
45968         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
45969         modifications.
45970         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
45971         new module.
45972
45973         New module 'posix_spawnattr_setpgroup'.
45974         * modules/posix_spawnattr_setpgroup: New file.
45975         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
45976         modifications.
45977         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
45978         module.
45979
45980         New module 'posix_spawnattr_getpgroup'.
45981         * modules/posix_spawnattr_getpgroup: New file.
45982         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
45983         modifications.
45984         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
45985         module.
45986
45987         New module 'posix_spawnattr_setflags'.
45988         * modules/posix_spawnattr_setflags: New file.
45989         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
45990         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
45991         module.
45992
45993         New module 'posix_spawnattr_getflags'.
45994         * modules/posix_spawnattr_getflags: New file.
45995         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
45996         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
45997         module.
45998
45999         New module 'posix_spawnattr_init'.
46000         * modules/posix_spawnattr_init: New file.
46001         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
46002         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
46003         module.
46004
46005         New module 'posix_spawn_file_actions_destroy'.
46006         * modules/posix_spawn_file_actions_destroy: New file.
46007         * lib/spawn_faction_destroy.c: New file, from GNU libc with
46008         modifications.
46009         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
46010         the new module.
46011
46012         New module 'posix_spawn_file_actions_addopen'.
46013         * modules/posix_spawn_file_actions_addopen: New file.
46014         * lib/spawn_faction_addopen.c: New file, from GNU libc with
46015         modifications.
46016         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
46017         the new module.
46018
46019         New module 'posix_spawn_file_actions_adddup2'.
46020         * modules/posix_spawn_file_actions_adddup2: New file.
46021         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
46022         modifications.
46023         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
46024         the new module.
46025
46026         New module 'posix_spawn_file_actions_addclose'.
46027         * modules/posix_spawn_file_actions_addclose: New file.
46028         * lib/spawn_faction_addclose.c: New file, from GNU libc with
46029         modifications.
46030         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
46031         the new module.
46032
46033         New module 'posix_spawn_file_actions_init'.
46034         * modules/posix_spawn_file_actions_init: New file.
46035         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
46036         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
46037         new module.
46038
46039         New module 'posix_spawn-internal'.
46040         * modules/posix_spawn-internal: New file.
46041         * lib/spawn_int.h: New file, from GNU libc with modifications.
46042         * lib/spawni.c: New file, from GNU libc with modifications.
46043         * m4/posix_spawn.m4: New file.
46044
46045         New module 'spawn'.
46046         * modules/spawn: New file.
46047         * lib/spawn.in.h: New file, from GNU libc with modifications.
46048         * m4/spawn_h.m4: New file.
46049         * doc/posix-headers/spawn.texi: Mention the new module.
46050
46051 2008-09-28  Bruno Haible  <bruno@clisp.org>
46052
46053         * modules/sched-tests: New file.
46054         * tests/test-sched.c: New file.
46055
46056         New module 'sched'.
46057         * modules/sched: New file.
46058         * lib/sched.in.h: New file.
46059         * m4/sched_h.m4: New file.
46060         * doc/posix-headers/sched.texi: Mention the new module.
46061
46062 2008-09-27  Eric Blake  <ebb9@byu.net>
46063
46064         Fix previous patch, and tweak references to $0.
46065         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
46066         (func_version, func_gnulib_dir): Don't call this program
46067         gnulib-tool.
46068         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
46069         with using $0 in function.
46070         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
46071         (func_fatal_error): Reuse the name the user invoked us with.
46072
46073 2008-09-27  Bruno Haible  <bruno@clisp.org>
46074
46075         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
46076         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
46077         (gl_ICONV_H): Not here.
46078         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
46079         instead of assigning ICONV_H directly.
46080
46081         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
46082         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
46083         WCHAR_H directly.
46084
46085 2008-09-27  Bruno Haible  <bruno@clisp.org>
46086
46087         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
46088         * modules/arpa_inet (Depends-on): Add link-warning.
46089         (Makefile.am): Insert the definition of GL_LINK-WARNING.
46090         * modules/unistd (Makefile.am): Likewise.
46091
46092 2008-09-26  Bruno Haible  <bruno@clisp.org>
46093
46094         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
46095         variables.
46096         (func_version): Essentially copied from gnulib-tool.
46097         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
46098         func_readlink): Copied from gnulib-tool.
46099
46100 2008-09-26  Bruno Haible  <bruno@clisp.org>
46101
46102         * gnulib-tool (func_version): Change directory to $gnulib_dir before
46103         invoking git-version-gen.
46104
46105 2008-09-26  Bruno Haible  <bruno@clisp.org>
46106
46107         * posix-modules: Update to directory names changed on 2008-01-19.
46108         Remove commas in output before splitting into words. No more need to
46109         avoid 'ftruncate' since 2007-02-19.
46110
46111 2008-09-26  Bruno Haible  <bruno@clisp.org>
46112
46113         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
46114
46115 2008-09-26  Bruno Haible  <bruno@clisp.org>
46116
46117         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
46118         * modules/fwriteerror (Depends-on): Add errno.
46119
46120 2008-09-26  Bruno Haible  <bruno@clisp.org>
46121
46122         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
46123         * tests/test-vc-list-files-cvs.sh: Likewise.
46124
46125 2008-09-26  Bruno Haible  <bruno@clisp.org>
46126
46127         * doc/posix-headers/sys_resource.texi: Reorder items.
46128
46129 2008-09-26  Jim Meyering  <meyering@redhat.com>
46130
46131         fts: tweak inode comparison function
46132         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
46133         inode numbers, as documented.
46134
46135         fts: sort dirent entries on inode number before traversing
46136         This avoids a quadratic, seek-related performance penalty when
46137         operating on a directory containing many entries (measurable at 10k;
46138         3.5 hours at 2 million entries with a cold cache) on certain types
46139         of file systems, including ext3 and ext4, but not tmpfs.
46140         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
46141         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
46142         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
46143         (fs_handles_readdir_ordered_dirents_efficiently): New function.
46144         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
46145         (fts_build): Set the stat.st_ino member from D_INO.
46146         If it is likely to be useful, sort dirent entries on inode number.
46147
46148         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
46149         and the struct statfs.f_type member.
46150         * modules/fts (Depends-on): Add d-ino.
46151
46152 2008-09-26  Bruno Haible  <bruno@clisp.org>
46153
46154         * modules/sigpipe-die (Depends-on): Add sigpipe.
46155
46156         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
46157         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
46158         and GNULIB_STDIO_H_SIGPIPE are set.
46159         * lib/stdio-write.c: New file.
46160         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
46161         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46162         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46163         REPLACE_STDIO_WRITE_FUNCS.
46164         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
46165         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46166         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46167         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46168         * modules/stdio (Files): Add lib/stdio-write.c.
46169         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
46170         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
46171         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
46172         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
46173         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
46174         REPLACE_FPRINTF_POSIX.
46175         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
46176         REPLACE_PRINTF_POSIX.
46177         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
46178         REPLACE_VFPRINTF_POSIX.
46179         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
46180         REPLACE_VPRINTF_POSIX.
46181         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
46182         SIGPIPE issue.
46183         * doc/posix-functions/fputc.texi: Likewise.
46184         * doc/posix-functions/fputs.texi: Likewise.
46185         * doc/posix-functions/fwrite.texi: Likewise.
46186         * doc/posix-functions/printf.texi: Likewise.
46187         * doc/posix-functions/putc.texi: Likewise.
46188         * doc/posix-functions/putchar.texi: Likewise.
46189         * doc/posix-functions/puts.texi: Likewise.
46190         * doc/posix-functions/vfprintf.texi: Likewise.
46191         * doc/posix-functions/vprintf.texi: Likewise.
46192
46193         * modules/safe-write (Depends-on): Add write.
46194
46195         * modules/sigpipe-tests: New file.
46196         * tests/test-sigpipe.c: New file.
46197         * tests/test-sigpipe.sh: New file.
46198
46199         * modules/write: New file.
46200         * lib/unistd.in.h: Include <sys/types.h>.
46201         (write): New declaration.
46202         * lib/write.c: New file.
46203         * m4/write.m4: New file.
46204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46205         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
46206         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
46207         GNULIB_WRITE, REPLACE_WRITE.
46208         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
46209         and the SIGPIPE issue.
46210
46211         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
46212         (raise): New declaration.
46213         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
46214         (ext_signal): New function.
46215         (rpl_raise): New function.
46216         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
46217         GNULIB_SIGNAL_H_SIGPIPE.
46218         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
46219         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
46220
46221         * modules/sigpipe: New file.
46222         * m4/sigpipe.m4: New file.
46223
46224 2008-09-25  Derek Price  <derek@ximbiot.com>
46225             Bruno Haible  <bruno@clisp.org>
46226
46227         * gnulib-tool (func_import): Report all license incompatibilities, not
46228         just the first one.
46229
46230 2008-09-25  Bruno Haible  <bruno@clisp.org>
46231
46232         * gnulib-tool (func_import): When computing the edits, consider not
46233         only the Makefile.ams that exist but also those that will be generated.
46234
46235 2008-09-25  Simon Josefsson  <simon@josefsson.org>
46236
46237         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
46238         fixes gnulib-tool --test warning about duplicate dependency.
46239
46240 2008-09-25  Bruno Haible  <bruno@clisp.org>
46241
46242         * gnulib-tool: Don't ask the user to perform edits in the generated
46243         Makefile.ams.
46244         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
46245         apply to the Makefile.am being generated.
46246         (func_emit_tests_Makefile_am): Execute edits that apply to the
46247         Makefile.am being generated.
46248         (func_import): Setup list of Makefile.am edits before emitting the
46249         Makefile.ams, not at the end.
46250         (func_create_testdir): Update.
46251         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46252
46253 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46254
46255         * gnulib-tool (func_import): Store the --tests-base option in the
46256         comment in gnulib-cache.m4.
46257
46258 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
46259
46260         * NEWS: Document increased portability that sys_select now provides.
46261
46262         * lib/sys_select.in.h: Install select wrapper.
46263         * lib/sys_socket.in.h: Use more descriptive name when there is no
46264         select wrapper.
46265         * lib/winsock-select.c: New.
46266         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
46267         Require gl_HEADER_SYS_SOCKET.
46268         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
46269         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
46270         * tests/test-sys_select.c: Add functional tests.
46271
46272 2008-09-24  Eric Blake  <ebb9@byu.net>
46273
46274         open, fopen: close fd leak in last patch
46275         * lib/open.c (rpl_open): Close fd before returning error.
46276         * lib/fopen.c (rpl_fopen): Close fd before returning error.
46277         * doc/posix-functions/open.texi (open): Document that Irix also
46278         has the bug.
46279         * doc/posix-functions/fopen.texi (fopen): Likewise.
46280         Reported by Paolo Bonzini.
46281
46282 2008-09-24  Bruno Haible  <bruno@clisp.org>
46283
46284         Ensure that a filename ending in a slash cannot be used to access a
46285         non-directory.
46286         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
46287         to check whether it's really a directory.
46288         * lib/fopen.c: Include fcntl.h, unistd.h.
46289         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
46290         and fdopen().
46291         * modules/fopen (Depends-on): Add unistd.
46292         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
46293         * tests/test-fopen.c (main): Likewise.
46294         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
46295         * doc/posix-functions/fopen.texi: Likewise.
46296         Reported by Eric Blake.
46297
46298 2008-09-23  Eric Blake  <ebb9@byu.net>
46299
46300         c-stack: avoid compiler optimizations when provoking overflow
46301         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
46302         recursion harder to optimize, to ensure a stack overflow occurs.
46303         * tests/test-c-stack.c (recurse): Likewise.
46304         Borrowed from libsigsegv.
46305
46306         c-stack: work around Irix sigaltstack bug
46307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
46308         whether sigaltstack uses wrong end of stack_t (copied in part from
46309         libsigsegv).
46310         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
46311         Irix bug, without requiring an over-allocation.
46312         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
46313         bug.
46314
46315         fopen: document mingw bug on directories
46316         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
46317         not allowing a stream visiting a directory, even though reading
46318         from such a stream is not portable.
46319
46320 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46321
46322         * lib/poll.c: Rewrite.
46323         * modules/poll: Depend on alloca.
46324
46325 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46326
46327         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
46328         instead define prototypes for a full set of wrappers.  Ensure
46329         that Cygwin does not use the compatibility code, which is only
46330         for MinGW.
46331         * lib/winsock.c: New.
46332         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
46333         * modules/sys_socket: Add lib/winsock.c.
46334
46335         * modules/poll-tests: Add errno and perror.
46336         * tests/test-poll.c: Use ioctl, not ioctlsocket.
46337
46338 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
46339
46340         * tests/test-poll.c: Downgrade minimum needed Winsock version.
46341
46342 2008-09-23  Bruno Haible  <bruno@clisp.org>
46343
46344         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
46345         * doc/glibc-functions/*: Likewise.
46346
46347 2008-09-23  Simon Josefsson  <simon@josefsson.org>
46348
46349         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
46350         success.
46351
46352 2008-09-22  Eric Blake  <ebb9@byu.net>
46353             Bruno Haible  <bruno@clisp.org>
46354
46355         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
46356         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
46357         supply %A but mishandle pseudo-NaN.
46358         Reported by Simon Josefsson.
46359
46360 2008-09-21  Bruno Haible  <bruno@clisp.org>
46361
46362         * tests/test-lock.c (main): Tweak skip message.
46363         * tests/test-tls.c (main): Likewise.
46364
46365 2008-09-21  Bruno Haible  <bruno@clisp.org>
46366
46367         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
46368         whether 'struct sigaction' has sa_sigaction here...
46369         (gl_PREREQ_SIG_HANDLER_H): ... not here.
46370         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
46371
46372 2008-09-21  Bruno Haible  <bruno@clisp.org>
46373
46374         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
46375         section.
46376         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
46377         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
46378         the new section.
46379         (Support for obsolete systems lacking POSIX:2001): New section.
46380         (String handling <string.h>): Move strdup to the new section.
46381         Suggested by Simon Josefsson and Paolo Bonzini.
46382
46383 2008-09-21  Bruno Haible  <bruno@clisp.org>
46384
46385         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
46386         exponents in %e and %g results on 'long double'. Needed for mingw's
46387         improved *printf functions.
46388         * tests/test-vasprintf-posix.c (test_function): Likewise.
46389         * tests/test-snprintf-posix.h (test_function): Likewise.
46390         * tests/test-sprintf-posix.h (test_function): Likewise.
46391         Reported by Eric Blake.
46392
46393 2008-09-21  Bruno Haible  <bruno@clisp.org>
46394
46395         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
46396         * tests/test-sprintf-posix.h (test_function): Likewise.
46397
46398 2008-09-21  Bruno Haible  <bruno@clisp.org>
46399
46400         * modules/getpass (Depends-on): Add strdup-posix.
46401
46402         New module 'strdup-posix'.
46403         * modules/strdup-posix: New file.
46404         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
46405         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
46406         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46407         REPLACE_STRDUP.
46408         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
46409         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
46410         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46411         strdup-posix.
46412
46413         * modules/strdup (Depends-on): Remove malloc-posix.
46414
46415 2008-09-20  Bruno Haible  <bruno@clisp.org>
46416
46417         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
46418         Wildenhues.
46419
46420 2008-09-20  Bruno Haible  <bruno@clisp.org>
46421
46422         Ensure that wint_t gets defined on IRIX 5.3.
46423         * lib/wchar.in.h (wint_t): Define if not defined by the system.
46424         * lib/wctype.in.h (wint_t): Likewise.
46425         (__wctype_wint_t): Remove type.
46426         (isw*): Use wint_t instead of __wctype_wint_t.
46427         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
46428         * modules/wchar (Files): Add m4/wint_t.m4.
46429         (Makefile.am): Substitute HAVE_WINT_T.
46430         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
46431         * tests/test-wctype.c: Check that wint_t is defined.
46432         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
46433         * doc/posix-headers/wctype.texi: Likewise.
46434         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46435
46436 2008-09-18  Bruno Haible  <bruno@clisp.org>
46437
46438         * gnulib-tool (func_exit): Update comment.
46439
46440 2008-09-18  Simon Josefsson  <simon@josefsson.org>
46441
46442         * modules/getaddrinfo (Depends-on): Remove strdup, this module
46443         assumes strdup exists and does not depend on strdup to return
46444         ENOMEM on out of memory conditions.
46445
46446 2008-09-18  Bruno Haible  <bruno@clisp.org>
46447
46448         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
46449         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
46450         digits for the exponent.
46451
46452 2008-09-18  Jim Meyering  <meyering@redhat.com>
46453             Bruno Haible  <bruno@clisp.org>
46454
46455         * lib/vasnprintf.c (decimal_point_char): Define also if
46456         NEED_PRINTF_INFINITE_LONG_DOUBLE.
46457
46458 2008-09-16  Bruno Haible  <bruno@clisp.org>
46459         and Eric Blake  <ebb9@byu.net>
46460
46461         vasnprintf: support Irix 5.3
46462         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
46463         that mishandle long double infinity.
46464         Reported by Tom G. Christensen.
46465
46466 2008-09-16  Bruno Haible  <bruno@clisp.org>
46467
46468         * doc/glibc-functions/scandir.texi: Mention the function is missing on
46469         Solaris 9.
46470         * doc/glibc-functions/alphasort.texi: Likewise.
46471         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
46472
46473 2008-09-16  Jim Meyering  <meyering@redhat.com>
46474
46475         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
46476         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
46477         a umask modification leak out of a subshell.  Otherwise, the
46478         opensolaris /bin/sh would be accepted and thus cause unwarranted
46479         failures in the coreutils test suite.
46480
46481 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
46482
46483         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
46484         to succeed.
46485
46486 2008-09-16  Jim Meyering  <meyering@redhat.com>
46487
46488         avoid spurious test failure when library is built without ACL support
46489         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
46490         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
46491         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
46492         * tests/test-copy-acl.sh: Likewise.
46493
46494 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46495
46496         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
46497         based on character occurrence counts.
46498
46499 2008-09-15  Eric Blake  <ebb9@byu.net>
46500
46501         tests: avoid some compiler warnings
46502         * tests/test-memchr.c (main): Pass NULL indirectly.
46503         * tests/test-closein.c (main): Avoid unused variable.
46504
46505 2008-09-15  Bruno Haible  <bruno@clisp.org>
46506
46507         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
46508         are missing on OpenBSD 4.0 individually.
46509         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46510
46511 2008-09-15  Bruno Haible  <bruno@clisp.org>
46512
46513         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
46514         * doc/posix-functions/strerror.texi: Mention also Cygwin.
46515         * doc/posix-functions/perror.texi: Likewise.
46516         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
46517         is missing.
46518         Reported by Eric Blake.
46519
46520         * lib/errno.in.h: Use replacement values >= 2000.
46521         Reported by Eric Blake.
46522
46523 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46524
46525         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
46526         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
46527         limit.
46528         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
46529         compareseq was aborted.
46530
46531 2008-09-14  Bruno Haible  <bruno@clisp.org>
46532
46533         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
46534         yvec_edit_count.
46535         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
46536         (fstrcmp_bounded): Simplify result computation accordingly.
46537
46538 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46539
46540         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
46541         (fstrcmp): Define in terms of fstrcmp_bounded.
46542         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
46543         lower_bound argument.
46544         Return quickly if the result is certainly < lower_bound.
46545         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
46546
46547 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46548
46549         * lib/diffseq.h (EARLY_ABORT): New macro.
46550         (compareseq): Change return type to bool. Return true when EARLY_ABORT
46551         evaluates to true.
46552
46553 2008-09-14  Bruno Haible  <bruno@clisp.org>
46554
46555         * modules/perror-tests: New file.
46556         * tests/test-perror.sh: New file.
46557         * tests/test-perror.c: New file.
46558
46559         New module 'perror'.
46560         * lib/stdio.in.h (perror): New declaration.
46561         * lib/perror.c: New file.
46562         * m4/perror.m4: New file.
46563         * modules/perror: New file.
46564         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
46565         * doc/posix-functions/perror.texi: Mention the perror module.
46566         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
46567         REPLACE_PERROR.
46568         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
46569         REPLACE_PERROR.
46570
46571 2008-09-14  Bruno Haible  <bruno@clisp.org>
46572
46573         * modules/stdio (Makefile.am): Reorder to match the order in
46574         lib/stdio.in.h.
46575         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46576
46577 2008-09-13  Bruno Haible  <bruno@clisp.org>
46578
46579         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
46580
46581 2008-09-13  Bruno Haible  <bruno@clisp.org>
46582
46583         Extend strerror to cover the added errno values.
46584         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
46585         (rpl_strerror): Provide error messages for the added errno values and
46586         for the WSA* values.
46587         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
46588         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
46589         strerror.
46590         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
46591         * modules/strerror (Depends-on): Add errno.
46592         * doc/posix-functions/strerror.texi: Document the change.
46593         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
46594         and EOVERFLOW.
46595
46596 2008-09-13  Bruno Haible  <bruno@clisp.org>
46597
46598         * modules/EOVERFLOW: Remove file.
46599         * m4/eoverflow.m4: Remove file.
46600         * modules/EOVERFLOW-tests: Remove file.
46601         * tests/test-EOVERFLOW.c: Remove file.
46602         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
46603         * modules/ftell (Depends-on): Likewise.
46604         * modules/getdelim (Depends-on): Likewise.
46605         * modules/getugroups (Depends-on): Likewise.
46606         * modules/poll (Depends-on): Likewise.
46607         * modules/snprintf (Depends-on): Likewise.
46608         * modules/sprintf-posix (Depends-on): Likewise.
46609         * modules/vasnprintf (Depends-on): Likewise.
46610         * modules/vasprintf (Depends-on): Likewise.
46611         * modules/vfprintf-posix (Depends-on): Likewise.
46612         * modules/vsnprintf (Depends-on): Likewise.
46613         * modules/vsprintf-posix (Depends-on): Likewise.
46614         * modules/xvasprintf (Depends-on): Likewise.
46615         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46616         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
46617         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
46618         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
46619         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46620         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
46621         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
46622         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
46623         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46624         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
46625         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
46626         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
46627         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46628         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
46629         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
46630         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
46631         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46632         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
46633         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
46634         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
46635         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46636         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
46637         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
46638         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
46639         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
46640         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46641         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
46642         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
46643         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
46644         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
46645         * MODULES.html.sh: Remove EOVERFLOW.
46646         * NEWS: Mention the change.
46647
46648 2008-09-13  Bruno Haible  <bruno@clisp.org>
46649
46650         * modules/errno-tests: New file.
46651         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
46652
46653         * lib/errno.in.h: New file.
46654         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
46655         * modules/errno: New file.
46656         * doc/posix-headers/errno.texi: Update documentation.
46657         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
46658
46659 2008-09-13  Bruno Haible  <bruno@clisp.org>
46660
46661         * tests/test-poll.c: Use #if for native Windows, rather than testing
46662         __MSVCRT__.
46663
46664 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46665             Bruno Haible  <bruno@clisp.org>
46666
46667         * lib/glob.c: Don't include <pwd.h> on native Windows.
46668         (WINDOWS32): New macro.
46669         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
46670
46671 2008-09-13  Bruno Haible  <bruno@clisp.org>
46672
46673         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
46674         (ETIMEDOUT): Remove macro.
46675         (glthread_cond_timedwait_multithreaded): New declaration.
46676         (glthread_cond_timedwait): Use it.
46677         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
46678         (glthread_cond_timedwait_multithreaded): New function.
46679
46680 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46681
46682         * modules/poll-tests: Do not check for io.h.
46683         * tests/test-poll.c: Check for __MSVCRT__ instead.
46684
46685 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46686
46687         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
46688         * modules/poll-tests: Add inet_pton, stdbool, sockets.
46689         * tests/test-poll.c: Use them.  Use _pipe on Windows.
46690
46691 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
46692
46693         * modules/poll-tests: New.
46694         * tests/test-poll.c: New.
46695
46696 2008-09-12  Eric Blake  <ebb9@byu.net>
46697
46698         frexp: test for NetBSD failure on -0.0
46699         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
46700         not all, bugs from NetBSD 3.0 have been fixed.
46701         * doc/posix-functions/frexp.texi (frexp): Document bug.
46702         Reported by Thomas Klausner.
46703
46704         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
46705         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
46706         literal -0.0.
46707         Reported by Jonathan C. Patschke <jp@centtech.com>.
46708
46709 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46710
46711         * lib/glthread/cond.h: Use dummy implementation also if
46712         USE_WIN32_THREADS.
46713
46714 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46715
46716         * modules/fnmatch-posix (License): Change to LGPLv2+.
46717         * modules/fnmatch-gnu (License): Likewise.
46718
46719 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46720
46721         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
46722
46723 2008-09-11  Jim Meyering  <meyering@redhat.com>
46724
46725         * users.txt: Add gtk-vnc.
46726
46727 2008-09-08  Simon Josefsson  <simon@josefsson.org>
46728
46729         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
46730         rotate amounts.
46731
46732         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
46733         required for 16-bit and 8-bit rotates.
46734         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
46735         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
46736         UINT8_MAX instead of hard-coded constants.
46737         Suggested by Paul Eggert.
46738
46739 2008-09-07  Bruno Haible  <bruno@clisp.org>
46740
46741         * tests/test-striconveh.c (main): Check behaviour when converting from
46742         UTF-7.
46743
46744         Make striconveh work better with stateful encodings.
46745         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
46746         that iconv does not increment the inptr when returning -1/EINVAL.
46747
46748 2008-09-07  Bruno Haible  <bruno@clisp.org>
46749
46750         * build-aux/config.rpath: Update according to libtool-2.2.6.
46751         * build-aux/config.libpath: Likewise.
46752
46753 2008-09-06  Bruno Haible  <bruno@clisp.org>
46754
46755         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
46756         * lib/freadptr.c (freadptr): Likewise.
46757         * lib/freadseek.c (freadptrinc): Likewise.
46758         Reported by Simon Josefsson.
46759
46760 2008-09-06  Bruno Haible  <bruno@clisp.org>
46761
46762         * modules/freadptr (License): Change to LGPLv2+.
46763         * modules/freadseek (License): Likewise.
46764         Suggested by Eric Blake.
46765
46766         * modules/memchr2 (License): Change to LGPLv2+.
46767         Approved by Eric Blake.
46768
46769 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46770             Bruno Haible  <bruno@clisp.org>
46771
46772         Make gnulib-tool work with native 'sed' on AIX.
46773         * gnulib-tool (sed_noop): New variable.
46774         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
46775         func_add_or_update, func_create_testdir): Use it to initialize sed
46776         script variables.
46777         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46778
46779 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
46780             Bruno Haible  <bruno@clisp.org>
46781
46782         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
46783         also works after #include directives.
46784
46785 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
46786
46787         getdate.y: reject an out-of-range timezone value
46788         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
46789         the range [-24...+24].  When specified with only one or two digits,
46790         * tests/test-getdate.c: Tests for the fix.
46791         * doc/getdate.texi: Document this change.
46792
46793 2008-09-03  Bruno Haible  <bruno@clisp.org>
46794
46795         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
46796
46797 2008-09-02  Simon Josefsson  <simon@josefsson.org>
46798
46799         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
46800         <bruce.korb@gmail.com> with ideas from Ben Pfaff
46801         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
46802         Blake <ebb9@byu.net>.
46803
46804         * tests/test-bitrotate.c: Add more test vectors.
46805
46806 2008-09-02  Eric Blake  <ebb9@byu.net>
46807
46808         vasnprintf-posix: handle large precision via %.*d
46809         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
46810         when handling it ourselves.
46811         * tests/test-vasnprintf-posix.c (test_function): Add test.
46812         * tests/test-snprintf-posix.h (test_function): Likewise.
46813         * tests/test-sprintf-posix.h (test_function): Likewise.
46814         * tests/test-vasprintf-posix.c (test_function): Likewise.
46815         Reported by Alain Guibert.
46816
46817 2008-09-01  Eric Blake  <ebb9@byu.net>
46818
46819         c-stack: make configure-time check more robust
46820         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
46821         successful sigaction call.
46822         Reported by Tom G. Christensen.
46823
46824 2008-09-01  Bruno Haible  <bruno@clisp.org>
46825
46826         New module 'findprog-lgpl'.
46827         * modules/findprog-lgpl: New file.
46828         * lib/findprog-lgpl.c: New file.
46829         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
46830         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
46831         to decide whether to use strdup or xstrdup, concatenated_filename or
46832         xconcatenated_filename.
46833
46834 2008-09-01  Bruno Haible  <bruno@clisp.org>
46835
46836         Split module 'concat-filename' into 'concat-filename' (LGPL) and
46837         'xconcat-filename' (GPL).
46838         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
46839         (License): Change to LGPLv2+.
46840         * modules/xconcat-filename: New file.
46841         * lib/concat-filename.h (concatenated_filename): Change specification.
46842         (xconcatenated_filename): New declaration.
46843         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
46844         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
46845         memory situations.
46846         * lib/xconcat-filename.c: New file.
46847         * NEWS: Mention the change.
46848         * lib/findprog.c: Include concat-filename.h, not filename.h.
46849         (find_in_path): Use xconcatenated_filename instead of
46850         concatenated_filename.
46851         * lib/javacomp.c: Include concat-filename.h, not filename.h.
46852         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46853         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46854         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46855         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
46856         instead of concatenated_filename.
46857         * lib/javaexec.c: Include concat-filename.h, not filename.h.
46858         (execute_java_class): Use xconcatenated_filename instead of
46859         concatenated_filename.
46860         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
46861         * modules/javacomp (Depends-on): Likewise.
46862         * modules/javaexec (Depends-on): Likewise.
46863
46864 2008-09-01  Bruno Haible  <bruno@clisp.org>
46865
46866         Split module 'filename' into 'filename' and 'concat-filename'.
46867         * modules/filename: Keep only lib/filename.h.
46868         (License): Change to LGPLv2+.
46869         * modules/concat-filename: New file, extracted from modules/filename.
46870         * lib/filename.h (concatenated_filename): Remove declaration.
46871         * lib/concat-filename.h: New file, extracted from lib/filename.h.
46872         * lib/concat-filename.c: Include concat-filename.h.
46873         * NEWS: Mention the change.
46874
46875 2008-09-01  Simon Josefsson  <simon@josefsson.org>
46876
46877         * lib/bitrotate.h (rotl8, rotr8): Add.
46878
46879         * modules/bitrotate (configure.ac): Need
46880         AC_REQUIRE([AC_C_INLINE]).
46881         (Description): Mention stdint.h.  Reported by Bruno Haible
46882         <bruno@clisp.org>.
46883
46884         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
46885         Paolo Bonzini <bonzini@gnu.org>.
46886
46887 2008-08-31  Bruno Haible  <bruno@clisp.org>
46888
46889         Assume Solaris specific bi-arch conventions on Solaris systems.
46890         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
46891         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
46892         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
46893         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
46894         like acl_libdirstem.
46895         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
46896         acl_libdirstem.
46897         * NEWS: Mention the change.
46898         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
46899
46900 2008-08-31  Jim Meyering  <meyering@redhat.com>
46901
46902         * lib/strftime.h: Add comments describing the two added arguments.
46903
46904         remove duplicate #include directives
46905         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
46906         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
46907
46908 2008-08-31  Bruno Haible  <bruno@clisp.org>
46909
46910         New module 'sigpipe-die'.
46911         * modules/sigpipe-die: New file.
46912         * lib/sigpipe-die.h: New file.
46913         * lib/sigpipe-die.c: New file.
46914         * MODULES.html.sh (Signal handling): Add sigpipe-die.
46915
46916 2008-08-31  Bruno Haible  <bruno@clisp.org>
46917
46918         Don't override previously installed signal handlers.
46919         * lib/fatal-signal.c (saved_sigactions): New variable.
46920         (uninstall_handlers): Reset the signal to the saved handler, not
46921         to SIG_DFL (except when ignored).
46922         (install_handlers): Save the previous handlers.
46923
46924 2008-08-30  Bruno Haible  <bruno@clisp.org>
46925
46926         * gnulib-tool (func_reset_sigpipe): New function.
46927         (func_get_automake_snippet, func_modules_transitive_closure,
46928         func_import): Invoke it before a join command that reads from stdin,
46929         to avoid "echo: write error: Broken pipe" error messages on stderr.
46930         Reported by Sam Steingold <sds@gnu.org>.
46931
46932 2008-08-30  Bruno Haible  <bruno@clisp.org>
46933
46934         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
46935         Code copied from m4/open.m4.
46936         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
46937         access and the filename ends in a slash. Code copied from lib/open.c.
46938         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
46939         * tests/test-fopen.c (main): Check against bug with trailing slash.
46940
46941 2008-08-29  Bruno Haible  <bruno@clisp.org>
46942
46943         Avoid some "gcc -pedantic" warnings.
46944         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
46945         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
46946         * lib/dirent.in.h: Likewise.
46947         * lib/fcntl.in.h: Likewise.
46948         * lib/float.in.h: Likewise.
46949         * lib/iconv.in.h: Likewise.
46950         * lib/inttypes.in.h: Likewise.
46951         * lib/locale.in.h: Likewise.
46952         * lib/math.in.h: Likewise.
46953         * lib/netinet_in.in.h: Likewise.
46954         * lib/search.in.h: Likewise.
46955         * lib/signal.in.h: Likewise.
46956         * lib/stdarg.in.h: Likewise.
46957         * lib/stdint.in.h: Likewise.
46958         * lib/stdio.in.h: Likewise.
46959         * lib/stdlib.in.h: Likewise.
46960         * lib/string.in.h: Likewise.
46961         * lib/strings.in.h: Likewise.
46962         * lib/sys_select.in.h: Likewise.
46963         * lib/sys_socket.in.h: Likewise.
46964         * lib/sys_stat.in.h: Likewise.
46965         * lib/sys_time.in.h: Likewise.
46966         * lib/sysexits.in.h: Likewise.
46967         * lib/time.in.h: Likewise.
46968         * lib/unistd.in.h: Likewise.
46969         * lib/wchar.in.h: Likewise.
46970         * lib/wctype.in.h: Likewise.
46971         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
46972         * modules/fchdir (Makefile.am): Likewise.
46973         * modules/fcntl (Makefile.am): Likewise.
46974         * modules/float (Makefile.am): Likewise.
46975         * modules/iconv_open (Makefile.am): Likewise.
46976         * modules/inttypes (Makefile.am): Likewise.
46977         * modules/locale (Makefile.am): Likewise.
46978         * modules/math (Makefile.am): Likewise.
46979         * modules/netinet_in (Makefile.am): Likewise.
46980         * modules/search (Makefile.am): Likewise.
46981         * modules/signal (Makefile.am): Likewise.
46982         * modules/stdarg (Makefile.am): Likewise.
46983         * modules/stdint (Makefile.am): Likewise.
46984         * modules/stdio (Makefile.am): Likewise.
46985         * modules/stdlib (Makefile.am): Likewise.
46986         * modules/string (Makefile.am): Likewise.
46987         * modules/strings (Makefile.am): Likewise.
46988         * modules/sys_select (Makefile.am): Likewise.
46989         * modules/sys_socket (Makefile.am): Likewise.
46990         * modules/sys_stat (Makefile.am): Likewise.
46991         * modules/sys_time (Makefile.am): Likewise.
46992         * modules/sysexits (Makefile.am): Likewise.
46993         * modules/time (Makefile.am): Likewise.
46994         * modules/unistd (Makefile.am): Likewise.
46995         * modules/wchar (Makefile.am): Likewise.
46996         * modules/wctype (Makefile.am): Likewise.
46997         Reported by Reuben Thomas <rrt@sc3d.org>.
46998
46999 2008-08-29  Bruno Haible  <bruno@clisp.org>
47000
47001         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
47002         any more.
47003
47004 2008-08-29  Simon Josefsson  <simon@josefsson.org>
47005
47006         * MODULES.html.sh (Misc): Add bitrotate.
47007
47008         * modules/bitrotate: New file.
47009
47010         * lib/bitrotate.h: New file.
47011
47012         * modules/bitrotate-tests: New file.
47013
47014         * tests/test-bitrotate.c: New file.
47015
47016         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
47017         on the bitrotate module.
47018
47019         * lib/arctwo.c: Use new bitrotate module.
47020
47021 2008-08-29  Jim Meyering  <meyering@redhat.com>
47022
47023         bootstrap: merge changes from coreutils
47024         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
47025         of copied files.  Remove a kludge, now that this is fixed.
47026         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
47027         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
47028         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
47029
47030 2008-08-29  Bruno Haible  <bruno@clisp.org>
47031
47032         * MODULES.html.sh: Remove --cvs-urls option.
47033
47034 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
47035
47036         maint.mk: adjust to file name change
47037         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
47038
47039 2008-08-28  Jim Meyering  <meyering@redhat.com>
47040
47041         * modules/getndelim2 (License): Relicense to LGPLv2+.
47042         Approved by Richard Stallman for the version of 1995, and by
47043         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
47044
47045 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
47046
47047         * lib/getdelim.c (flockfile, funlockfile): Make all of them
47048         dummy if one is not available.  Do not touch them if
47049         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
47050         (getc_maybe_unlocked): New.
47051         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
47052
47053 2008-08-26  Eric Blake  <ebb9@byu.net>
47054
47055         doc/INSTALL: resync from autoconf
47056         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
47057         (INSTALL_PRELUDE): Delete; this is done more efficiently by
47058         moving...
47059         * install.texi [!autoconf]: ...here.  Resync from autoconf.
47060         * INSTALL: Regenerate.
47061         * INSTALL.ISO: New file.
47062         * INSTALL.UTF-8: Likewise.
47063
47064 2008-08-26  Jim Meyering  <meyering@redhat.com>
47065
47066         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
47067         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
47068         these definitions conditional, so that they may be overridden, too.
47069
47070 2008-08-26  Bruno Haible  <bruno@clisp.org>
47071
47072         Generate INSTALL file variants with prettier quotes.
47073         * doc/Makefile (INSTALL_PRELUDE): New macro.
47074         (INSTALL): Use it.
47075         (INSTALL.ISO, INSTALL.UTF-8): New rules.
47076
47077 2008-08-26  Bruno Haible  <bruno@clisp.org>
47078
47079         Run makeinfo in an English locale.
47080         * doc/Makefile (MAKEINFO): New variable.
47081
47082 2008-08-26  Bruno Haible  <bruno@clisp.org>
47083
47084         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
47085         Suggested by Eric Blake.
47086
47087 2008-08-25  Bruno Haible  <bruno@clisp.org>
47088
47089         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
47090
47091 2008-08-25  Eric Blake  <ebb9@byu.net>
47092
47093         c-stack: test that stack overflow can be caught
47094         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
47095         that platform allows handling stack overflow; at least OS/2 EMX
47096         has sigaltstack, but crashes before transferring control to
47097         handler on stack overflow.
47098         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
47099         check for HAVE_STACK_OVERFLOW_HANDLING.
47100         Reported by Elbert Pol.
47101
47102 2008-08-25  Bruno Haible  <bruno@clisp.org>
47103
47104         * doc/posix-functions/strftime.texi: Fix description of strftime
47105         module.
47106
47107 2008-08-24  Bruno Haible  <bruno@clisp.org>
47108
47109         * tests/uniwidth/test-uc_width2.c: New file.
47110         * tests/uniwidth/test-uc_width2.sh: New file.
47111         * modules/uniwidth/width-tests (Files): Add the new files.
47112         (TESTS): Add uniwidth/test-uc_width2.sh.
47113         (TESTS_ENVIRONMENT): New variable.
47114         (check_PROGRAMS): Add test-uc_width2.
47115         (test_uc_width2_SOURCES): New variable.
47116
47117         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
47118         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
47119         not 0x00AB.
47120         Reported by Alexander V. Lukyanov <lav@netis.ru>.
47121
47122 2008-08-22  Eric Blake  <ebb9@byu.net>
47123
47124         test-lock, test-tls: mention why a test is skipped
47125         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
47126         skipped.
47127         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
47128
47129         count-one-bits: relax license
47130         * modules/count-one-bits (License): Relicense to LGPLv2+.
47131         Suggested by Ludovic Courtès, approved by Ben Pfaff.
47132
47133 2008-08-22  Andreas Schwab  <schwab@suse.de>
47134
47135         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
47136         Remove spurious space in assignment.
47137
47138 2008-08-21  Simon Josefsson  <simon@josefsson.org>
47139
47140         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
47141         Paul Eggert <eggert@CS.UCLA.EDU>.
47142
47143 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
47144
47145         * modules/gettext: Add m4/threadlib.m4.
47146
47147 2008-08-19  Eric Blake  <ebb9@byu.net>
47148
47149         test-c-stack: fix compilation failure on FreeBSD 5.0
47150         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
47151         headers before <sys/resource.h>.
47152         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
47153         the bug.
47154         Reported by Nelson H. F. Beebe.
47155
47156         strverscmp: migrate from "strverscmp.h" to <string.h>
47157         * modules/string (Makefile.am): Add new hooks.
47158         * modules/strverscmp (Files): Remove strverscmp.h.
47159         (Depends-on): Add string.
47160         (configure.ac): Add indicator.
47161         (Include): Mention new header.
47162         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
47163         defaults.
47164         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
47165         results.
47166         * lib/strverscmp.h: Delete.
47167         * lib/string.in.h (strverscmp): Provide declaration, when needed.
47168         * tests/test-strverscmp.c (includes): Adjust client.
47169         * lib/check-version.c (includes): Likewise.
47170         * NEWS: Document the change.
47171
47172         strverscmp: add unit test
47173         * modules/strverscmp-tests: New file.
47174         * tests/test-strverscmp.c: Likewise.
47175
47176 2008-08-19  Simon Josefsson  <simon@josefsson.org>
47177
47178         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
47179         regarding Windows crypto stuff, from Mono.
47180
47181 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
47182
47183         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
47184         if present, for intel RND.  Return error on failures.
47185
47186 2008-08-18  Ben Pfaff  <blp@gnu.org>
47187
47188         gitlog-to-changelog: give better diagnostic for failed pipe-open
47189         * build-aux/gitlog-to-changelog: Improve error message: suggest
47190         that the version of Git may be too old.
47191
47192 2008-08-18  Simon Josefsson  <simon@josefsson.org>
47193
47194         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
47195         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
47196
47197 2008-08-18  Bruno Haible  <bruno@clisp.org>
47198
47199         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
47200         pthread_in_use().
47201
47202 2008-08-18  Bruno Haible  <bruno@clisp.org>
47203
47204         * lib/glthread/threadlib.c: Include <pthread.h>.
47205
47206 2008-08-18  Bruno Haible  <bruno@clisp.org>
47207
47208         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
47209         glthread_recursive_lock_* macros.
47210         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
47211         Fix syntax error.
47212
47213 2008-08-18  Bruno Haible  <bruno@clisp.org>
47214
47215         * lib/glthread/thread.c: Avoid forcing a context switch right after
47216         thread creation.
47217
47218 2008-08-17  Bruno Haible  <bruno@clisp.org>
47219
47220         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
47221         * lib/glthread/thread.h: Provide Win32 specific implementation.
47222         * modules/thread (Files): Add lib/glthread/thread.c.
47223         (Depends-on): Add lock.
47224         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
47225
47226 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47227
47228         New module 'yield'.
47229         * modules/yield: New file.
47230         * lib/glthread/yield.h: New file.
47231         * m4/yield.m4: New file.
47232         * MODULES.html.sh (Multithreading): Add yield.
47233
47234 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47235
47236         New module 'thread'.
47237         * modules/thread: New file.
47238         * lib/glthread/thread.h: New file.
47239         * m4/thread.m4: New file.
47240         * MODULES.html.sh (Multithreading): Add thread.
47241
47242 2008-08-17  Bruno Haible  <bruno@clisp.org>
47243
47244         * lib/glthread/lock.h: Include <stdlib.h> always.
47245         * lib/glthread/tls.h: Likewise.
47246         * lib/glthread/cond.h: Likewise.
47247
47248 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47249
47250         New module 'cond'.
47251         * modules/cond: New file.
47252         * lib/glthread/cond.h: New file.
47253         * lib/glthread/cond.c: New file.
47254         * m4/cond.m4: New file.
47255         * MODULES.html.sh (Multithreading): Add cond.
47256
47257 2008-08-16  Eric Blake  <ebb9@byu.net>
47258
47259         c-stack: fix regression on Irix 5.3 from 2008-06-21
47260         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
47261         sa_sigaction...
47262         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
47263         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
47264         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
47265         * modules/signal (Makefile.am): Use the value.
47266         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
47267         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
47268         * doc/posix-headers/signal.texi (signal.h): Document this
47269         portability issue.
47270         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
47271         Reported by Tom G. Christensen.
47272
47273 2008-08-17  Bruno Haible  <bruno@clisp.org>
47274
47275         New module 'threadlib'.
47276         * modules/threadlib: New file.
47277         * lib/glthread/threadlib.c: New file, extracted from
47278         lib/glthread/lock.c.
47279         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
47280         functions.
47281         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
47282         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
47283         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
47284         macros.
47285         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
47286         (gl_DISABLE_THREADS): Remove macro.
47287         * modules/lock (Files): Remove build-aux/config.rpath.
47288         (Depends-on): Remove havelib. Add threadlib.
47289         (configure.ac-early): Remove section.
47290         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
47291         * modules/tls (Depends-on): Remove lock. Add threadlib.
47292         (Link): New section, copied from threadlib.
47293         * MODULES.html.sh (Multithreading): Add threadlib.
47294
47295 2008-08-14  Bruno Haible  <bruno@clisp.org>
47296
47297         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
47298         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
47299         glthread_rwlock_unlock, glthread_rwlock_destroy,
47300         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
47301         glthread_recursive_lock_destroy): Define as macros always.
47302         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
47303         glthread_lock_lock.
47304         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
47305         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
47306         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
47307         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
47308         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
47309         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
47310         (glthread_recursive_lock_lock_func): Renamed from
47311         glthread_recursive_lock_lock.
47312         (glthread_recursive_lock_unlock_func): Renamed from
47313         glthread_recursive_lock_unlock.
47314         (glthread_recursive_lock_destroy_func): Renamed from
47315         glthread_recursive_lock_destroy.
47316
47317 2008-08-14  Bruno Haible  <bruno@clisp.org>
47318
47319         * lib/glthread/lock.h: Renamed from lib/lock.h.
47320         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
47321         * lib/glthread/tls.h: Renamed from lib/tls.h.
47322         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
47323         * lib/fstrcmp.c: Update includes.
47324         * lib/strsignal.c: Update includes.
47325         * modules/lock (Files, Makefile.am): Update.
47326         (Include): Change to "glthread/lock.h".
47327         * modules/tls (Files, Makefile.am): Update.
47328         (Include): Change to "glthread/tls.h".
47329         * tests/test-lock.c: Update includes.
47330         * tests/test-tls.c: Update includes.
47331         * NEWS: Mention the renamed header files.
47332
47333 2008-08-11  Jim Meyering  <meyering@redhat.com>
47334
47335         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
47336
47337 2008-08-11  Eric Blake  <ebb9@byu.net>
47338
47339         test-c-stack: avoid C99-ism
47340         * tests/test-c-stack.c (main): Fix whitespace, move declaration
47341         before statement.
47342         Reported by Alain Guibert.
47343
47344 2008-08-10  Jim Meyering  <meyering@redhat.com>
47345
47346         ensure that return value of uinttostr et al are not ignored
47347         * lib/inttostr.h (__GNUC_PREREQ): Define.
47348         (__attribute_warn_unused_result__): Define.
47349         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
47350
47351 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
47352
47353         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
47354         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
47355
47356 2008-08-07  Jim Meyering  <meyering@redhat.com>
47357
47358         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
47359
47360         * modules/mkstemp (License): Relicense under LGPLv2+.
47361         * modules/tempname (License): Likewise.
47362
47363 2008-08-06  Bruno Haible  <bruno@clisp.org>
47364
47365         * lib/poll.c (poll): Further micro-optimization.
47366
47367 2008-08-06  Jim Meyering  <meyering@redhat.com>
47368
47369         inet_pton.c: use locale-independent tolower
47370         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
47371         (inet_pton6): Use c_tolower rather than tolower.
47372         * modules/inet_pton (Depends-on): Add c-ctype.
47373
47374 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
47375
47376         * lib/poll.c (poll): Avoid division when timeout is 0, cache
47377         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
47378
47379 2008-08-06  Jim Meyering  <meyering@redhat.com>
47380
47381         * modules/inet_pton (License): Relicense under LGPLv2+.
47382
47383 2008-08-03  Bruno Haible  <bruno@clisp.org>
47384
47385         Additional non-aborting API for lock and tls.
47386         * lib/lock.h: Include <errno.h>.
47387         (glthread_lock_init): New macro/function.
47388         (gl_lock_init): Define as wrapper around glthread_lock_init.
47389         (glthread_lock_lock): New macro/function.
47390         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
47391         (glthread_lock_unlock): New macro/function.
47392         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
47393         (glthread_lock_destroy): New macro/function.
47394         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
47395         (glthread_rwlock_init): New macro/function.
47396         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
47397         (glthread_rwlock_rdlock): New macro/function.
47398         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
47399         (glthread_rwlock_wrlock): New macro/function.
47400         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
47401         (glthread_rwlock_unlock): New macro/function.
47402         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
47403         (glthread_rwlock_destroy): New macro/function.
47404         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
47405         (glthread_recursive_lock_init): New macro/function.
47406         (gl_recursive_lock_init): Define as wrapper around
47407         glthread_recursive_lock_init.
47408         (glthread_recursive_lock_lock): New macro/function.
47409         (gl_recursive_lock_lock): Define as wrapper around
47410         glthread_recursive_lock_lock.
47411         (glthread_recursive_lock_unlock): New macro/function.
47412         (gl_recursive_lock_unlock): Define as wrapper around
47413         glthread_recursive_lock_unlock.
47414         (glthread_recursive_lock_destroy): New macro/function.
47415         (gl_recursive_lock_destroy): Define as wrapper around
47416         glthread_recursive_lock_destroy.
47417         (glthread_once): New macro/function.
47418         (gl_once): Define as wrapper around glthread_once.
47419         Update function declarations.
47420         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
47421         glthread_rwlock_init. Return error code.
47422         (glthread_rwlock_rdlock_multithreaded): Renamed from
47423         glthread_rwlock_rdlock. Return error code.
47424         (glthread_rwlock_wrlock_multithreaded): Renamed from
47425         glthread_rwlock_wrlock. Return error code.
47426         (glthread_rwlock_unlock_multithreaded): Renamed from
47427         glthread_rwlock_unlock. Return error code.
47428         (glthread_rwlock_destroy_multithreaded): Renamed from
47429         glthread_rwlock_destroy. Return error code.
47430         (glthread_recursive_lock_init_multithreaded): Renamed from
47431         glthread_recursive_lock_init. Return error code.
47432         (glthread_recursive_lock_lock_multithreaded): Renamed from
47433         glthread_recursive_lock_lock. Return error code.
47434         (glthread_recursive_lock_unlock_multithreaded): Renamed from
47435         glthread_recursive_lock_unlock. Return error code.
47436         (glthread_recursive_lock_destroy_multithreaded): Renamed from
47437         glthread_recursive_lock_destroy. Return error code.
47438         (glthread_once_call): Make static.
47439         (glthread_once_multithreaded): Renamed from glthread_once.
47440         * lib/tls.h: Include <errno.h>.
47441         (glthread_tls_key_init): New macro/function.
47442         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
47443         (glthread_tls_set): New macro/function.
47444         (gl_tls_set): Define as wrapper around glthread_tls_set.
47445         (glthread_tls_key_destroy): New macro/function.
47446         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
47447         Update function declarations.
47448         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
47449         glthread_tls_get.
47450         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47451
47452 2008-08-04  Eric Blake  <ebb9@byu.net>
47453
47454         gnumakefile: use space, not TAB, outside of targets
47455         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
47456
47457 2008-08-02  Jim Meyering  <meyering@redhat.com>
47458
47459         getdate.y: avoid locale-dependent date parsing failure
47460         In Turkish locales, getdate would fail to recognize keywords
47461         containing a lowercase "i".  The solution is not to rely on
47462         locale-sensitive case-conversion.
47463         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
47464         (lookup_word): Use c_toupper in place of toupper.
47465         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
47466         Reported by Vefa Bicakci <bicave@superonline.com> in
47467         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
47468         * modules/getdate (Depends-on): Add c-ctype.
47469
47470 2008-08-02  Bruno Haible  <bruno@clisp.org>
47471
47472         * gnulib-tool (func_import): When updating or creating a .gitignore
47473         file, prepend each added line with a slash, and ignore leading slashes
47474         from the existing lines.
47475         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47476
47477 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47478
47479         Portability fix for GNU make 3.79.1.
47480         * top/GNUmakefile: Avoid 'else COND', which older GNU make
47481         versions do not understand.
47482
47483 2008-08-01  Bruno Haible  <bruno@clisp.org>
47484
47485         Work around bug of HP-UX 10.20 cc with -0.0 literal.
47486         * tests/test-isnanf.h (zero): New variable.
47487         (main): Avoid literal -0.0f.
47488         * tests/test-isnand.h (zero): New variable.
47489         (main): Avoid literal -0.0.
47490         * tests/test-isnanl.h (zero): New variable.
47491         (main): Avoid literal -0.0L.
47492         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
47493         (test_float, test_double, test_long_double): Avoid literals -0.0f,
47494         -0.0, -0.0L.
47495         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
47496         (test_signbitd): Avoid literal -0.0.
47497         (test_signbitl): Avoid literal -0.0L.
47498         * tests/test-ceilf1.c (zero): New variable.
47499         (main): Avoid literal -0.0f.
47500         * tests/test-ceill.c (zero): New variable.
47501         (main): Avoid literal -0.0L.
47502         * tests/test-floorf1.c (zero): New variable.
47503         (main): Avoid literal -0.0f.
47504         * tests/test-floorl.c (zero): New variable.
47505         (main): Avoid literal -0.0L.
47506         * tests/test-roundf1.c (zero): New variable.
47507         (main): Avoid literal -0.0f.
47508         * tests/test-round1.c (zero): New variable.
47509         (main): Avoid literal -0.0.
47510         * tests/test-roundl.c (zero): New variable.
47511         (main): Avoid literal -0.0L.
47512         * tests/test-truncf1.c (zero): New variable.
47513         (main): Avoid literal -0.0f.
47514         * tests/test-trunc1.c (zero): New variable.
47515         (main): Avoid literal -0.0.
47516         * tests/test-truncl.c (zero): New variable.
47517         (main): Avoid literal -0.0L.
47518         * tests/test-frexp.c (zero): New variable.
47519         (main): Avoid literal -0.0.
47520         * tests/test-frexpl.c (zero): New variable.
47521         (main): Avoid literal -0.0L.
47522         * tests/test-ldexpl.c (zero): New variable.
47523         (main): Avoid literal -0.0L.
47524         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47525         (zerod, zerol): New variables.
47526         (test_function): Avoid literals -0.0, -0.0L.
47527         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
47528         (zerod, zerol): New variables.
47529         (test_function): Avoid literals -0.0, -0.0L.
47530         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47531         (zerod, zerol): New variables.
47532         (test_function): Avoid literals -0.0, -0.0L.
47533         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
47534         (zerod, zerol): New variables.
47535         (test_function): Avoid literals -0.0, -0.0L.
47536         * tests/test-strtod.c (zero): New variable.
47537         (main): Avoid literal -0.0.
47538         Reported by Jonathan C. Patschke <jp@centtech.com>.
47539
47540 2008-07-31  Jim Meyering  <meyering@redhat.com>
47541
47542         sha256.h: correct definition of SHA224_DIGEST_SIZE
47543         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
47544         Reported by Paulie Pena IV <paulie4@gmail.com>.
47545         Define as 224 / 8, rather than as a literal.
47546         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
47547         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
47548         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
47549
47550 2008-07-31  Bruno Haible  <bruno@clisp.org>
47551
47552         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
47553         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
47554         Reported by Jonathan Patschke <jp@centtech.com>.
47555
47556 2008-07-31  Bruno Haible  <bruno@clisp.org>
47557
47558         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
47559         Reported by Paolo Bonzini <bonzini@gnu.org>.
47560
47561 2008-07-30  Eric Blake  <ebb9@byu.net>
47562
47563         test-strtod: allow compilation without -lm
47564         * tests/test-strtod.c (main): Avoid link dependence on fabs.
47565         Reported by Dennis Clarke <blastwave@gmail.com>.
47566
47567 2008-07-28  Jim Meyering  <meyering@redhat.com>
47568
47569         bootstrap: work also when there are no .po files in po/
47570         * build-aux/bootstrap (update_po_files): Complete the change
47571         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
47572
47573 2008-07-27  Jim Meyering  <meyering@redhat.com>
47574
47575         * users.txt: Add zile.
47576
47577 2008-07-26  Ben Pfaff  <blp@gnu.org>
47578
47579         Add missing dependencies on new m4/exponent[fdl].m4 files.
47580         * modules/isnanf-nolibm: Add m4/exponentf.m4.
47581         * modules/isnand-nolibm: Add m4/exponentd.m4.
47582         * modules/isnanl-nolibm: Add m4/exponentl.m4.
47583         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
47584         m4/isnan[fdl].m4, because the macros actually used moved.
47585         Reported by Jim Meyering.
47586
47587 2008-07-14  Ben Pfaff  <blp@gnu.org>
47588
47589         Add isinf module.
47590         * lib/isinf.c: New file.
47591         * lib/math.in.h: Define isinf macro if we have decided to replace
47592         it.
47593         * m4/isinf.m4: New file.
47594         * m4/math_h.m4: Initialize and substitute variables for isinf
47595         module.
47596         * modules/isinf: New file.
47597         * modules/isinf-tests: New file.
47598         * modules/math: Add substitutions for new module.
47599         * tests/test-isinf.c: New file.
47600         * doc/posix-functions/isinf.texi: Mention new module.
47601         * MODULES.html.sh: Mention new module.
47602
47603 2008-07-14  Ben Pfaff  <blp@gnu.org>
47604
47605         Factor out some macros for use by additional modules.
47606         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
47607         exponentf.m4.
47608         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
47609         exponentd.m4.
47610         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
47611         file exponentl.m4.
47612         * m4/exponentf.m4: New file.
47613         * m4/exponentd.m4: New file.
47614         * m4/exponentl.m4: New file.
47615         * modules/isnanf: Use new file m4/exponentf.m4.
47616         * modules/isnand: Use new file m4/exponentd.m4.
47617         * modules/isnanl: Use new file m4/exponentl.m4.
47618
47619 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
47620
47621         mktime.c: normalize tp->tm_isdst value to -1/0/1.
47622         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
47623         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
47624         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
47625
47626         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
47627         readlink on platforms without PATH_MAX.
47628
47629 2008-07-21  Eric Blake  <ebb9@byu.net>
47630
47631         Warn, not fail, on stale version.
47632         * top/GNUmakefile (_curr-ver): Tone down previous patch.
47633
47634         Don't allow installation with stale devel version number.
47635         * top/GNUmakefile (_is-install-target): New macro.
47636         (_curr-ver): Forbid installation with stale version number.
47637
47638 2008-07-20  Bruno Haible  <bruno@clisp.org>
47639
47640         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
47641         TESTS_ENVIRONMENT.
47642         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
47643
47644 2008-07-20  Bruno Haible  <bruno@clisp.org>
47645
47646         * lib/c-stack.h (c_stack_action): Add documentation.
47647         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
47648
47649 2008-07-20  Bruno Haible  <bruno@clisp.org>
47650
47651         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
47652         * modules/readlink (License): Likewise.
47653
47654 2008-07-17  Eric Blake  <ebb9@byu.net>
47655
47656         * modules/c-stack (Link): Fix typo.
47657
47658         Make c-stack use libsigsegv, when available.
47659         * modules/c-stack (Depends-on): Add libsigsegv.
47660         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
47661         needed.
47662         * lib/c-stack.c (SIGSTKSZ): Define fallback.
47663         (segv_handler, overflow_handler, c_stack_action)
47664         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
47665         implementation when libsigsegv is available, but only when using
47666         the library is necessary.
47667         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
47668         comment, explaining why XSI check fails on Linux.
47669         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
47670         * tests/test-c-stack2.sh: Tweak skip message.
47671         * NEWS: Document new link-time requirements.
47672
47673 2008-07-16  Eric Blake  <ebb9@byu.net>
47674
47675         c-stack: Expose false positives when not using libsigsegv.
47676         * modules/c-stack-tests (Files): Expand test.
47677         * tests/test-c-stack.c (main): Add means to conditionally trigger
47678         non-overflow SIGSEGV.
47679         * tests/test-c-stack2.sh: New file.
47680
47681 2008-07-14  Bruno Haible  <bruno@clisp.org>
47682
47683         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
47684         Reported by Eric Blake.
47685
47686 2008-07-14  Sam Steingold  <sds@gnu.org>
47687             Bruno Haible  <bruno@clisp.org>
47688
47689         New module libsigsegv.
47690         * modules/libsigsegv: New file.
47691         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
47692         modifications.
47693         * MODULES.html.sh (Signal handling): New section.
47694
47695 2008-07-14  Bruno Haible  <bruno@clisp.org>
47696
47697         * modules/unictype/ctype-* (Description): Add the word "function".
47698         Improves the resulting doc in MODULES.html.
47699
47700 2008-07-12  Ben Pfaff  <blp@gnu.org>
47701
47702         Add longlong module.
47703         * modules/longlong: New file.
47704
47705 2008-07-12  Bruno Haible  <bruno@clisp.org>
47706
47707         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
47708         to empty.
47709
47710 2008-07-10  Ben Pfaff  <blp@gnu.org>
47711
47712         Add isnan module.
47713         * doc/posix-functions/isnan.texi: Mention new module.
47714         * lib/math.in.h: Define isnan macro if we have decided to replace
47715         it.
47716         * m4/isnan.m4: New file.
47717         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
47718         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
47719         also.
47720         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
47721         redundancy.
47722         * m4/math_h.m4: Initialize and substitute variables for isnan
47723         module.
47724         * modules/isnan: New file.
47725         * modules/isnan-tests: New file.
47726         * modules/math: Add substitutions for new module.
47727         * tests/test-isnan.c: New file.
47728         * MODULES.html.sh: Mention new module.
47729
47730 2008-07-10  Ben Pfaff  <blp@gnu.org>
47731
47732         Add isnanf module.
47733         * lib/isnanf.m4: New file.
47734         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
47735         (gl_HAVE_ISNANF_IN_LIBM): New macro.
47736         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
47737         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
47738         * modules/isnanf: New file.
47739         * modules/isnanf-tests: New file.
47740         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
47741         files.
47742         * tests/test-isnanf-nolibm.c: factored most of its contents into
47743         new file tests/test-isnanf.h.
47744         * tests/test-isnanf.h: New file.
47745         * tests/test-isnanf.c: New file.
47746         * MODULES.html.sh: Mention new module.
47747         * doc/glibc-functions/isnanf.texi: Mention new module.
47748
47749 2008-07-10  Ben Pfaff  <blp@gnu.org>
47750
47751         Add isnand module.
47752         * lib/isnand.h: New file.
47753         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
47754         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
47755         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
47756         functionality also.
47757         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
47758         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
47759         (gl_HAVE_ISNAND_IN_LIBM): New macro.
47760         * modules/isnand: New file.
47761         * modules/isnand-tests: New file.
47762         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
47763         files.
47764         * tests/test-isnand-nolibm.c: factored most of its contents into
47765         new file tests/test-isnand.h.
47766         * tests/test-isnand.h: New file.
47767         * tests/test-isnand.c: New file.
47768         * MODULES.html.sh: Mention new module.
47769
47770 2008-07-10  Ben Pfaff  <blp@gnu.org>
47771
47772         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
47773         * lib/isnand.h: Rename lib/isnand-nolibm.h.
47774         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
47775         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
47776         * modules/isnanf-nolibm: Update references to renamed files.
47777         * modules/isnand-nolibm: Likewise.
47778         * modules/isnanf-nolibm-tests: Likewise.
47779         * modules/isnand-nolibm-tests: Likewise.
47780         * lib/frexp.c: Likewise.
47781         * lib/isfinite.c: Likewise.
47782         * lib/signbitd.c: Likewise.
47783         * lib/signbitf.c: Likewise.
47784         * lib/vasnprintf.c: Likewise.
47785         * tests/test-ceilf1.c: Likewise.
47786         * tests/test-ceilf2.c: Likewise.
47787         * tests/test-floorf1.c: Likewise.
47788         * tests/test-floorf2.c: Likewise.
47789         * tests/test-frexp.c: Likewise.
47790         * tests/test-round1.c: Likewise.
47791         * tests/test-round2.c: Likewise.
47792         * tests/test-roundf1.c: Likewise.
47793         * tests/test-strtod.c: Likewise.
47794         * tests/test-trunc1.c: Likewise.
47795         * tests/test-trunc2.c: Likewise.
47796         * tests/test-truncf1.c: Likewise.
47797         * tests/test-truncf2.c: Likewise.
47798         * NEWS: Mention the renamed header files.
47799
47800 2008-07-11  Jim Meyering  <meyering@redhat.com>
47801
47802         vc-list-files: make the last-resort awk code more portable
47803         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
47804         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
47805         does not support it.
47806
47807 2008-07-10  Eric Blake  <ebb9@byu.net>
47808
47809         Work with tar's bootstrap.
47810         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
47811         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
47812         an m4 comment.
47813
47814 2008-07-09  Jim Meyering  <meyering@redhat.com>
47815
47816         posix-shell.m4: fix typo that made this test malfunction
47817         * m4/posix-shell.m4: Remove capitalization in variable name.
47818
47819 2008-07-08  Bruno Haible  <bruno@clisp.org>
47820
47821         * m4/onceonly.m4: Update comments.
47822         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47823
47824 2008-07-04  Jim Meyering  <meyering@redhat.com>
47825
47826         * users.txt: Add vc-dwim.
47827         (bison, coreutils): Use the gitweb URL.
47828
47829 2008-07-03  Jim Meyering  <meyering@redhat.com>
47830
47831         * users.txt: Add libffcall.  From Sam Steingold.
47832
47833 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
47834
47835         getdate.y: do not ignore TZ with relative day, month or year offset
47836         * lib/getdate.y (get_date): Move the tz-handling block to follow the
47837         relative-date-handling, since otherwise, the latter would clobber the
47838         sole output (an updated Start value) of the tz-handling block.
47839         * tests/test-getdate.c: Tests for the fix
47840
47841 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47842
47843         Recognize 'foo_LIBRARIES += libgnu.a'.
47844         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
47845         makefile snippet has already specified an installation location,
47846         also using '+='.
47847
47848 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
47849
47850         getdate.y: factor out common actions
47851         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
47852         Use them in place of open-coded actions.
47853
47854 2008-07-01  Simon Josefsson  <simon@josefsson.org>
47855
47856         Add self-test for getdate module.
47857         * modules/getdate-tests: New file.
47858         * tests/test-getdate.c: New file.
47859
47860 2008-06-29  Bruno Haible  <bruno@clisp.org>
47861
47862         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
47863         .gitignore.
47864         Reported by Sylvain Beucler <beuc@beuc.net>.
47865
47866 2008-06-29  Bruno Haible  <bruno@clisp.org>
47867
47868         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
47869         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
47870
47871 2008-06-29  Bruno Haible  <bruno@clisp.org>
47872
47873         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
47874         EXTRA_DIST.
47875         Reported by Sylvain Beucler <beuc@beuc.net>.
47876
47877 2008-06-26  Jim Meyering  <meyering@redhat.com>
47878
47879         make several modules depend on the "open" module
47880         This provides slightly increased consistency when opening-for-write
47881         the name of a non-directory spelled with a trailing slash.
47882         * modules/chdir-safer: Likewise.
47883         * modules/chown: Likewise.
47884         * modules/clean-temp: Likewise.
47885         * modules/copy-file: Likewise.
47886         * modules/fchdir: Likewise.
47887         * modules/fcntl-safer: Likewise.
47888         * modules/pipe: Likewise.
47889         * modules/utime: Likewise.
47890         Prompted by Eric Blake and Bruno Haible.
47891
47892 2008-06-24  Andreas Schwab  <schwab@suse.de>
47893
47894         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
47895         literals can be used as initializers for global variables.
47896
47897 2008-06-23  Eric Blake  <ebb9@byu.net>
47898
47899         Make gnulib-cache.m4 easier to diff.
47900         * gnulib-tool (func_import): Allow newlines when reading cached
47901         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
47902
47903 2008-06-23  Bruno Haible  <bruno@clisp.org>
47904
47905         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
47906         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
47907         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
47908         m4/signalblocking.m4.
47909         (gl_PREREQ_SIGACTION): Don't invoke it.
47910         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
47911         gl_PREREQ_SIG_HANDLER_H.
47912         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
47913         Don't check for sigaction here.
47914
47915 2008-06-23  Bruno Haible  <bruno@clisp.org>
47916
47917         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
47918         (install_handlers): Don't set the SA_RESETHAND flag.
47919
47920 2008-06-23  Bruno Haible  <bruno@clisp.org>
47921
47922         * m4/sigaction.m4: Comment fixes.
47923         * lib/signal.in.h: Likewise.
47924
47925 2008-06-23  Eric Blake  <ebb9@byu.net>
47926
47927         Fix typo.
47928         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
47929
47930         Avoid SA_ namespace.
47931         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
47932         Reported by Ralf Wildenhues.
47933
47934         Avoid test failure due to SA_RESTORER.
47935         * tests/test-sigaction.c (SA_MASK): New macro.
47936         (main): Avoid failing due to extension flags being set.
47937         Reported by Jim Meyering.
47938
47939         Revert use of sig-handler.h in sigprocmask.c.
47940         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
47941         it requires the existence of struct sigaction.
47942         * lib/sigprocmask.c (handler_t): Restore typedef.
47943         (rpl_signal, old_handlers): Use local type.
47944
47945 2008-06-22  Bruno Haible  <bruno@clisp.org>
47946
47947         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
47948         conditionally.
47949         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47950
47951 2008-06-22  Bruno Haible  <bruno@clisp.org>
47952
47953         * doc/posix-functions/siginterrupt.texi: Move note.
47954
47955         * lib/signal.in.h (SA_RESTART): New macro.
47956         * lib/sigaction.c: Update comment.
47957
47958         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
47959
47960         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
47961         (gl_PREREQ_SIGPROCMASK): Invoke it.
47962         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
47963
47964         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
47965
47966         * lib/sigprocmask.c: Update a comment.
47967
47968 2008-06-21  Eric Blake  <ebb9@byu.net>
47969
47970         Use sigaction module rather than signal().
47971         * modules/c-stack (Depends-on): Add sigaction.
47972         * modules/fatal-signal (Depends-on): Likewise.
47973         * modules/nanosleep (Depends-on): Likewise.
47974         * modules/sigprocmask (Files): Add sig-handler.h.
47975         * modules/sigaction (Files): Likewise.
47976         * lib/sig-handler.h (get_handler): New file, suggested by Paul
47977         Eggert.
47978         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
47979         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
47980         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
47981         (init_fatal_signals): Likewise.
47982         * lib/nanosleep.c (rpl_nanosleep): Likewise.
47983         (siginterrupt): Delete fallback.
47984         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
47985         instead.
47986         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
47987         siginterrupt.
47988
47989         New module sigaction, for mingw.
47990         * modules/sigaction: New module...
47991         * modules/sigaction-tests: ...and its test.
47992         * m4/sigaction.m4: New file.
47993         * lib/sigaction.c: Likewise.
47994         * tests/test-sigaction.c: Likewise.
47995         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
47996         * modules/signal (Makefile.am): Likewise.
47997         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
47998         needed.
47999         * doc/posix-headers/signal.texi (signal.h): Mention provided
48000         types.
48001         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
48002         that sigaction is preferable.
48003         * doc/posix-functions/sigaction.texi (sigaction): Mention new
48004         module.
48005         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48006         sigaction.
48007
48008         Improve robustness of sigprocmask by overriding signal.
48009         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
48010         is in use.
48011         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
48012         (SIGKILL, SIGSTOP): Provide fallbacks.
48013         (rpl_signal): Implement.
48014         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
48015         signal can be called inside handlers.
48016
48017         Fix nanosleep module on mingw.
48018         * modules/nanosleep (Depends-on): Add sys_select.
48019         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
48020
48021         Fix licensing of sigprocmask.
48022         * modules/raise (License): Relicense as LGPL.
48023
48024 2008-06-21  Bruno Haible  <bruno@clisp.org>
48025
48026         * lib/propername.c (proper_name_utf8): Don't use the transliterated
48027         result if it contains question marks.
48028         Reported by Michael Geng <linux@michaelgeng.de>.
48029
48030 2008-06-19  Bruno Haible  <bruno@clisp.org>
48031
48032         Fix CVS-ism.
48033         * doc/gnulib.texi: Include updated-stamp.texi.
48034         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
48035         (updated-stamp.texi): New rule.
48036         (gnulib.info): Depend on it.
48037         * doc/.gitignore: Add updated-stamp.texi.
48038         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
48039
48040 2008-06-19  Bruno Haible  <bruno@clisp.org>
48041
48042         * doc/Makefile (gnulib.info): Update and simplify dependencies.
48043         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48044
48045 2008-06-19  Eric Blake  <ebb9@byu.net>
48046
48047         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
48048         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
48049         Reported by Stepan Kasal.
48050
48051 2008-06-18  Bruno Haible  <bruno@clisp.org>
48052
48053         * lib/fatal-signal.c (init_fatal_signals): Add comment.
48054         Reported by Eric Blake.
48055
48056 2008-06-18  Eric Blake  <ebb9@byu.net>
48057
48058         Work around cygwin 1.5.25 strsignal bug.
48059         * tests/test-strsignal.c: Allow for const char *.
48060         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
48061
48062 2008-06-18  Simon Josefsson  <simon@josefsson.org>
48063
48064         * users.txt: Update URL to article and add author/date
48065         information.
48066
48067 2008-06-17  Bruno Haible  <bruno@clisp.org>
48068
48069         New macro gl_DISABLE_THREADS.
48070         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
48071         if the user did not pass --enable-threads or --disable-threads option.
48072         (gl_DISABLE_THREADS): New macro.
48073         Reported by Eric Blake <ebb9@byu.net>.
48074
48075 2008-06-17  Bruno Haible  <bruno@clisp.org>
48076
48077         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
48078         when the macro ignores it.
48079         Based on a patch by Eric Blake <ebb9@byu.net>.
48080
48081 2008-06-17  Bruno Haible  <bruno@clisp.org>
48082
48083         * modules/tls (License): Change to LGPLv2+.
48084         Reported by Eric Blake.
48085
48086 2008-06-17  Eric Blake  <ebb9@byu.net>
48087
48088         Simplify c-stack prerequisites.
48089         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
48090         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
48091         no longer requires <ucontext.h> to exist.  Optimize setrlimit
48092         check.
48093         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
48094         <sys/resource.h>.
48095
48096         Move c-stack test into testsuite.
48097         * modules/c-stack-tests: New file.
48098         * lib/c-stack.c [DEBUG]: Move test program...
48099         * tests/test-c-stack.c: ...into this new file.  Skip rather than
48100         fail test if sigaltstack is lacking.
48101         * tests/test-c-stack.sh: New driver file.
48102
48103 2008-06-16  Eric Blake  <ebb9@byu.net>
48104
48105         Use raise module consistently.
48106         * modules/fatal-signal (Depends-on): Add raise.
48107         * modules/sigprocmask (Depends-on): Likewise.
48108         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
48109         * lib/sigprocmask.c (sigprocmask): Likewise.
48110         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
48111         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
48112
48113         Fix compliance bug in sigpending.
48114         * lib/sigprocmask.c (sigpending): Return pending array via
48115         parameter, not return value.
48116
48117 2008-06-14  Eric Blake  <ebb9@byu.net>
48118
48119         Improve obstack-printf test code.
48120         * tests/test-obstack-printf.c (test_function): Fix comment, and
48121         simplify usage of obstack_* in macros.  Add a test for coverage.
48122         Reported by Bruno Haible.
48123
48124 2008-06-14  Bruno Haible  <bruno@clisp.org>
48125
48126         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
48127         array size as a constant, not as a const variable.
48128         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
48129         AC_USE_SYSTEM_EXTENSIONS.
48130         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48131         Test whether the obstack_printf function actually exists.
48132         * modules/obstack-printf (Depends-on): Add extensions.
48133         (Include): Remove obstack.h.
48134         * modules/obstack-printf-posix (Depends-on): Add extensions.
48135         (Include): Remove obstack.h.
48136
48137 2008-06-13  Eric Blake  <ebb9@byu.net>
48138
48139         Add obstack-printf and obstack-printf-posix modules.
48140         * modules/obstack-printf: New file.
48141         * modules/obstack-printf-posix: Likewise.
48142         * MODULES.html.sh (Misc): Mention them.
48143         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48144         Likewise.
48145         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48146         Likewise.
48147         * modules/stdio (Makefile.am): Accomodate new modules.
48148         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48149         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
48150         Declare.
48151         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
48152         functions.
48153         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
48154         (gl_REPLACE_OBSTACK_PRINTF): New macros
48155         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
48156         * tests/test-obstack-printf.c: New file.
48157         * modules/obstack-printf-tests: Likewise.
48158         * modules/obstack-printf-posix-tests: Likewise.
48159
48160 2008-06-11  Bruno Haible  <bruno@clisp.org>
48161
48162         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
48163         * lib/open.c: Include errno.h.
48164         (open): Fail when attempting to write to a file that has a trailing
48165         slash.
48166         * tests/test-open.c (main): Test against trailing slash bug.
48167         * doc/posix-functions/open.texi: Mention the trailing slash bug.
48168
48169 2008-06-10  Bruno Haible  <bruno@clisp.org>
48170
48171         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
48172         for $? to work inside the trap command, with various /bin/sh-s.
48173         * tests/test-vc-list-files-cvs.sh: Likewise.
48174
48175 2008-06-10  Bruno Haible  <bruno@clisp.org>
48176
48177         * lib/acl-internal.h: Don't include gettext.h here.
48178         * lib/set-mode-acl.c: Include gettext.h here.
48179         * lib/copy-acl.c: Likewise.
48180
48181 2008-06-10  Bruno Haible  <bruno@clisp.org>
48182
48183         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
48184         * lib/wait-process.c (wait_subprocess): Likewise.
48185         * lib/execute.h (execute): Add termsigp argument.
48186         * lib/execute.c (execute): Likewise.
48187         * lib/csharpcomp.c (compile_csharp_using_pnet,
48188         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
48189         * lib/csharpexec.c (execute_csharp_using_pnet,
48190         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
48191         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
48192         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
48193         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
48194         is_jikes_present): Update.
48195         * lib/javaexec.c (execute_java_class): Update.
48196         * lib/javaversion.c (execute_and_read_line): Update.
48197         * NEWS: Document the changes.
48198         Reported by Eric Blake.
48199
48200 2008-06-10  Eric Blake  <ebb9@byu.net>
48201
48202         Add missing include.
48203         * tests/test-strstr.c (includes): Add <signal.h>.
48204         * tests/test-strcasestr.c (includes): Likewise.
48205         * tests/test-memmem.c (includes): Likewise.
48206
48207 2008-06-10  Bruno Haible  <bruno@clisp.org>
48208
48209         * lib/wait-process.c (wait_subprocess): Add an assertion.
48210
48211 2008-06-10  Bruno Haible  <bruno@clisp.org>
48212
48213         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
48214
48215 2008-06-10  Bruno Haible  <bruno@clisp.org>
48216
48217         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
48218         using alarm().
48219         * tests/test-strcasestr.c (main): Likewise.
48220         * tests/test-strstr.c (main): Likewise.
48221
48222 2008-06-09  Bruno Haible  <bruno@clisp.org>
48223
48224         Work around the Solaris 10 ACE ACLs ABI change.
48225         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
48226         declare if ACL_NO_TRIVIAL is present.
48227         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
48228         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
48229         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
48230         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
48231         define if ACL_NO_TRIVIAL is present.
48232         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
48233         and use the current ABI.
48234         (file_has_acl): Use same #if condition as elsewhere.
48235         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
48236         in use, and use the current ABI.
48237         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
48238         Reported by Jim Meyering.
48239
48240 2008-06-09  Eric Blake  <ebb9@byu.net>
48241
48242         Work around environments that (stupidly) ignore SIGALRM.
48243         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
48244         before using alarm().
48245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48246         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48247         Reported by Ian Beckwith <ianb@erislabs.net>.
48248
48249         Produce autobuild blurb earlier in log.
48250         * modules/autobuild (configure.ac-early): Move AB_INIT here.
48251
48252 2008-06-09  Jim Meyering  <meyering@redhat.com>
48253         and OndÅ™ej Vašík  <ovasik@redhat.com>
48254
48255         utimens.c: correct kernel bug work-around
48256         OndÅ™ej Vašík found that the invalid return value of 280 indicates
48257         failure, not success, and the kernel bug we're trying to work
48258         around affects not just the utimensat call, but also the fallback
48259         futimens call.
48260         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
48261         not success.
48262         [HAVE_FUTIMENS]: Use the same work-around, here.
48263
48264 2008-06-09  Jim Meyering  <meyering@redhat.com>
48265
48266         add more guards around definition of ACE_-related code
48267         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
48268         ALLOW and ACE_OWNER are also defined.
48269
48270 2008-06-08  Bruno Haible  <bruno@clisp.org>
48271
48272         * lib/acl-internal.h: Add me as co-author.
48273         * lib/file-has-acl.c: Likewise.
48274         * lib/set-mode-acl.c: Likewise.
48275         * lib/copy-acl.c: Likewise.
48276
48277 2008-06-08  Bruno Haible  <bruno@clisp.org>
48278
48279         Add support for AIX ACLs.
48280         * lib/acl-internal.h (acl_nontrivial): New declaration.
48281         * lib/file-has-acl.c (acl_nontrivial): New function.
48282         (file_has_acl): Add implementation using AIX 4 ACL API.
48283         * lib/set-mode-acl.c (qset_acl): Likewise.
48284         * lib/copy-acl.c (qcopy_acl): Likewise.
48285
48286 2008-06-08  Bruno Haible  <bruno@clisp.org>
48287
48288         Add support for HP-UX ACLs.
48289         * lib/acl-internal.h (acl_nontrivial): New declaration.
48290         * lib/file-has-acl.c (acl_nontrivial): New function.
48291         (file_has_acl): Add implementation using HP-UX 11 ACL API.
48292         * lib/set-mode-acl.c (qset_acl): Likewise.
48293         * lib/copy-acl.c (qcopy_acl): Likewise.
48294
48295 2008-06-08  Bruno Haible  <bruno@clisp.org>
48296
48297         Add support for Cygwin ACLs.
48298         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
48299         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
48300         the chmod_or_fchmod call.
48301         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
48302
48303 2008-06-08  Bruno Haible  <bruno@clisp.org>
48304
48305         Fix bug with setuid modes in Solaris 10+ code.
48306         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
48307         succeeded, when the mode contains some special bits.
48308
48309 2008-06-08  Bruno Haible  <bruno@clisp.org>
48310
48311         Add support for Solaris 7..10 ACLs.
48312         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
48313         declarations.
48314         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
48315         functions.
48316         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
48317         * lib/set-mode-acl.c (qset_acl): Likewise.
48318         * lib/copy-acl.c (qcopy_acl): Likewise.
48319
48320 2008-06-08  Bruno Haible  <bruno@clisp.org>
48321
48322         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
48323         declaration.
48324         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
48325         (acl_access_nontrivial): Remove MacOS X case.
48326         (file_has_acl): Use acl_extended_nontrivial.
48327         * lib/copy-acl.c (qcopy_acl): Likewise.
48328
48329 2008-06-08  Bruno Haible  <bruno@clisp.org>
48330
48331         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
48332
48333 2008-06-08  Jim Meyering  <meyering@redhat.com>
48334
48335         * modules/acl (Maintainer): Add Bruno Haible.
48336
48337 2008-06-07  Bruno Haible  <bruno@clisp.org>
48338
48339         Improve support for Tru64 ACLs.
48340         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
48341         ACL on OSF/1.
48342
48343 2008-06-07  Bruno Haible  <bruno@clisp.org>
48344
48345         Add support for MacOS X ACLs.
48346         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
48347         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
48348         * lib/set-mode-acl.c (qset_acl): Likewise.
48349         * lib/copy-acl.c (qcopy_acl): Likewise.
48350
48351 2008-06-07  Bruno Haible  <bruno@clisp.org>
48352
48353         Fix memory leak introduced on 2008-05-22.
48354         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
48355         use.
48356
48357 2008-06-07  Bruno Haible  <bruno@clisp.org>
48358
48359         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
48360         to construct an empty ACL.
48361
48362 2008-06-07  Bruno Haible  <bruno@clisp.org>
48363
48364         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
48365         precisely.
48366         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
48367
48368 2008-06-07  Bruno Haible  <bruno@clisp.org>
48369
48370         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
48371         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
48372
48373 2008-06-07  Bruno Haible  <bruno@clisp.org>
48374
48375         * doc/posix-functions/_setjmp.texi: Explain the use of this function
48376         regardless of POSIX.
48377         * doc/posix-functions/_longjmp.texi: Likewise.
48378         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
48379         SystemV platform in this case.
48380
48381 2008-06-06  Eric Blake  <ebb9@byu.net>
48382
48383         Document abort() bugs.
48384         * doc/posix-functions/abort.texi (abort): Mention anomalies.
48385
48386         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
48387         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
48388         sigsetjmp.
48389         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
48390         siglongjmp, but only as a macro.
48391         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
48392         is obsolete.
48393         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
48394
48395         Tweak documentation to cover cygwin argz bugs.
48396         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
48397         argz bug fix; no code change needed since no cygwin releases
48398         occurred between the last fix and the bug being tested.
48399         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
48400         module and recently fixed cygwin bugs.
48401         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
48402         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
48403         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
48404         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
48405         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
48406         Likewise.
48407         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
48408         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
48409         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
48410         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
48411         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
48412         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
48413         Likewise.
48414
48415         Avoid gcc warning on cygwin.
48416         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
48417         !ACL_NO_TRIVIAL]: Avoid unused variable.
48418
48419 2008-06-05  Eric Blake  <ebb9@byu.net>
48420
48421         Be tolerant of UNKNOWN version in gnulib-tool test dir.
48422         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
48423         git-version-gen fails to come up with a version.
48424         Reported by Simon Josefsson.
48425
48426 2008-06-05  Jim Meyering  <meyering@redhat.com>
48427             Paul Eggert  <eggert@cs.ucla.edu>
48428
48429         utimens.c: work around a probable Linux kernel bug
48430         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
48431         appears to be a kernel bug that causes utimensat to return 280
48432         instead of 0, indicating success.
48433
48434 2008-06-04  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
48437         2008-06-01 commit.
48438
48439 2008-06-04  Bruno Haible  <bruno@clisp.org>
48440
48441         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
48442         * lib/file-has-acl.c (acl_access_nontrivial): New function.
48443         (file_has_acl): Use it. Save errno afterwards.
48444         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
48445
48446 2008-06-03  Bruno Haible  <bruno@clisp.org>
48447
48448         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
48449         draft code. Simplify #ifs.
48450         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
48451         Put Solaris code after POSIX-draft code. Fix comments regarding
48452         Solaris 10, HP-UX. Mention Cygwin.
48453         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
48454
48455 2008-06-03  Eric Blake  <ebb9@byu.net>
48456
48457         Provide fallback for older kernels.
48458         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
48459         Provide runtime fallback if kernel lacks support.
48460         Reported by Mike Frysinger.
48461
48462 2008-06-02  Bruno Haible  <bruno@clisp.org>
48463
48464         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
48465         it exists.
48466
48467 2008-06-02  Bruno Haible  <bruno@clisp.org>
48468
48469         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
48470         * lib/copy-acl.c (qcopy_acl): Update comment.
48471
48472 2008-06-02  Bruno Haible  <bruno@clisp.org>
48473
48474         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
48475         like ACL APIs.
48476
48477 2008-06-02  Bruno Haible  <bruno@clisp.org>
48478
48479         * tests/test-file-has-acl.sh: Use different code for Cygwin.
48480         * tests/test-set-mode-acl.sh: Likewise.
48481         * tests/test-copy-acl.sh: Likewise.
48482         * tests/test-copy-file.sh: Likewise.
48483
48484 2008-06-02  Bruno Haible  <bruno@clisp.org>
48485
48486         * tests/test-file-has-acl.sh: Remove unused code.
48487
48488 2008-06-01  Bruno Haible  <bruno@clisp.org>
48489
48490         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
48491         (copy_acl): Just a wrapper around qcopy_acl that emits the error
48492         messages.
48493         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
48494
48495 2008-06-01  Bruno Haible  <bruno@clisp.org>
48496
48497         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
48498         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
48499         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
48500         APIs.
48501         * modules/acl-tests (configure.ac): Remove tests now contained in
48502         m4/acl.m4.
48503
48504 2008-06-02  Jim Meyering  <meyering@redhat.com>
48505
48506         announce-gen: use a better key-server host name
48507         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
48508         it may be more consistently reliable.  Suggested by Werner Koch
48509         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
48510
48511 2008-06-01  Bruno Haible  <bruno@clisp.org>
48512
48513         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
48514         Reported by Voroskoi Andras <voroskoi@gmail.com>.
48515
48516 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
48517
48518         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
48519
48520 2008-06-01  Bruno Haible  <bruno@clisp.org>
48521
48522         New ACL tests.
48523         * tests/test-file-has-acl.sh: New file.
48524         * tests/test-file-has-acl.c: New file.
48525         * tests/test-set-mode-acl.sh: New file.
48526         * tests/test-set-mode-acl.c: New file.
48527         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
48528         * tests/test-copy-acl.c: New file.
48529         * modules/acl-tests: New file, based on modules/copy-file-tests.
48530         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
48531         (Depends-on): Add acl-tests.
48532         (configure.ac): Remove checks.
48533         (Makefile.am): Don't create test-sameacls program here any more.
48534
48535 2008-06-01  Bruno Haible  <bruno@clisp.org>
48536
48537         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
48538         * tests/test-sameacls.c: Include progname.h.
48539         (main): Invoke set_program_name. Portability fixes for MacOS X,
48540         Solaris, HP-UX.
48541
48542 2008-06-01  Bruno Haible  <bruno@clisp.org>
48543
48544         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
48545         function.
48546         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
48547
48548 2008-06-01  Bruno Haible  <bruno@clisp.org>
48549
48550         * modules/rpmatch (Depends-on): Add strdup.
48551
48552 2008-06-01  Bruno Haible  <bruno@clisp.org>
48553
48554         * lib/pipe.c: Include unistd-safer.h.
48555         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
48556         * modules/pipe (Depends-on): Add unistd-safer.
48557
48558 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48559
48560         * modules/autobuild (configure.ac): Call AB_INIT.
48561
48562 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48563
48564         * tests/test-getaddrinfo.c: Don't print debug messages by default.
48565         Suggested by Bruno Haible <bruno@clisp.org>.
48566
48567 2008-05-30  Simon Josefsson  <simon@josefsson.org>
48568
48569         * tests/test-base64.c: Cast size_t to unsigned long when invoking
48570         printf.  Use %lu instead of %d.  Reported by Bruno Haible
48571         <bruno@clisp.org>.
48572
48573 2008-05-29  Eric Blake  <ebb9@byu.net>
48574
48575         Prefer new POSIX 200x interfaces over futimesat.
48576         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
48577         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
48578         when available.
48579         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
48580
48581 2008-05-28  Bruno Haible  <bruno@clisp.org>
48582
48583         * modules/stpcpy (License): Change to LGPLv2+.
48584         Requested by David Lutterkort <dlutter@redhat.com>.
48585
48586 2008-05-27  Bruno Haible  <bruno@clisp.org>
48587
48588         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
48589         current mingw.
48590         Reported by Jose E. Marchesi <jemarch@gnu.org>.
48591
48592 2008-05-27  Bruno Haible  <bruno@clisp.org>
48593
48594         * modules/iconv_open (Link): New section, from module 'iconv'.
48595         * modules/striconv (Link): Likewise.
48596         * modules/striconveh (Link): Likewise.
48597         * modules/xstriconv (Link): Likewise.
48598         * modules/unicodeio (Link): Likewise.
48599         * modules/propername (Link): Likewise.
48600         Reported by Jim Meyering.
48601
48602 2008-05-26  Jim Meyering  <meyering@redhat.com>
48603
48604         sha256: do not artificially restrict buffer length to be < 2^32
48605         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
48606         uint32_t to size_t.
48607         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
48608         to match.
48609
48610         avoid unaligned access errors, e.g., on sparc
48611         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
48612         direct access through a possibly-unaligned uint64* pointer.
48613         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
48614         direct access through a possibly-unaligned uint32* pointer.
48615         Prompted by this patch from Tom "spot" Callaway:
48616         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
48617
48618         sha512.c: fix typo in comment
48619         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
48620
48621 2008-05-25  Bruno Haible  <bruno@clisp.org>
48622
48623         * lib/set-mode-acl.c: Renamed from lib/acl.c.
48624         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
48625         (Makefile.am): Update lib_SOURCES.
48626
48627 2008-05-25  Bruno Haible  <bruno@clisp.org>
48628
48629         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
48630
48631 2008-05-25  Jim Meyering  <meyering@redhat.com>
48632
48633         useless-if-before-free: freed expr may have white-space differences
48634         * build-aux/useless-if-before-free: Recognize cases in which the
48635         freed expression differs from the tested one in embedded white
48636         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
48637         $1 was used, so we can't make any regexp shy.  Improved tests now
48638         detect this.
48639
48640         useless-if-before-free: accept white space in the expression.
48641         * build-aux/useless-if-before-free: For now, any white space
48642         in the expression must be identical in the free argument.
48643
48644         useless-if-before-free: efficiency tweak
48645         * build-aux/useless-if-before-free: Make the expression-matching
48646         regexp "shy".
48647         Make the *outer* regexp shy, not the expr-matching one.
48648
48649         update code-in-comment to accept cast of free arg
48650         * build-aux/useless-if-before-free: Update regexp.
48651
48652 2008-05-25  Bruno Haible  <bruno@clisp.org>
48653
48654         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
48655         * modules/copy-file-tests (Files, Makefile.am): Update.
48656         * tests/test-copy-file.c (func_test_copy): Update.
48657
48658 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
48659
48660         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
48661
48662 2008-05-23  Bruno Haible  <bruno@clisp.org>
48663
48664         Improve support for ACLs on OSF/1.
48665         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
48666         Remove fallback for unknown flavors of ACLs.
48667
48668 2008-05-22  Bruno Haible  <bruno@clisp.org>
48669
48670         Add support for ACLs on OSF/1.
48671         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
48672         replacements.
48673         (acl_free_text): New macro fallback.
48674         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
48675         acl_free.
48676         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
48677         acl_free_text function. Require AC_C_INLINE.
48678
48679 2008-05-22  Bruno Haible  <bruno@clisp.org>
48680
48681         Make copy_acl work on MacOS X 10.5.
48682         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
48683         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
48684         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
48685         If MODE_INSIDE_ACL, don't assume that every system has the same text
48686         representation for ACLs as FreeBSD.
48687         * lib/copy-acl.c (copy_acl): Add support for platforms with
48688         !MODE_INSIDE_ACL.
48689         * lib/file-has-acl.c (file_has_acl): Likewise.
48690         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
48691         FreeBSD, MacOS X, or IRIX, respectively.
48692
48693 2008-05-22  Bruno Haible  <bruno@clisp.org>
48694
48695         * lib/acl.h: Don't include <sys/acl.h>.
48696         (GETACLCNT): Move fallback to lib/acl-internal.h.
48697         * lib/acl-internal.h: Include <sys/acl.h> here.
48698         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
48699
48700 2008-05-22  Bruno Haible  <bruno@clisp.org>
48701
48702         Split off copy_acl function to separate file.
48703         * lib/copy-acl.c: New file, extracted from lib/acl.c.
48704         * lib/acl.c (copy_acl): Moved function to separate file.
48705         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
48706         * modules/acl (Files): Add lib/copy-acl.c.
48707         (Makefiles.am): Augment lib_SOURCES.
48708
48709 2008-05-22  Bruno Haible  <bruno@clisp.org>
48710
48711         * modules/copy-file-tests: New file.
48712         * tests/test-copy-file.sh: New file.
48713         * tests/test-copy-file.c: New file.
48714         * tests/test-copy-file-sameacls.c: New file.
48715
48716 2008-05-22  Eric Blake  <ebb9@byu.net>
48717
48718         Avoid gcc warning.
48719         * tests/test-memcmp.c (main): Pass NULL indirectly.
48720
48721 2008-05-21  Bruno Haible  <bruno@clisp.org>
48722
48723         Add reference doc about ACLs.
48724         * doc/acl-resources.txt: New file.
48725         * doc/acl-cygwin.txt: New file.
48726
48727 2008-05-21  Bruno Haible  <bruno@clisp.org>
48728
48729         Avoid one more warning from gcc.
48730         * lib/vasnprintf.c (IF_LINT): Update comments.
48731         (VASNPRINTF): Use it also for the 'prefix' array initializer.
48732
48733 2008-05-21  Jim Meyering  <meyering@redhat.com>
48734
48735         avoid a warning from gcc
48736         * lib/vasnprintf.c (IF_LINT): Define.
48737         (scale10_round_decimal_long_double):
48738         Use it to avoid a "may be used uninitialized" warning.
48739         (scale10_round_decimal_double): Likewise.
48740
48741 2008-05-21  Simon Josefsson  <simon@josefsson.org>
48742
48743         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
48744         declared.
48745
48746 2008-05-20  Bruno Haible  <bruno@clisp.org>
48747
48748         * tests/test-memcmp.c (main): Test also the sign of the result. Test
48749         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
48750
48751 2008-05-20  Simon Josefsson  <simon@josefsson.org>
48752
48753         * modules/memcmp-tests: New file.
48754         * tests/test-memcmp.c: New file.
48755
48756 2008-05-19  Bruno Haible  <bruno@clisp.org>
48757
48758         * modules/propername (Notice, configure.ac): Put quoted "..." into
48759         --keyword option.
48760         * lib/propername.h: Update comments accordingly.
48761         Reported by Eric Blake.
48762
48763 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
48764
48765         * modules/getpass-gnu (Depends-on): Add fseeko.
48766
48767 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48768
48769         * modules/base64-tests: New file.
48770
48771 2008-05-19  Bo Borgerson <gigabo@gmail.com>
48772
48773         * lib/base64.c (base64_decode_ctx): If a decode context structure
48774         was passed in use it to ignore newlines.  If a context structure
48775         was _not_ passed in, continue to treat newlines as garbage (this
48776         is the historical behavior).  Formerly base64_decode.
48777         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48778         takes a decode context structure.
48779         * lib/base64.h (base64_decode): Macro for four-argument calls.
48780         (base64_decode_alloc): Likewise.
48781         * lib/base64.c (base64_decode_ctx): If a decode context structure
48782         was passed in use it to ignore newlines.  If a context structure
48783         was _not_ passed in, continue to treat newlines as garbage (this
48784         is the historical behavior).  Formerly base64_decode.
48785         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
48786         takes a decode context structure.
48787         * lib/base64.h (base64_decode): Macro for four-argument calls.
48788         (base64_decode_alloc): Likewise.
48789
48790 2008-05-19  Jim Meyering  <meyering@redhat.com>
48791
48792         avoid a warning from gcc
48793         * lib/trim.c (IF_LINT): Define.
48794         (trim2): Use it to avoid a "may be used uninitialized" warning.
48795
48796         Fix doc typo.
48797         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
48798
48799 2008-05-19  Bruno Haible  <bruno@clisp.org>
48800
48801         * doc/glibc-functions/getpass.texi: Document limits of other
48802         implementations.
48803
48804 2008-05-19  Simon Josefsson  <simon@josefsson.org>
48805             Bruno Haible <bruno@clisp.org>
48806
48807         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
48808
48809 2008-05-18  Bruno Haible  <bruno@clisp.org>
48810
48811         * modules/propername: New file, from GNU gettext.
48812         * lib/propername.h: New file, from GNU gettext.
48813         * lib/propername.c: New file, from GNU gettext.
48814         * MODULES.html.sh (Internationalization functions): Add propername.
48815
48816 2008-05-16  Jim Meyering  <meyering@redhat.com>
48817             Bruno Haible  <bruno@clisp.org>
48818
48819         Avoid some warnings from "gcc -Wshadow".
48820         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
48821
48822 2008-05-15  Eric Blake  <ebb9@byu.net>
48823
48824         Extend previous patch to cygwin 1.7.0.
48825         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
48826         fast implementation in cygwin >= 1.7.0.
48827         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48828         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48829
48830 2008-05-15  Bruno Haible  <bruno@clisp.org>
48831
48832         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
48833         implementation in glibc >= 2.9.
48834         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48835         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48836
48837 2008-05-15  Bruno Haible  <bruno@clisp.org>
48838
48839         * MODULES.html.sh (Internationalization functions): Remove linebreak.
48840         (Unicode string functions): Add unilbrk/*.
48841         Reported by Karl Berry.
48842
48843 2008-05-15  Eric Blake  <ebb9@byu.net>
48844
48845         Fix violation of <stdbool.h> replacement in regex.
48846         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
48847         * lib/regexec.c (re_search_internal): Likewise.
48848         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
48849
48850 2008-05-15  Jim Meyering  <meyering@redhat.com>
48851
48852         avoid distracting test output when git or cvs is not found
48853         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
48854         * tests/test-vc-list-files-git.sh: Likewise.
48855
48856 2008-05-15  Eric Blake  <ebb9@byu.net>
48857
48858         Glibc finally accepted the memmem speedup code, bugzilla #5514.
48859         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
48860         glibc version.
48861         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48862         * doc/posix-functions/strstr.texi (strstr): Likewise.
48863         * lib/str-two-way.h (MAX): Sychronize with glibc.
48864
48865 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
48866
48867         * lib/regcomp.c (optimize_utf8): Add a note on why we test
48868         opr.ctx_type.
48869         (calc_first): Initialize constraint field.
48870         (duplicate_node_closure): Use it instead of special casing ANCHORS.
48871         Fix grammar.
48872         (duplicate_node): Merge constraint field for all node types.
48873         (calc_eclosure_iter): Look at constraint field for all node types.
48874         * lib/regex_internal.c (create_cd_newstate): Don't look at
48875         opr.ctx_type.
48876
48877 2008-05-14  Bruno Haible  <bruno@clisp.org>
48878
48879         Help GCC to do better code generation.
48880         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
48881         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
48882         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
48883         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
48884         Declare with attribute 'malloc' if supported.
48885
48886 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
48887
48888         use "echo STR|wc -c" rather than unportable "expr length STR"
48889         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
48890         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
48891
48892 2008-05-14  Jim Meyering  <meyering@redhat.com>
48893
48894         use dd ibs=$n count=1 ... rather than less-portable head -c$n
48895         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
48896         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
48897         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
48898         via Collin Lasse.
48899
48900 2008-05-14  Eric Blake  <ebb9@byu.net>
48901
48902         Avoid quadratic growth in gl_LIBSOURCES.
48903         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
48904         Suggested by Bruno Haible.
48905
48906         Test xmemdup0.
48907         * modules/xmemdup0-tests: New file.
48908         * tests/test-xmemdup0.c: Likewise.
48909
48910 2008-05-13  Eric Blake  <ebb9@byu.net>
48911
48912         Split xmemdup0 into its own module.
48913         * modules/xmemdup0: New file.
48914         * lib/xmemdup0.h: Likewise.
48915         * lib/xmemdup0.c: Likewise.
48916         * MODULES.html.sh (Memory management functions): Add xmemdup0.
48917         * lib/xalloc.h (xmemdup0): Remove.
48918         * lib/xmalloc.c (xmemdup0): Likewise.
48919
48920 2008-05-13  Eric Blake  <ebb9@byu.net>
48921             Bruno Haible  <bruno@clisp.org>
48922
48923         Reduce number of forks required during autoconf.
48924         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
48925         and gl_LIBSOURCES_DIR.
48926         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
48927         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
48928         m4_syscmd per file.
48929         <m4_foreach_w>: Move...
48930         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
48931
48932 2008-05-13  Eric Blake  <ebb9@byu.net>
48933
48934         * gnulib-tool: Fix various comment typos.
48935
48936 2008-05-12  Bruno Haible  <bruno@clisp.org>
48937
48938         Tailor the linebreaking algorithm.
48939         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
48940
48941 2008-05-12  Bruno Haible  <bruno@clisp.org>
48942
48943         Update to Unicode 5.0.0.
48944         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48945         LBP_JV, LBP_JT. Redistribute values.
48946         (unilbrk_table): Change size.
48947         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
48948         Unicode TR#14 rev. 22.
48949         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
48950         LBP_JV, LBP_JT. Redistribute values.
48951         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
48952         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
48953         Update.
48954         * lib/unilbrk/lbrkprop1.h: Regenerated.
48955         * lib/unilbrk/lbrkprop2.h: Regenerated.
48956         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
48957         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
48958         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
48959         Likewise.
48960         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
48961         Likewise.
48962         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
48963         result.
48964         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
48965         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
48966         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
48967         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
48968         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
48969         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
48970
48971 2008-05-11  Bruno Haible  <bruno@clisp.org>
48972
48973         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
48974
48975 2008-05-11  Bruno Haible  <bruno@clisp.org>
48976
48977         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
48978         * modules/unilbrk/gen-lbrk: New file.
48979
48980 2008-05-11  Bruno Haible  <bruno@clisp.org>
48981
48982         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
48983         * m4/sha512.m4 (gl_SHA512): Likewise.
48984
48985 2008-05-11  Jim Meyering  <meyering@redhat.com>
48986
48987         New modules: crypto/sha256, crypto/sha512 (from coreutils)
48988         * modules/crypto/sha256: New file.
48989         * modules/crypto/sha512: Likewise.
48990         * lib/sha256.c: Likewise.
48991         * lib/sha256.h: Likewise.
48992         * lib/sha512.c: Likewise.
48993         * lib/sha512.h: Likewise.
48994         * lib/u64.h: Likewise.
48995         * m4/sha256.m4: Likewise.
48996         * m4/sha512.m4: Likewise.
48997         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
48998
48999 2008-05-10  Bruno Haible  <bruno@clisp.org>
49000
49001         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
49002         (Input/Output <stdio.h>): Add xprintf.
49003         (Signal handling <signal.h>): Add strsignal.
49004         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
49005         (Core language properties): Add func.
49006         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
49007         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
49008         strings.
49009         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
49010         (Input/output): New section.
49011         (File system functions): Add openat-die, stat-macros.
49012         (Networking functions): Add sockets.
49013         (Unicode string functions): Add unictype/*.
49014         (Support for building libraries and executables): Add gperf.
49015         (Support for building documentation): Add agpl-3.0.
49016         (Misc): Add nocrash.
49017
49018 2008-05-10  Bruno Haible  <bruno@clisp.org>
49019
49020         * modules/unictype/gen-ctype: New file.
49021
49022 2008-05-10  Jim Meyering  <meyering@redhat.com>
49023
49024         Make chdir-safer.c more efficient on a system with no symlinks.
49025         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
49026         also if ELOOP is zero.  Suggested by Bruno Haible.
49027
49028         Make chdir-safer.c slightly safer.
49029         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
49030         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
49031
49032         Avoid compile failure on systems without ELOOP (like mingw).
49033         * lib/chdir-safer.c (ELOOP): Define if not already defined.
49034         Reported by Bruno Haible.
49035
49036 2008-05-10  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
49039         (is_utf8_encoding): Use a case-insensitive comparison.
49040         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
49041         streq.
49042
49043 2008-05-10  Bruno Haible  <bruno@clisp.org>
49044
49045         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
49046         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
49047         * lib/unilbrk/ulc-common.h (iconv_string_length,
49048         iconv_string_keeping_offsets): Remove declarations.
49049         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
49050         Don't include <iconv.h>, streq.h, xsize.h.
49051         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
49052         conversion.
49053         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
49054         <iconv.h>, streq.h, xsize.h.
49055         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
49056         conversion.
49057         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
49058         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
49059         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
49060         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
49061
49062 2008-05-10  Bruno Haible  <bruno@clisp.org>
49063
49064         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
49065         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
49066
49067         * modules/unilbrk/u32-width-linebreaks-tests: New file.
49068         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
49069
49070         * modules/unilbrk/u16-width-linebreaks-tests: New file.
49071         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
49072
49073         * modules/unilbrk/u8-width-linebreaks-tests: New file.
49074         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
49075
49076         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
49077         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
49078
49079         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
49080         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
49081
49082         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
49083         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
49084
49085         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
49086         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
49087
49088 2008-05-10  Bruno Haible  <bruno@clisp.org>
49089
49090         Split up 'linebreak' module.
49091         * lib/unilbrk.h: New file, based on lib/linebreak.h.
49092         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
49093         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
49094         modifications.
49095         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
49096         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
49097         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
49098         lib/linebreak.c.
49099         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
49100         lib/linebreak.c.
49101         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
49102         lib/linebreak.c.
49103         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
49104         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
49105         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
49106         lib/linebreak.c.
49107         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
49108         lib/linebreak.c.
49109         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
49110         lib/linebreak.c.
49111         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
49112         lib/linebreak.c.
49113         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
49114         lib/linebreak.c.
49115         * modules/unilbrk/base: New file.
49116         * modules/unilbrk/tables: New file.
49117         * modules/unilbrk/u8-possible-linebreaks: New file.
49118         * modules/unilbrk/u16-possible-linebreaks: New file.
49119         * modules/unilbrk/u32-possible-linebreaks: New file.
49120         * modules/unilbrk/ulc-common: New file.
49121         * modules/unilbrk/ulc-possible-linebreaks: New file.
49122         * modules/unilbrk/u8-width-linebreaks: New file.
49123         * modules/unilbrk/u16-width-linebreaks: New file.
49124         * modules/unilbrk/u32-width-linebreaks: New file.
49125         * modules/unilbrk/ulc-width-linebreaks: New file.
49126         * lib/linebreak.h: Remove file.
49127         * lib/linebreak.c: Remove file.
49128         * m4/linebreak.m4: Remove file.
49129         * modules/linebreak: Remove file.
49130         * NEWS: Mention the changes.
49131
49132 2008-05-09  Eric Blake  <ebb9@byu.net>
49133
49134         Add xmemdup0.
49135         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
49136         implementation.
49137         * lib/xmalloc.c (xmemdup0): New C implementation.
49138
49139 2008-05-08  Bruno Haible  <bruno@clisp.org>
49140
49141         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
49142
49143 2008-05-07  Eric Blake  <ebb9@byu.net>
49144
49145         Support cross-compilation of <wctype.h>.
49146         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
49147         AC_CACHE_CHECK.
49148
49149 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
49150
49151         * build-aux/vc-list-files: Add support for bzr.
49152
49153 2008-05-03  Jim Meyering  <meyering@redhat.com>
49154
49155         avoid failed assertion with tight malloc
49156         * tests/test-getndelim2.c: Correct an off-by-one assertion.
49157
49158 2008-05-03  Simon Josefsson  <simon@josefsson.org>
49159
49160         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
49161         are needed from arpa/inet.h.
49162         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
49163         Reported by Bruno Haible.
49164
49165 2008-05-02  Jim Meyering  <meyering@redhat.com>
49166
49167         avoid compilation error on FreeBSD 6
49168         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
49169
49170 2008-05-01  Jim Meyering  <meyering@redhat.com>
49171
49172         useless-if-before-free: correct --help's exit status description
49173         * build-aux/useless-if-before-free (usage): Like grep, exit 0
49174         for one or more matches, etc.  Reported by Bruno Haible.
49175
49176         vc-list-files: make the stand-alone gnulib test work
49177         * modules/vc-list-files-tests (configure.ac):
49178         Define and AC_SUBST abs_aux_dir.
49179         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
49180         $(abs_top_srcdir) to each script and having each of them
49181         duplicate the work of setting PATH, set PATH here, using
49182         the new variable, abs_aux_dir instead.
49183         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
49184         * tests/test-vc-list-files-git.sh: Likewise.
49185         Reported by Bruno Haible.
49186
49187 2008-05-01  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/getndelim2.c (getndelim2): Fix newsize computation during
49190         reallocation. Rename 'done' to 'found_delimiter'.
49191
49192 2008-05-01  Jim Meyering  <meyering@redhat.com>
49193
49194         vc-list-files: accommodate /bin/sh like the one from Solaris 10
49195         * build-aux/vc-list-files: Use `...`, not $(...).
49196
49197 2008-04-30  Jim Meyering  <meyering@redhat.com>
49198
49199         add tests for vc-list-files
49200         * modules/vc-list-files-tests: New module.
49201         * tests/test-vc-list-files-cvs.sh: New file.
49202         * tests/test-vc-list-files-git.sh: New file.
49203
49204         avoid a warning from gcc
49205         * lib/getndelim2.c (IF_LINT): Define.
49206         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
49207
49208         vc-list-files: work properly with build-aux/cvsu, too
49209         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
49210         to all cvs-based clauses.
49211
49212         vc-list-files: work properly in the CVS+awk case, too
49213         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
49214
49215         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
49216         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
49217         take more than one file argument, so .  Add quotes, just in case $dir
49218         ever contains a shell meta-character.  Prompted by Soren Hansen in
49219         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
49220
49221 2008-04-29  Eric Blake  <ebb9@byu.net>
49222
49223         Optimize getndelim2 to use block operations when possible.
49224         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
49225         freadseek, and memchr2.
49226         * lib/getndelim2.c (getndelim2): Use them for block reads.
49227
49228 2008-04-29  Bruno Haible  <bruno@clisp.org>
49229
49230         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
49231         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49232         * modules/inet_ntop (Depends-on): Add extensions.
49233         * modules/inet_pton (Depends-on): Likewise.
49234         Reported by Simon Josefsson.
49235
49236 2008-04-29  Jim Meyering  <meyering@redhat.com>
49237
49238         When the is more than one match in a block, match all of them.
49239         * build-aux/useless-if-before-free: Iterate through each block
49240         until there are no more matches.
49241
49242         Fix broken useless-if-before-free script.
49243         * build-aux/useless-if-before-free: Fix typo: missing "?" after
49244         the expression to match cast of argument to free-like function.
49245
49246 2008-04-29  Eric Blake  <ebb9@byu.net>
49247
49248         Use new header.
49249         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
49250
49251 2008-04-29  Jim Meyering  <meyering@redhat.com>
49252
49253         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
49254         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
49255         by gnulib to exist and to declare e.g., inet_ntop.
49256         Don't include "inet_ntop.h", now removed.
49257
49258         * m4/arpa_inet_h.m4: Remove trailing blanks.
49259
49260 2008-04-29  Eric Blake  <ebb9@byu.net>
49261
49262         Silence valgrind on safe reads beyond potential array bounds.
49263         * lib/rawmemchr.valgrind: New file.
49264         * lib/strchrnul.valgrind: Likewise.
49265         * modules/rawmemchr (Files): Distribute new file.
49266         * modules/strchrnul (Files): Likewise.
49267         Suggested by Bruno Haible.
49268
49269 2008-04-29  Bruno Haible  <bruno@clisp.org>
49270
49271         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
49272         (inet_ntop, inet_pton): Change portability warning's wording.
49273         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
49274         Invoke gl_CHECK_NEXT_HEADERS.
49275         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
49276         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
49277         set ARPA_INET_H.
49278         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49279         * modules/arpa_inet (Description): No longer only for systems that
49280         lack it.
49281         (Depends-on): Add include_next.
49282         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
49283         HAVE_ARPA_INET_H.
49284
49285 2008-04-29  Jim Meyering  <meyering@redhat.com>
49286
49287         * modules/mkdir (License): Re-license as LGPLv2+.
49288
49289 2008-04-29  Bruno Haible  <bruno@clisp.org>
49290
49291         * modules/rawmemchr (Maintainer): Set to Eric.
49292         * modules/strchrnul (Maintainer): Likewise.
49293
49294 2008-04-29  Simon Josefsson  <simon@josefsson.org>
49295
49296         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
49297         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
49298
49299         * modules/arpa_inet (arpa/inet.h): Use them.
49300
49301 2008-04-28  Eric Blake  <ebb9@byu.net>
49302
49303         Test getndelim2.
49304         * modules/getndelim2-tests: New file.
49305         * tests/test-getndelim2.c: Likewise.
49306         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
49307         stream.
49308         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
49309
49310         * MODULES.html.sh: Document new module.
49311
49312 2008-04-20  Bruno Haible  <bruno@clisp.org>
49313
49314         * lib/c-stack.c (die): Use raise.
49315         * modules/c-stack (Depends-on): Add raise.
49316
49317 2008-04-28  Bruno Haible  <bruno@clisp.org>
49318
49319         Expect rpmatch to be declared.
49320         * lib/yesno.c (rpmatch): Remove declaration.
49321
49322         Declare rpmatch.
49323         * lib/stdlib.in.h (rpmatch): New declaration.
49324         * lib/rpmatch.c: Include <stdlib.h> first.
49325         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
49326         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
49327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
49328         HAVE_RPMATCH.
49329         * modules/rpmatch (Depends-on): Add stdlib, extensions.
49330         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49331         (Include): Set to <stdlib.h>.
49332         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
49333         HAVE_RPMATCH.
49334         * NEWS: Document the change.
49335
49336 2008-04-28  Bruno Haible  <bruno@clisp.org>
49337
49338         Change rpmatch to use nl_langinfo when appropriate.
49339         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
49340         (N_): New macro.
49341         (localized_pattern): New function/macro.
49342         (try): Remove match, nomatch arguments. Copy the pattern into safe
49343         memory before caching it.
49344         (rpmatch): Use localized_pattern. Add translator comments.
49345         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
49346         Suggested by Eric Blake.
49347         * modules/rpmatch (Depends-on): Add stdbool.
49348
49349 2008-04-28  Eric Blake  <ebb9@byu.net>
49350
49351         Add rawmemchr module, matching glibc.
49352         * modules/string (Makefile.am): New indicator.
49353         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
49354         * lib/string.in.h (rawmemchr): Declare when appropriate.
49355         * modules/rawmemchr: New file.
49356         * m4/rawmemchr.m4: Likewise.
49357         * lib/rawmemchr.c: Likewise.
49358         * modules/rawmemchr-tests: Likewise.
49359         * tests/test-rawmemchr.c: Likewise.
49360         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
49361         module.
49362         * modules/strchrnul (Depends-on): Add rawmemchr.
49363         * lib/strchrnul.c (strchrnul): Optimize a corner case.
49364
49365         Whitespace cleanup.
49366         * tests/test-strchrnul.c: Reindent.
49367         * lib/strchrnul.c: Likewise.
49368
49369         Optimize and test strchrnul.
49370         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
49371         * modules/strchrnul-tests: New file.
49372         * tests/test-strchrnul.c: Likewise.
49373
49374         Remove intprops dependency.
49375         * modules/memchr (Depends-on): Remove intprops.
49376         * modules/memrchr (Depends-on): Likewise.
49377         * modules/memchr2 (Depends-on): Likewise.
49378         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
49379         * lib/memrchr.c (__memrchr): Likewise.
49380         * lib/memrchr2.c (memchr2): Likewise.
49381         Reported by Simon Josefsson.
49382
49383 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49384
49385         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
49386         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49387
49388 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49389
49390         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
49391
49392         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
49393
49394         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
49395
49396         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
49397         declarations.
49398         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
49399
49400         * m4/inet_pton.m4: Don't check for header files.
49401
49402         * m4/inet_ntop.m4: Don't check for header files.
49403
49404 2008-04-28  Simon Josefsson  <simon@josefsson.org>
49405
49406         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
49407         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
49408         trigger for cygwin).
49409         Reported by Bruno Haible  <bruno@clisp.org>.
49410
49411 2008-04-28  Bruno Haible  <bruno@clisp.org>
49412
49413         * doc/posix-functions/strdup.texi: Mention mingw problem.
49414
49415 2008-04-27  Bruno Haible  <bruno@clisp.org>
49416
49417         * modules/stat-time-tests (Depends-on): Add sleep.
49418         * tests/test-stat-time.c (force_unlink): New function.
49419         (cleanup): Use it.
49420         (test_mtime): Remove the ctime related tests.
49421         (test_ctime): New function, containing the ctime related tests.
49422         (main): Call test_ctime, except on native Windows platforms.
49423
49424 2008-04-27  Bruno Haible  <bruno@clisp.org>
49425
49426         * lib/rpmatch.c (rpmatch): Add some comments.
49427         Reported by James Youngman <jay@gnu.org>.
49428
49429 2008-04-27  Bruno Haible  <bruno@clisp.org>
49430
49431         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
49432         quiet NaNs.
49433
49434 2008-04-27  Bruno Haible  <bruno@clisp.org>
49435
49436         Make test-yesno.sh work on mingw.
49437         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
49438         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
49439         (main): Set stdin to binary mode.
49440         * modules/yesno-tests (Depends-on): Add binary-io.
49441
49442 2008-04-27  Bruno Haible  <bruno@clisp.org>
49443
49444         Fix 'isfinite' on x86, x86_64, ia64 platforms.
49445         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
49446         argument that lie outside the IEEE 854 domain.
49447         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
49448         (gl_ISFINITE): Use it.
49449         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
49450
49451 2008-04-27  Bruno Haible  <bruno@clisp.org>
49452
49453         Allow local renaming in config.h.
49454         * lib/memrchr.c (memrchr): Don't undefine outside libc.
49455
49456 2008-04-27  Bruno Haible  <bruno@clisp.org>
49457
49458         * lib/memchr.c (__memchr): Change type of 'i'.
49459         * lib/memchr2.c (memchr2): Likewise.
49460
49461 2008-04-26  Eric Blake  <ebb9@byu.net>
49462         and Bruno Haible  <bruno@clisp.org>
49463
49464         Optimize and test memrchr.
49465         * modules/memrchr (Depends-on): Add intprops.
49466         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
49467         * modules/memrchr-tests: New file.
49468         * tests/test-memrchr.c: New file.
49469
49470 2008-04-26  Bruno Haible  <bruno@clisp.org>
49471
49472         Add tentative support for DragonFly BSD.
49473         * lib/stdio-impl.h: Add macros for DragonFly BSD.
49474         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
49475         fp.
49476         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49477         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
49478         * lib/fpurge.c (fpurge): Likewise.
49479         * lib/freadable.c (freaadable): Likewise.
49480         * lib/freadahead.c (freadahead): Likewise.
49481         * lib/freading.c (freading): Likewise.
49482         * lib/freadptr.c (freadptr): Likewise.
49483         * lib/freadseek.c (freadptrinc): Likewise.
49484         * lib/fseeko.c (fseeko): Likewise.
49485         * lib/fseterr.c (fseterr): Likewise.
49486         * lib/fwritable.c (fwritable): Likewise.
49487         * lib/fwriting.c (fwriting): Likewise.
49488
49489 2008-04-26  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/stdio-impl.h: New file.
49492         * lib/fbufmode.c: Include stdio-impl.h.
49493         (fbufmode): Use fp_, remove redundant #defines.
49494         * lib/fflush.c: Include stdio-impl.h.
49495         (clear_ungetc_buffer): Remove redundant #defines.
49496         * lib/fpurge.c: Include stdio-impl.h.
49497         (fpurge): Remove redundant #defines.
49498         * lib/freadable.c: Include stdio-impl.h.
49499         (freadable): Remove redundant #defines.
49500         * lib/freadahead.c: Include stdio-impl.h.
49501         (freadahead): Remove redundant #defines.
49502         * lib/freading.c: Include stdio-impl.h.
49503         (freading): Remove redundant #defines.
49504         * lib/freadptr.c: Include stdio-impl.h.
49505         (freadptr): Remove redundant #defines.
49506         * lib/freadseek.c: Include stdio-impl.h.
49507         (freadptrinc): Remove redundant #defines.
49508         * lib/fseeko.c: Include stdio-impl.h.
49509         (rpl_fseeko): Remove redundant #defines.
49510         * lib/fseterr.c: Include stdio-impl.h.
49511         (fseterr): Remove redundant #defines.
49512         * lib/fwritable.c: Include stdio-impl.h.
49513         (fwritable: Remove redundant #defines.
49514         * lib/fwriting.c: Include stdio-impl.h.
49515         (fwriting): Remove redundant #defines.
49516         * modules/fbufmode (Files): Add lib/stdio-impl.h.
49517         * modules/fflush (Files): Likewise.
49518         * modules/fpurge (Files): Likewise.
49519         * modules/freadable (Files): Likewise.
49520         * modules/freadahead (Files): Likewise.
49521         * modules/freading (Files): Likewise.
49522         * modules/freadptr (Files): Likewise.
49523         * modules/freadseek (Files): Likewise.
49524         * modules/fseeko (Files): Likewise.
49525         * modules/fseterr (Files): Likewise.
49526         * modules/fwritable (Files): Likewise.
49527         * modules/fwriting (Files): Likewise.
49528
49529 2008-04-26  Bruno Haible  <bruno@clisp.org>
49530
49531         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
49532         restore_seek_optimization, update_fpos_cache): New functions, extracted
49533         from rpl_fflush.
49534         (rpl_fflush): Use them.
49535         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
49536         (gl_REPLACE_FFLUSH): Use it.
49537
49538 2008-04-26  Bruno Haible  <bruno@clisp.org>
49539
49540         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
49541         on Solaris.
49542         * tests/test-xstrtoimax.sh: Likewise.
49543         * tests/test-xstrtoumax.sh: Likewise.
49544         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49545
49546 2008-04-26  Bruno Haible  <bruno@clisp.org>
49547
49548         * modules/memchr-tests: New file.
49549         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
49550
49551 2008-04-26  Eric Blake  <ebb9@byu.net>
49552             Bruno Haible  <bruno@clisp.org>
49553
49554         * lib/memchr.c: Include intprops.h.
49555         (__memchr): Optimize parallel detection of matching bytes. Rename local
49556         variables. Add explanatory comments.
49557
49558 2008-04-26  Bruno Haible  <bruno@clisp.org>
49559
49560         Fix module 'memchr', broken since 2000-10-28.
49561         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
49562
49563 2008-04-26  Bruno Haible  <bruno@clisp.org>
49564
49565         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
49566         comments.
49567
49568 2008-04-25  Eric Blake  <ebb9@byu.net>
49569
49570         Use native fstatat on cygwin 1.7.0.
49571         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
49572         first.
49573
49574 2008-04-23  Eric Blake  <ebb9@byu.net>
49575
49576         Improve memchr2 performance.
49577         * lib/memchr2.c (memchr2): Further optimize parallel detection of
49578         NUL bytes.
49579         * modules/memchr2 (Depends-on): Use intprops.h.
49580
49581 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49582
49583         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
49584         an inline function instead of a CPP macro.  Patch by Ben Pfaff
49585         <blp@cs.stanford.edu>.
49586
49587 2008-04-23  Simon Josefsson  <simon@josefsson.org>
49588
49589         * lib/arpa_inet.in.h: New file.
49590
49591         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
49592         (Makefile.am): Sed in substitute header file.
49593
49594         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
49595         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
49596
49597         * modules/inet_ntop (configure.ac): Use
49598         gl_ARPA_INET_MODULE_INDICATOR.
49599
49600         * modules/inet_pton (configure.ac): Use
49601         gl_ARPA_INET_MODULE_INDICATOR.
49602
49603 2008-04-22  Jim Meyering  <meyering@redhat.com>
49604
49605         * modules/verify (License): Re-license as LGPLv2+.
49606
49607 2008-04-22  Simon Josefsson  <simon@josefsson.org>
49608
49609         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
49610         parameter to void* as per POSIX standard (MinGW uses char*).
49611
49612 2008-04-21  Bruno Haible  <bruno@clisp.org>
49613
49614         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49615         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49616         Define to replacements if REPLACE_ISWCNTRL is 1.
49617         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
49618         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
49619         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
49620         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
49621         what it fixes.
49622         * doc/posix-functions/iswalpha.texi: Likewise.
49623         * doc/posix-functions/iswblank.texi: Likewise.
49624         * doc/posix-functions/iswcntrl.texi: Likewise.
49625         * doc/posix-functions/iswdigit.texi: Likewise.
49626         * doc/posix-functions/iswgraph.texi: Likewise.
49627         * doc/posix-functions/iswlower.texi: Likewise.
49628         * doc/posix-functions/iswprint.texi: Likewise.
49629         * doc/posix-functions/iswpunct.texi: Likewise.
49630         * doc/posix-functions/iswspace.texi: Likewise.
49631         * doc/posix-functions/iswupper.texi: Likewise.
49632         * doc/posix-functions/iswxdigit.texi: Likewise.
49633         Reported by Alain Guibert.
49634
49635 2008-04-21  Bruno Haible  <bruno@clisp.org>
49636
49637         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
49638         Patch by Alain Guibert.
49639
49640 2008-04-21  Bruno Haible  <bruno@clisp.org>
49641
49642         Fix test failures on mingw.
49643         * tests/test-xstrtol.c (print_no_progname): New function.
49644         (main): Install it in error_print_progname hook.
49645         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
49646         * tests/test-xstrtoimax.sh: Likewise.
49647         * tests/test-xstrtoumax.sh: Likewise.
49648
49649 2008-04-21  Bruno Haible  <bruno@clisp.org>
49650
49651         Fix test failure on mingw.
49652         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
49653
49654 2008-04-21  Bruno Haible  <bruno@clisp.org>
49655
49656         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
49657         Actually assign a value.
49658
49659 2008-04-20  Bruno Haible  <bruno@clisp.org>
49660
49661         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
49662         take 2.
49663         * lib/canonicalize.c (canonicalize_file_name): Elide if the
49664         'canonicalize-lgpl' module is also used.
49665         * lib/canonicalize-lgpl.c: Undo last change.
49666         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
49667
49668 2008-04-20  Bruno Haible  <bruno@clisp.org>
49669
49670         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
49671         config.h. Provide _mkdir based fallback for mingw.
49672         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
49673         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
49674         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
49675         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
49676         rather than defining mkdir in config.h.
49677         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
49678         (gl_SYS_STAT_H_DEFAULTS): New macro.
49679         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
49680         HAVE_IO_H any more.
49681         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
49682         HAVE_DECL_MKDIR and HAVE_IO_H.
49683
49684 2008-04-20  Bruno Haible  <bruno@clisp.org>
49685
49686         * lib/isapipe.c: Port to native Windows platforms.
49687
49688 2008-04-20  Bruno Haible  <bruno@clisp.org>
49689
49690         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
49691
49692 2008-04-21  Eric Blake  <ebb9@byu.net>
49693
49694         Work around preprocessors that don't handle UINTMAX_MAX.
49695         * lib/memchr2.c (memchr2): Avoid embedded #if.
49696         Reported by Alain Guibert, fix suggested by Bruno Haible.
49697
49698 2008-04-21  Simon Josefsson  <simon@josefsson.org>
49699
49700         * doc/posix-functions/strftime.texi (strftime): Explain better
49701         Windows incompatibility.  Suggested by Micah Cowan
49702         <micah@cowan.name>.
49703
49704 2008-04-20  Bruno Haible  <bruno@clisp.org>
49705
49706         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
49707         unistr/u8-mblen.
49708
49709 2008-04-20  Bruno Haible  <bruno@clisp.org>
49710
49711         Fix test failure on platforms with non-GNU iconv.
49712         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
49713         (U_TO_U8): Use it, rather than u16_to_u8.
49714         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
49715         units at the end of the input string.
49716         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
49717
49718 2008-04-20  Bruno Haible  <bruno@clisp.org>
49719
49720         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
49721         when the resulting length is 0.
49722         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
49723
49724 2008-04-20  Bruno Haible  <bruno@clisp.org>
49725
49726         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
49727         works.
49728         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
49729
49730 2008-04-20  Bruno Haible  <bruno@clisp.org>
49731
49732         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
49733         * modules/tsearch-tests (configure.ac): Test for initstate function.
49734
49735 2008-04-20  Bruno Haible  <bruno@clisp.org>
49736
49737         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
49738         for nlink_t if missing.
49739         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
49740
49741 2008-04-19  Bruno Haible  <bruno@clisp.org>
49742
49743         Work around snprintf bug on Linux libc5.
49744         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
49745         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49746         gl_SNPRINTF_SIZE1.
49747         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49748         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
49749         that test failed.
49750         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49751         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
49752         * modules/snprintf (Files): Add m4/printf.m4.
49753         * modules/vsnprintf (Files): Likewise.
49754         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
49755         * doc/posix-functions/vsnprintf.texi: Likewise.
49756
49757 2008-04-19  Bruno Haible  <bruno@clisp.org>
49758
49759         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
49760         from 0.0058 to less than 10^-7.
49761
49762 2008-04-19  Bruno Haible  <bruno@clisp.org>
49763
49764         Fix rounding when a precision is given.
49765         * lib/vasnprintf.c (is_borderline): New function.
49766         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
49767         9...9x.
49768         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
49769         %e, %g.
49770         * tests/test-vasprintf-posix.c (test_function): Likewise.
49771         * tests/test-snprintf-posix.h (test_function): Likewise.
49772         * tests/test-sprintf-posix.h (test_function): Likewise.
49773         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
49774         * tests/test-printf-posix.h (test_function): Likewise.
49775         * tests/test-printf-posix.output: Update.
49776         Reported by John Darrington <john@darrington.wattle.id.au> via
49777         Ben Pfaff <blp@cs.stanford.edu>.
49778
49779 2008-04-18  Simon Josefsson  <simon@josefsson.org>
49780
49781         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
49782         Suggested by Bruno Haible <bruno@clisp.org>.
49783
49784 2008-04-17  Bruno Haible  <bruno@clisp.org>
49785
49786         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
49787         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
49788         implementation.
49789         Patch by Bruce Merry <bmerry@gmail.com>.
49790
49791 2008-04-17  Simon Josefsson  <simon@josefsson.org>
49792
49793         * doc/posix-functions/strftime.texi (strftime): Mention that %e
49794         doesn't work under Windows.
49795
49796 2008-04-16  Bruno Haible  <bruno@clisp.org>
49797
49798         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
49799         New macros.
49800         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
49801         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
49802         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
49803         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
49804         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
49805         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
49806         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
49807         macros.
49808         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
49809         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
49810         Northern Sotho, Uighur.
49811
49812 2008-04-16  Bruno Haible  <bruno@clisp.org>
49813
49814         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
49815         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
49816         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
49817         Reported by Daniel Bergström <daniel@octocode.com>.
49818
49819 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
49820             Bruno Haible  <bruno@clisp.org>
49821
49822         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
49823         function.
49824         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
49825         New functions, mostly extracted from gl_locale_name_default.
49826         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
49827
49828 2008-04-16  Eric Blake  <ebb9@byu.net>
49829
49830         Adjust strtod detection to catch glibc 2.7 bug.
49831         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
49832         Reported by John Gatewood Ham.
49833
49834 2008-04-16  Bruno Haible  <bruno@clisp.org>
49835
49836         Add tentative support for Linux libc5.
49837         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
49838         * lib/fpurge.c (fpurge): Likewise.
49839         * lib/freadable.c (freadable): Likewise.
49840         * lib/freadahead.c (freadahead): Likewise.
49841         * lib/freading.c (freading): Likewise.
49842         * lib/freadptr.c (freadptr): Likewise.
49843         * lib/freadseek.c (freadptrinc): Likewise.
49844         * lib/fseeko.c (rpl_fseeko): Likewise.
49845         * lib/fseterr.c (fseterr): Likewise.
49846         * lib/fwritable.c (fwritable): Likewise.
49847         * lib/fwriting.c (fwriting): Likewise.
49848         Reported by Alain Guibert <alguibert+bts@free.fr>.
49849
49850 2008-04-15  Bruno Haible  <bruno@clisp.org>
49851
49852         * modules/mathl (configure.ac): Define module indicator.
49853
49854 2008-04-15  Bruno Haible  <bruno@clisp.org>
49855
49856         * lib/logl.c (logl): Remove unused variables.
49857
49858 2008-04-15  Bruno Haible  <bruno@clisp.org>
49859
49860         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
49861         fails.
49862
49863 2008-04-15  Bruno Haible  <bruno@clisp.org>
49864
49865         * lib/trim.c (trim2): Fix argument of isspace() macro.
49866
49867 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
49868
49869         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
49870         to 0.
49871         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
49872
49873 2008-04-14  Bruno Haible  <bruno@clisp.org>
49874
49875         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
49876         AC_LANG_PROGRAM argument.
49877         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
49878         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
49879         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
49880         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49881         * m4/math_h.m4 (gl_MATH_H): Likewise.
49882         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
49883         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49884         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49885         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
49886         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
49887         * m4/regex.m4 (gl_REGEX): Likewise.
49888         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
49889         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
49890         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49891         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
49892         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49893         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49894         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49895         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49896
49897 2008-04-14  Jim Meyering  <meyering@redhat.com>
49898
49899         test-strtod: fix typos: s/abs/fabs/
49900         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
49901
49902 2008-04-13  Bruno Haible  <bruno@clisp.org>
49903
49904         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
49905         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
49906         module is also used and while not building the reloc-wrapper.
49907
49908 2008-04-13  Bruno Haible  <bruno@clisp.org>
49909
49910         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
49911
49912 2008-04-13  Bruno Haible  <bruno@clisp.org>
49913
49914         Fix AIX compilation failure introduced on 2008-04-02.
49915         * tests/test-frexp.c (exp): Undefine before redefining.
49916         * tests/test-frexpl.c (exp): Likewise.
49917
49918 2008-04-13  Bruno Haible  <bruno@clisp.org>
49919
49920         Work around a HP-UX stdio bug.
49921         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
49922         * tests/test-ftello.c (main): Likewise.
49923         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
49924         * doc/posix-functions/ftello.texi: Likewise.
49925
49926 2008-04-13  Bruno Haible  <bruno@clisp.org>
49927
49928         Make test-signbit pass on HP-UX/hppa.
49929         * tests/test-signbit.c (minus_zerol): New variable.
49930         (test_signbitl): Use it.
49931
49932 2008-04-13  Bruno Haible  <bruno@clisp.org>
49933
49934         Make truncl work on OSF/1 4.0.
49935         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
49936         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49937         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
49938         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
49939         HAVE_DECL_TRUNCL.
49940         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
49941         HAVE_DECL_TRUNCL.
49942         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
49943
49944 2008-04-13  Bruno Haible  <bruno@clisp.org>
49945
49946         * lib/unictype.h: Remove trailing comma from enumeration definitions.
49947
49948 2008-04-13  Bruno Haible  <bruno@clisp.org>
49949
49950         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
49951         expression, so as to avoid HP-UX 11 cc compiler bug.
49952
49953 2008-04-13  Bruno Haible  <bruno@clisp.org>
49954
49955         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
49956
49957 2008-04-13  Bruno Haible  <bruno@clisp.org>
49958
49959         * lib/git-merge-changelog.c: Remove empty declaration outside of
49960         functions.
49961
49962 2008-04-13  Bruno Haible  <bruno@clisp.org>
49963
49964         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
49965
49966 2008-04-13  Bruno Haible  <bruno@clisp.org>
49967
49968         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
49969         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
49970         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
49971         also if it exists but lacks definitions of the SHUT_* macros.
49972         * modules/sys_socket (Description): Update.
49973         Reported by Elbert Pol <e.pol@chello.nl>.
49974
49975 2008-04-13  Bruno Haible  <bruno@clisp.org>
49976
49977         * lib/localcharset.c (OS2): Don't redefine if already defined.
49978         Reported by Elbert Pol <e.pol@chello.nl>.
49979
49980 2008-04-13  Bruno Haible  <bruno@clisp.org>
49981
49982         * lib/binary-io.h [__EMX__]: Include <io.h>.
49983         Reported by Elbert Pol <e.pol@chello.nl>.
49984
49985 2008-04-12  Bruno Haible  <bruno@clisp.org>
49986
49987         * lib/fpucw.h: Enable the definitions also for x86_64.
49988         Needed for NetBSD/x86_64.
49989         Reported by Thomas Klausner <tk@giga.or.at>.
49990
49991 2008-04-12  Bruno Haible  <bruno@clisp.org>
49992
49993         * tests/test-strtod.c: Include isnand.h.
49994         (main): Use isnand instead of isnan.
49995         Reported by Jim Meyering.
49996
49997 2008-04-12  Bruno Haible  <bruno@clisp.org>
49998
49999         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
50000         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50001
50002 2008-04-12  Jim Meyering  <meyering@redhat.com>
50003
50004         * m4/math_h.m4 (gl_MATH_H): Fix typos.
50005
50006 2008-04-12  Bruno Haible  <bruno@clisp.org>
50007
50008         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
50009         Reported by Elbert Pol <e.pol@chello.nl>.
50010
50011 2008-04-12  Eric Blake  <ebb9@byu.net>
50012
50013         Work around Solaris 10 math.h bug.
50014         * m4/math_h.m4 (gl_MATH_H): Check for bug.
50015         (gl_MATH_H_DEFAULTS): Set up default.
50016         * modules/math (Makefile.am): Replace new indicators.
50017         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
50018         * tests/test-math.c (main): Test this.
50019         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
50020         * doc/posix-headers/math.texi (math.h): Mention bug.
50021         Reported by Nelson H. F. Beebe and Jim Meyering.
50022
50023 2008-04-11  Bruno Haible  <bruno@clisp.org>
50024
50025         Adapt to future versions of Apple GCC.
50026         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
50027         Reported by Peter O'Gorman <peter@pogma.com>.
50028
50029 2008-04-11  Bruno Haible  <bruno@clisp.org>
50030
50031         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
50032
50033 2008-04-11  Bruno Haible  <bruno@clisp.org>
50034
50035         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
50036
50037         * modules/getaddrinfo-tests (Makefile.am): Define
50038         test_getaddrinfo_LDADD.
50039
50040 2008-04-11  Bruno Haible  <bruno@clisp.org>
50041
50042         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
50043         (init): Fix syntax error.
50044         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
50045         is declared.
50046
50047 2008-04-11  Bruno Haible  <bruno@clisp.org>
50048
50049         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
50050         * modules/glob (Depends-on): Add stdbool.
50051
50052 2008-04-11  Bruno Haible  <bruno@clisp.org>
50053
50054         * lib/trim.c: Include <string.h>.
50055
50056 2008-04-11  Eric Blake  <ebb9@byu.net>
50057
50058         Avoid compile failure on OS/2.
50059         * lib/regex_internal.h (internal_function): Disable optimization
50060         on OS/2 (__EMX__), where it caused compiler error.
50061         Reported by Elbert Pol.
50062
50063 2008-04-11  Bruno Haible  <bruno@clisp.org>
50064
50065         Flush the standard error stream before aborting. Needed on mingw.
50066         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
50067         * tests/test-array_list.c (ASSERT): Likewise.
50068         * tests/test-array_oset.c (ASSERT): Likewise.
50069         * tests/test-avltree_list.c (ASSERT): Likewise.
50070         * tests/test-avltree_oset.c (ASSERT): Likewise.
50071         * tests/test-avltreehash_list.c (ASSERT): Likewise.
50072         * tests/test-binary-io.c (ASSERT): Likewise.
50073         * tests/test-byteswap.c (ASSERT): Likewise.
50074         * tests/test-c-ctype.c (ASSERT): Likewise.
50075         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
50076         * tests/test-c-strcasestr.c (ASSERT): Likewise.
50077         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
50078         * tests/test-c-strstr.c (ASSERT): Likewise.
50079         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
50080         * tests/test-canonicalize.c (ASSERT): Likewise.
50081         * tests/test-carray_list.c (ASSERT): Likewise.
50082         * tests/test-ceilf1.c (ASSERT): Likewise.
50083         * tests/test-ceilf2.c (ASSERT): Likewise.
50084         * tests/test-ceill.c (ASSERT): Likewise.
50085         * tests/test-count-one-bits.c (ASSERT): Likewise.
50086         * tests/test-fbufmode.c (ASSERT): Likewise.
50087         * tests/test-fflush2.c (ASSERT): Likewise.
50088         * tests/test-floorf1.c (ASSERT): Likewise.
50089         * tests/test-floorf2.c (ASSERT): Likewise.
50090         * tests/test-floorl.c (ASSERT): Likewise.
50091         * tests/test-fopen.c (ASSERT): Likewise.
50092         * tests/test-fpending.c (ASSERT): Likewise.
50093         * tests/test-fprintf-posix.c (ASSERT): Likewise.
50094         * tests/test-fpurge.c (ASSERT): Likewise.
50095         * tests/test-freadable.c (ASSERT): Likewise.
50096         * tests/test-freadahead.c (ASSERT): Likewise.
50097         * tests/test-freading.c (ASSERT): Likewise.
50098         * tests/test-freadptr.c (ASSERT): Likewise.
50099         * tests/test-freadptr2.c (ASSERT): Likewise.
50100         * tests/test-freadseek.c (ASSERT): Likewise.
50101         * tests/test-freopen.c (ASSERT): Likewise.
50102         * tests/test-frexp.c (ASSERT): Likewise.
50103         * tests/test-frexpl.c (ASSERT): Likewise.
50104         * tests/test-fseek.c (ASSERT): Likewise.
50105         * tests/test-fseeko.c (ASSERT): Likewise.
50106         * tests/test-fstrcmp.c (ASSERT): Likewise.
50107         * tests/test-ftell.c (ASSERT): Likewise.
50108         * tests/test-ftello.c (ASSERT): Likewise.
50109         * tests/test-func.c (ASSERT): Likewise.
50110         * tests/test-fwritable.c (ASSERT): Likewise.
50111         * tests/test-fwriting.c (ASSERT): Likewise.
50112         * tests/test-getdelim.c (ASSERT): Likewise.
50113         * tests/test-getline.c (ASSERT): Likewise.
50114         * tests/test-i-ring.c (ASSERT): Likewise.
50115         * tests/test-iconv-utf.c (ASSERT): Likewise.
50116         * tests/test-iconv.c (ASSERT): Likewise.
50117         * tests/test-isfinite.c (ASSERT): Likewise.
50118         * tests/test-isnand.c (ASSERT): Likewise.
50119         * tests/test-isnanf.c (ASSERT): Likewise.
50120         * tests/test-isnanl.h (ASSERT): Likewise.
50121         * tests/test-ldexpl.c (ASSERT): Likewise.
50122         * tests/test-linked_list.c (ASSERT): Likewise.
50123         * tests/test-linkedhash_list.c (ASSERT): Likewise.
50124         * tests/test-localename.c (ASSERT): Likewise.
50125         * tests/test-lseek.c (ASSERT): Likewise.
50126         * tests/test-mbscasecmp.c (ASSERT): Likewise.
50127         * tests/test-mbscasestr1.c (ASSERT): Likewise.
50128         * tests/test-mbscasestr2.c (ASSERT): Likewise.
50129         * tests/test-mbscasestr3.c (ASSERT): Likewise.
50130         * tests/test-mbscasestr4.c (ASSERT): Likewise.
50131         * tests/test-mbschr.c (ASSERT): Likewise.
50132         * tests/test-mbscspn.c (ASSERT): Likewise.
50133         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
50134         * tests/test-mbspbrk.c (ASSERT): Likewise.
50135         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
50136         * tests/test-mbsrchr.c (ASSERT): Likewise.
50137         * tests/test-mbsspn.c (ASSERT): Likewise.
50138         * tests/test-mbsstr1.c (ASSERT): Likewise.
50139         * tests/test-mbsstr2.c (ASSERT): Likewise.
50140         * tests/test-mbsstr3.c (ASSERT): Likewise.
50141         * tests/test-memchr2.c (ASSERT): Likewise.
50142         * tests/test-memmem.c (ASSERT): Likewise.
50143         * tests/test-open.c (ASSERT): Likewise.
50144         * tests/test-printf-frexp.c (ASSERT): Likewise.
50145         * tests/test-printf-frexpl.c (ASSERT): Likewise.
50146         * tests/test-printf-posix.c (ASSERT): Likewise.
50147         * tests/test-quotearg.c (ASSERT): Likewise.
50148         * tests/test-rbtree_list.c (ASSERT): Likewise.
50149         * tests/test-rbtree_oset.c (ASSERT): Likewise.
50150         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
50151         * tests/test-round1.c (ASSERT): Likewise.
50152         * tests/test-roundf1.c (ASSERT): Likewise.
50153         * tests/test-roundl.c (ASSERT): Likewise.
50154         * tests/test-signbit.c (ASSERT): Likewise.
50155         * tests/test-sleep.c (ASSERT): Likewise.
50156         * tests/test-snprintf-posix.c (ASSERT): Likewise.
50157         * tests/test-snprintf.c (ASSERT): Likewise.
50158         * tests/test-sprintf-posix.c (ASSERT): Likewise.
50159         * tests/test-stat-time.c (ASSERT): Likewise.
50160         * tests/test-strcasestr.c (ASSERT): Likewise.
50161         * tests/test-strerror.c (ASSERT): Likewise.
50162         * tests/test-striconv.c (ASSERT): Likewise.
50163         * tests/test-striconveh.c (ASSERT): Likewise.
50164         * tests/test-striconveha.c (ASSERT): Likewise.
50165         * tests/test-strsignal.c (ASSERT): Likewise.
50166         * tests/test-strstr.c (ASSERT): Likewise.
50167         * tests/test-strtod.c (ASSERT): Likewise.
50168         * tests/test-trunc1.c (ASSERT): Likewise.
50169         * tests/test-trunc2.c (ASSERT): Likewise.
50170         * tests/test-truncf1.c (ASSERT): Likewise.
50171         * tests/test-truncf2.c (ASSERT): Likewise.
50172         * tests/test-truncl.c (ASSERT): Likewise.
50173         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
50174         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
50175         * tests/test-vasnprintf.c (ASSERT): Likewise.
50176         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
50177         * tests/test-vasprintf.c (ASSERT): Likewise.
50178         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
50179         * tests/test-vprintf-posix.c (ASSERT): Likewise.
50180         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
50181         * tests/test-vsnprintf.c (ASSERT): Likewise.
50182         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
50183         * tests/test-wcwidth.c (ASSERT): Likewise.
50184         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
50185         * tests/test-xprintf-posix.c (ASSERT): Likewise.
50186         * tests/test-xvasprintf.c (ASSERT): Likewise.
50187         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
50188         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
50189         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
50190         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
50191         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
50192         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
50193         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
50194         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
50195         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
50196         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
50197         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
50198         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
50199         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
50200         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
50201         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
50202         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
50203         * tests/unictype/test-block_list.c (ASSERT): Likewise.
50204         * tests/unictype/test-block_of.c (ASSERT): Likewise.
50205         * tests/unictype/test-block_test.c (ASSERT): Likewise.
50206         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
50207         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
50208         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
50209         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
50210         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
50211         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
50212         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
50213         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
50214         * tests/unictype/test-combining.c (ASSERT): Likewise.
50215         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
50216         * tests/unictype/test-digit.c (ASSERT): Likewise.
50217         * tests/unictype/test-mirror.c (ASSERT): Likewise.
50218         * tests/unictype/test-numeric.c (ASSERT): Likewise.
50219         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
50220         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
50221         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
50222         * tests/unictype/test-scripts.c (ASSERT): Likewise.
50223         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
50224         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
50225         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
50226         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
50227         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
50228         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
50229         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
50230         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
50231         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
50232         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
50233         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
50234         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
50235         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
50236         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
50237         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
50238         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
50239         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
50240         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
50241         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
50242         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
50243         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
50244         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
50245         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
50246         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
50247         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
50248         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
50249         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
50250         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
50251         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
50252         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
50253         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
50254         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
50255         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
50256         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
50257         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
50258         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
50259         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
50260         Reported by Eric Blake.
50261
50262 2008-04-11  Bruno Haible  <bruno@clisp.org>
50263
50264         * lib/wchar.in.h: Tweak comment.
50265
50266 2008-04-11  Bruno Haible  <bruno@clisp.org>
50267
50268         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
50269         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
50270         gl_COMMON.
50271         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
50272
50273 2008-04-11  Bruno Haible  <bruno@clisp.org>
50274
50275         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
50276
50277 2008-04-11  Simon Josefsson  <simon@josefsson.org>
50278
50279         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
50280         of attempting to use non-existing /dev/*random.  Based on patch
50281         from Adam Strzelecki <ono@java.pl> in
50282         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
50283
50284 2008-04-08  Bruno Haible  <bruno@clisp.org>
50285
50286         Add tentative support for emx+gcc.
50287         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
50288         * lib/fpurge.c (fpurge): Likewise.
50289         * lib/freadable.c (freadable): Likewise.
50290         * lib/freadahead.c (freadahead): Likewise.
50291         * lib/freading.c (freading): Likewise.
50292         * lib/freadptr.c (freadptr): Likewise.
50293         * lib/freadseek.c (freadptrinc): Likewise.
50294         * lib/fseeko.c (rpl_fseeko): Likewise.
50295         * lib/fseterr.c (fseterr): Likewise.
50296         * lib/fwritable.c (fwritable): Likewise.
50297         * lib/fwriting.c (fwriting): Likewise.
50298         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
50299
50300 2008-04-09  Eric Blake  <ebb9@byu.net>
50301
50302         Avoid some autoconf warnings.
50303         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
50304         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
50305         * m4/afs.m4 (gl_AFS): Likewise.
50306         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
50307         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
50308         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50309         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
50310         (gl_INTEGER_TYPE_SUFFIX): Likewise.
50311         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
50312         (AC_CHECK_DECLS_ONCE): Likewise.
50313         Rename file...
50314         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
50315         gnulib-tool requires autoconf 2.59 or better.
50316         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
50317
50318 2008-04-08  Eric Blake  <ebb9@byu.net>
50319
50320         Use 'git describe --match' if present (added in git 1.5.5).
50321         * build-aux/git-version-gen: Limit result to tags that match 'v*'
50322         if possible.
50323
50324 2008-04-08  Bruno Haible  <bruno@clisp.org>
50325
50326         Add tentative support for OpenServer.
50327         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
50328         _ptr, _cnt.
50329         * lib/fpurge.c (fpurge): Likewise.
50330         * lib/freadable.c (freadable): Likewise.
50331         * lib/freadahead.c (freadahead): Likewise.
50332         * lib/freading.c (freading): Likewise.
50333         * lib/freadptr.c (freadptr): Likewise.
50334         * lib/freadseek.c (freadptrinc): Likewise.
50335         * lib/fseeko.c (rpl_fseeko): Likewise.
50336         * lib/fseterr.c (fseterr): Likewise.
50337         * lib/fwritable.c (fwritable): Likewise.
50338         * lib/fwriting.c (fwriting): Likewise.
50339         Reported by Roger Cornelius <rac@tenzing.org> and
50340         Brian K. White <brian@aljex.com>.
50341
50342 2008-04-06  Jim Meyering  <meyering@redhat.com>
50343
50344         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
50345
50346 2008-04-06  Bruno Haible  <bruno@clisp.org>
50347
50348         Avoid possible error with non-ASCII bytes in UTF-8 locales.
50349         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
50350         * tests/test-printf-posix.sh: Likewise.
50351         * tests/test-vfprintf-posix.sh: Likewise.
50352         * tests/test-vprintf-posix.sh: Likewise.
50353         * tests/test-xprintf-posix.sh: Likewise.
50354
50355 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50356
50357         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
50358         hide error from 'ls', needed on OS/2.
50359         Report by Elbert Pol <elbert.pol@gmail.com>.
50360
50361 2008-04-04  Eric Blake  <ebb9@byu.net>
50362
50363         Make test-fseeko.c failures meaningful.
50364         * tests/test-fseeko.c: Print line number on failure.
50365         * tests/test-fseek.c: Likewise.
50366         Reported by Nelson H. F. Beebe.
50367
50368         Improve strtod bug detection check.
50369         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
50370         required for Solaris 10.
50371         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
50372
50373 2008-04-04  Bruno Haible  <bruno@clisp.org>
50374
50375         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
50376         by m4/setenv.m4.
50377
50378 2008-04-03  Eric Blake  <ebb9@byu.net>
50379
50380         Ensure sane .version contents.
50381         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
50382         version string.
50383         * build-aux/git-version-gen: Improve documentation.
50384
50385         Make GNU make output nicer.
50386         * top/GNUmakefile [!_have-Makefile]: Add dependency on
50387         MAKECMDGOALS to enforce message for all command line targets.  Set
50388         srcdir for use in maint.mk.
50389
50390         Another maintainer tweak.
50391         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
50392         a target that regenerates version.
50393
50394 2008-04-03  Jim Meyering  <meyering@redhat.com>
50395
50396         vc-list-files: don't cause coreutils "make po-check" failure
50397         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
50398
50399 2008-04-03  Eric Blake  <ebb9@byu.net>
50400
50401         Allow VPATH usage of vc-list-files.
50402         * build-aux/vc-list-files (scriptversion): Add timestamp.
50403         (options): Add --help, --version, -C.
50404         (CVS): Support installed cvsu.
50405
50406 2008-04-02  Bruno Haible  <bruno@clisp.org>
50407
50408         Avoid some "statement with no effect" warnings from gcc.
50409         * tests/test-wctype.c (main): Explicitly ignore unused values.
50410         Reported by Jim Meyering.
50411
50412 2008-04-02  Jim Meyering  <meyering@redhat.com>
50413
50414         Avoid some warnings from "gcc -Wshadow".
50415         * tests/test-frexp.c (exp): Define to a different identifier.
50416         * tests/test-frexpl.c (exp): Likewise.
50417
50418 2008-04-03  Jim Meyering  <meyering@redhat.com>
50419
50420         bootstrap: remove dangling *.[ch] symlinks from lib
50421         * build-aux/bootstrap [dangling symlink removal]: Move find's
50422         -depth option to precede all others, to avoid a warning.
50423         Remove *.[ch] files too, and from "$source_base" (usually lib/).
50424
50425 2008-04-02  Bruno Haible  <bruno@clisp.org>
50426
50427         Avoid some warnings from "gcc -Wshadow".
50428         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
50429         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
50430         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
50431         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
50432         Reported by Jim Meyering.
50433
50434 2008-04-01  Bruno Haible  <bruno@clisp.org>
50435
50436         Fix test to work on IRIX 6.5 with cc.
50437         * tests/test-math.c (numeric_equal): New function.
50438         (main): Use it.
50439
50440 2008-04-01  Bruno Haible  <bruno@clisp.org>
50441
50442         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
50443
50444 2008-04-01  Bruno Haible  <bruno@clisp.org>
50445
50446         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
50447         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50448         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
50449         (Depends-on): Remove math.
50450
50451         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
50452         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50453         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
50454         (Depends-on): Remove math.
50455
50456         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
50457         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50458         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
50459         (Depends-on): Remove math.
50460         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
50461         (Depends-on): Remove math.
50462
50463         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
50464         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
50465         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
50466         (Depends-on): Remove math.
50467         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
50468         (Depends-on): Remove math.
50469
50470         * tests/test-round1.c: Include nan.h.
50471         (main): Use NaNd instead of NAN.
50472         * modules/round-tests (Files): Add tests/nan.h.
50473
50474         * tests/test-trunc1.c: Include nan.h.
50475         (main): Use NaNd instead of NAN.
50476         * modules/trunc-tests (Files): Add tests/nan.h.
50477
50478         * tests/test-roundf1.c: Include nan.h.
50479         (main): Use NaNf instead of NAN.
50480         * modules/roundf-tests (Files): Add tests/nan.h.
50481
50482         * tests/test-truncf1.c: Include nan.h.
50483         (main): Use NaNf instead of NAN.
50484         * modules/truncf-tests (Files): Add tests/nan.h.
50485
50486         * tests/test-ceilf1.c: Include nan.h.
50487         (main): Use NaNf instead of NAN.
50488         * modules/ceilf-tests (Files): Add tests/nan.h.
50489
50490         * tests/test-floorf1.c: Include nan.h.
50491         (main): Use NaNf instead of NAN.
50492         * modules/floorf-tests (Files): Add tests/nan.h.
50493
50494         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
50495         (main): Use NaNf instead of NAN.
50496         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
50497
50498         * tests/test-isnand.c: Include nan.h instead of <math.h>.
50499         (main): Use NaNd instead of NAN.
50500         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
50501
50502         * tests/test-frexp.c: Include nan.h.
50503         (main): Use NaNd instead of NAN.
50504         * modules/frexp-tests (Files): Add tests/nan.h.
50505
50506         * lib/isnan.c: Don't include <math.h>.
50507         (FUNC): Don't use NAN macro.
50508         * modules/isnand-nolibm (Depends-on): Remove math.
50509         * modules/isnanf-nolibm (Depends-on): Remove math.
50510         * modules/isnanl (Depends-on): Remove math.
50511         * modules/isnanl-nolibm (Depends-on): Remove math.
50512
50513         * tests/nan.h: New file.
50514
50515 2008-04-01  Eric Blake  <ebb9@byu.net>
50516
50517         Fix typos.
50518         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
50519         values to be the right type.
50520
50521         For now, cater to gnulib strtod inaccuracies.
50522         * tests/test-strtod.c (main): Allow 1-ulp error on expected
50523         fractional results.  While not as nice from a QoI perspective, it
50524         is a quicker patch than correctly implementing decimal to binary
50525         rounding.
50526
50527 2008-03-31  Eric Blake  <ebb9@byu.net>
50528
50529         Guarantee a definition of NAN.
50530         * lib/math.in.h (NAN): Define if missing.
50531         * tests/test-math.c (main): Test it.
50532         * doc/posix-headers/math.texi (math.h): Document this.
50533         * lib/isnan.c (rpl_isnand): Use it.
50534         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
50535         * tests/test-floorf1.c (NaN): Likewise.
50536         * tests/test-frexp.c (NaN): Likewise.
50537         * tests/test-isnand.c (NaN): Likewise.
50538         * tests/test-isnanf.c (NaN): Likewise.
50539         * tests/test-round1.c (NaN): Likewise.
50540         * tests/test-roundf1.c (NaN): Likewise.
50541         * tests/test-snprintf-posix.h (NaN): Likewise.
50542         * tests/test-sprintf-posix.h (NaN): Likewise.
50543         * tests/test-trunc1.c (NaN): Likewise.
50544         * tests/test-truncf1.c (NaN): Likewise.
50545         * tests/test-vasnprintf-posix.c (NaN): Likewise.
50546         * tests/test-vasprintf-posix.c (NaN): Likewise.
50547         * modules/isnand-nolibm (Depends-on): Add math.
50548         * modules/isnanf-nolibm (Depends-on): Likewise.
50549         * modules/isnanl (Depends-on): Likewise.
50550         * modules/isnanl-nolibm (Depends-on): Likewise.
50551         * modules/snprintf-posix-tests (Depends-on): Likewise.
50552         * modules/sprintf-posix-tests (Depends-on): Likewise.
50553         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
50554         * modules/vsprintf-posix-tests (Depends-on): Likewise.
50555         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
50556         * modules/vasprintf-posix-tests (Depends-on): Likewise.
50557
50558 2008-03-31  Bruno Haible  <bruno@clisp.org>
50559
50560         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
50561         * doc/posix-functions/strtod.texi: Likewise.
50562
50563 2008-03-31  Bruno Haible  <bruno@clisp.org>
50564
50565         * tests/test-strtod.c (main): Don't use C99 syntax.
50566
50567 2008-03-31  Bruno Haible  <bruno@clisp.org>
50568
50569         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
50570         Reported by Eric Blake.
50571
50572 2008-03-31  Jim Meyering  <meyering@redhat.com>
50573
50574         Don't compare actual signbit return values.
50575         * tests/test-strtod.c (main): Rather, compare only their
50576         zero/non-zero nature.
50577
50578 2008-03-31  Eric Blake  <ebb9@byu.net>
50579
50580         More strtod documentation.
50581         * doc/posix-functions/strtod.texi (strtod): Interpret more test
50582         failures as distinct bugs.
50583
50584 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50585
50586         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
50587         Problem reported by Erik Benada in
50588         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
50589
50590 2008-03-30  Bruno Haible  <bruno@clisp.org>
50591
50592         * tests/test-strtod.c: Add comments about which assertion fails on which
50593         platform.
50594         * doc/posix-functions/strtod.texi: Add info about many more platforms.
50595
50596 2008-03-30  Eric Blake  <ebb9@byu.net>
50597
50598         Test signbit behavior on zeros.
50599         * tests/test-signbit.c (test_signbitf): Add tests for zero.
50600         (test_signbitd, test_signbitl): Likewise.
50601
50602         More strtod touchups.
50603         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
50604         sign of negative underflow, for now.  Use .5, not .1.
50605         * doc/posix-functions/strtod.texi (strtod): Mention these
50606         limitations.
50607         Reported by Jim Meyering.
50608
50609 2008-03-30  Bruno Haible  <bruno@clisp.org>
50610
50611         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
50612         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
50613
50614 2008-03-30  Bruno Haible  <bruno@clisp.org>
50615
50616         Avoid failure when attempting to return empty iconv results on some
50617         platforms.
50618         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
50619         allocation, don't report ENOMEM when the resulting string is empty.
50620
50621 2008-03-30  Bruno Haible  <bruno@clisp.org>
50622
50623         Fix buffer overrun.
50624         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
50625         Don't consider the width for tmp_length. Check count against tmp_length
50626         before doing the padding. Ensure enough allocation during padding.
50627
50628 2008-03-30  Eric Blake  <ebb9@byu.net>
50629
50630         strtod touchups.
50631         * lib/strtod.c (strtod): Avoid compiler warnings.
50632         Reported by Jim Meyering.
50633
50634 2008-03-30  Bruno Haible  <bruno@clisp.org>
50635
50636         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
50637         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
50638         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
50639         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
50640         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
50641         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
50642         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
50643         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
50644
50645         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
50646         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
50647         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
50648         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
50649         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
50650         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
50651         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
50652         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
50653
50654         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
50655         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
50656         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
50657         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
50658         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
50659         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
50660         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
50661         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
50662
50663         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
50664         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
50665
50666         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
50667         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
50668
50669         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
50670         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
50671
50672         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
50673         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
50674         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
50675
50676         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
50677         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
50678         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
50679
50680         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
50681         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
50682         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
50683
50684         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
50685         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
50686         * modules/vasprintf (Depends-on): Add EOVERFLOW.
50687
50688         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
50689         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
50690         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
50691         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
50692         (Depends-on): Add EOVERFLOW.
50693         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
50694         (Depends-on): Add EOVERFLOW.
50695         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50696         (Depends-on): Add EOVERFLOW.
50697         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
50698         (Depends-on): Add EOVERFLOW.
50699         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50700         (Depends-on): Add EOVERFLOW.
50701         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
50702         (Depends-on): Add EOVERFLOW.
50703         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50704         (Depends-on): Add EOVERFLOW.
50705         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
50706         (Depends-on): Add EOVERFLOW.
50707
50708         * lib/sprintf.c (EOVERFLOW): Remove fallback.
50709         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
50710         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
50711
50712         * lib/snprintf.c (EOVERFLOW): Remove fallback.
50713         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
50714         * modules/snprintf (Depends-on): Add EOVERFLOW.
50715
50716         * lib/poll.c (EOVERFLOW): Remove fallback.
50717         * modules/poll (Depends-on): Add EOVERFLOW.
50718
50719         * lib/getugroups.c (EOVERFLOW): Remove fallback.
50720         * modules/getugroups (Depends-on): Add EOVERFLOW.
50721
50722         * lib/getdelim.c (EOVERFLOW): Remove fallback.
50723         * modules/getdelim (Depends-on): Add EOVERFLOW.
50724
50725         * lib/ftell.c (EOVERFLOW): Remove fallback.
50726         * modules/ftell (Depends-on): Add EOVERFLOW.
50727
50728         * lib/fprintf.c (EOVERFLOW): Remove fallback.
50729         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
50730         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
50731
50732         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
50733
50734         * modules/EOVERFLOW-tests: New file.
50735         * tests/test-EOVERFLOW.c: New file.
50736
50737         * modules/EOVERFLOW: New file.
50738         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
50739
50740 2008-03-30  Bruno Haible  <bruno@clisp.org>
50741
50742         Fix bug introduced on 2007-06-10.
50743         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
50744         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
50745
50746 2008-03-30  Bruno Haible  <bruno@clisp.org>
50747
50748         Improve freadseek's efficiency after ungetc.
50749         * lib/freadseek.c: Include freadahead.h.
50750         (freadptrinc): New function, extracted from freadseek.
50751         (freadseek): Use it in a loop. Use freadahead to determine the number
50752         of loop iterations.
50753         * modules/freadseek (Depends-on): Add freadahead.
50754         (configure.ac): Require AC_C_INLINE.
50755
50756 2008-03-30  Bruno Haible  <bruno@clisp.org>
50757
50758         * lib/freadseek.c (freadseek): Don't ignore the return value of
50759         freadptr.
50760
50761 2008-03-29  Eric Blake  <ebb9@byu.net>
50762
50763         Add hex float support.
50764         * modules/strtod (Depends-on): Add c-ctype.
50765         (Link): Mention POW_LIB.
50766         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
50767         whitespace between 'e' and exponent.
50768         * tests/test-strtod.c (main): Enable hex float tests.
50769         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
50770         now provides.
50771
50772         Document various strtod bugs, with some fixes.
50773         * doc/posix-functions/strtod.texi (strtod): Document bugs with
50774         "-0x", "inf", "nan", and hex constants.
50775         * doc/posix-functions/atof.texi (atof): Likewise.
50776         * modules/stdlib (Makefile.am): Support strtod.
50777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
50778         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
50779         detect additional strtod bugs.
50780         * lib/stdlib.in.h (rpl_strtod): Add declarations.
50781         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
50782         bool where appropriate.  Parse 'inf' and 'nan'.
50783         * tests/test-strtod.c: New file.
50784         * modules/strtod (Depends-on): Add stdbool, stdlib.
50785         (configure.ac): Turn on module indicator.
50786         * modules/strtod-tests: New module.
50787
50788 2008-03-29  Eric Blake  <ebb9@byu.net>
50789
50790         Fix ftell on mingw.
50791         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
50792         * modules/ftell-tests (Depends-on): Add binary-io.
50793         * modules/ftello-tests (Depends-on): Likewise.
50794         * tests/test-ftell.c (main): Enhance test to cover behavior after
50795         ungetc.  Enforce binary mode.
50796         * tests/test-ftello.c (main): Likewise.
50797
50798         Pass test-freadseek on cygwin.
50799         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
50800         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
50801         ungetc buffer.
50802
50803         * tests/test-fflush2.c (main): Fix typo.
50804
50805 2008-03-29  Bruno Haible  <bruno@clisp.org>
50806
50807         * tests/test-fflush2.c (main): Temporarily disable the contents of
50808         this test.
50809         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
50810         Reported by Eric Blake.
50811
50812 2008-03-28  Simon Josefsson  <simon@josefsson.org>
50813
50814         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
50815         (GC_SHA224_DIGEST_SIZE): Add.
50816
50817         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
50818         (gc_hash_digest_length): Likewise.
50819         (gc_hash_buffer): Likewise.
50820
50821 2008-03-25  Bruno Haible  <bruno@clisp.org>
50822
50823         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
50824         detail which gettext release to use.
50825         Reported by Simon Josefsson.
50826
50827 2008-03-26  Jim Meyering  <meyering@redhat.com>
50828
50829         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
50830         * modules/gnumakefile (clean-GNUmakefile): Also, use
50831         test ... && ... || : syntax rather than if-then ... fi.
50832
50833         gnumakefile: Don't double-quote-expand $(VPATH) value.
50834         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
50835
50836 2008-03-24  Eric Blake  <ebb9@byu.net>
50837
50838         Alter GNUmakefile to install into top directory.
50839         * modules/maintainer-makefile: Split, and add dependency...
50840         * modules/gnumakefile: to this new module.
50841         * build-aux/GNUmakefile: Move...
50842         * top/GNUmakefile: ...here.
50843         * build-aux/maint.mk: Move...
50844         * top/maint.mk: ...here.
50845         * MODULES.html.sh (Support for maintaining...): Document new
50846         module.
50847
50848 2008-03-23  Bruno Haible  <bruno@clisp.org>
50849
50850         * gnulib-tool: New options --vc-files, --no-vc-files.
50851         (func_usage): Document them.
50852         (vc_files): New variable.
50853         (func_import): Consider vc_files.
50854         (func_create_testdir): Set vc_files to empty.
50855         Suggested by Jim Meyering and Karl Berry.
50856
50857 2008-03-23  Bruno Haible  <bruno@clisp.org>
50858
50859         Fix regex compilation error on HP-UX 11.
50860         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
50861         * modules/regex (Files): Add m4/mbstate_t.m4.
50862         Reported by Ton Voon <ton.voon@altinity.com>.
50863
50864 2008-03-23  Bruno Haible  <bruno@clisp.org>
50865
50866         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
50867
50868 2008-03-23  Eric Blake  <ebb9@byu.net>
50869             Bruno Haible  <bruno@clisp.org>
50870
50871         Install files from top/ in the destination directory.
50872         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50873         augmentation also for the files from top/.
50874         (func_import, func_create_testdir): Rewrite file names:
50875         top/filename -> filename.
50876
50877 2008-03-23  Bruno Haible  <bruno@clisp.org>
50878
50879         Tweak "gnulib --version" output.
50880         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
50881
50882 2008-03-23  Bruno Haible  <bruno@clisp.org>
50883
50884         Tweak "gnulib --version" output.
50885         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
50886         rather than contents of ChangeLog, when possible.
50887
50888 2008-03-21  Eric Blake  <ebb9@byu.net>
50889
50890         More --version tweaks.
50891         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
50892         date of last ChangeLog entry.
50893
50894 2008-03-21  Jim Meyering  <meyering@redhat.com>
50895
50896         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
50897
50898 2008-03-20  Eric Blake  <ebb9@byu.net>
50899
50900         VPATH fix.
50901         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
50902
50903 2008-03-20  Simon Josefsson  <simon@josefsson.org>
50904
50905         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
50906         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
50907
50908 2008-03-20  Eric Blake  <ebb9@byu.net>
50909
50910         Sync GNUmakefile with coreutils.
50911         * build-aux/GNUmakefile (have-Makefile): Rename...
50912         (_have-Makefile): ...to this, for namespace consideration.
50913         (GNUmakefile.cfg): Include, if present.
50914         (_autoreconf): Define a default.
50915         (_is-dist-target): New rule for rebuilds to pick up intra-release
50916         version.
50917         (maint-cfg.mk): Rename...
50918         (cfg.mk): ...to this.
50919
50920 2008-03-18  Jim Meyering  <meyering@redhat.com>
50921
50922         New script and module: mktempd
50923         * MODULES.html.sh (maint+release support): Add mktempd.
50924         * build-aux/mktempd: New file.
50925         * modules/mktempd: New file.
50926
50927 2008-03-15  Jim Meyering  <meyering@redhat.com>
50928
50929         Undo last change.
50930         * lib/sha1.c, lib/md5.c: 63 != ~63.
50931         Reported by Andreas Schwab.
50932
50933         sha1.c, md5.c: Hoist a redundant expression.
50934         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
50935         "ctx->buflen" only once, before calling *_process_block.
50936         * lib/md5.c (md5_process_bytes): Likewise.
50937
50938 2008-03-14  Eric Blake  <ebb9@byu.net>
50939
50940         Bump copyright year in files generated by gnulib-tool.
50941         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
50942         gnulib-tool, rather than hard-coding it.
50943
50944         Fix 'gnulib-tool --version' output to work with git.
50945         * gnulib-tool (func_gnulib_dir): New function, extracted from...
50946         (startup): ...here.
50947         (func_version): Use it to invoke git-version-gen, rather than
50948         relying on CVS keyword expansion.  Modernize wording.
50949         (cvsdatestamp, last_checkin_date, version): Kill unused
50950         variables.
50951
50952 2008-03-12  Jim Meyering  <meyering@redhat.com>
50953
50954         Recognize optional cast of the argument to free.
50955         * build-aux/useless-if-before-free: Update regexps.
50956
50957         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
50958
50959 2008-03-11  Bruno Haible  <bruno@clisp.org>
50960
50961         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
50962         by a single package.
50963         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
50964         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
50965         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
50966         Reported by Sam Steingold <sds@gnu.org>.
50967
50968 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50969
50970         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
50971         repositories.
50972
50973 2008-03-11  Bruno Haible  <bruno@clisp.org>
50974
50975         Avoid conflicts between local macro definitions.
50976         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50977         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
50978
50979 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
50980             Bruno Haible  <bruno@clisp.org>
50981
50982         Make va_copy work with some version of xlc on AIX 5.1.
50983         * lib/stdarg.in.h: New file.
50984         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
50985         On AIX, use a <stdarg.h> file substitute.
50986         * modules/stdarg (Files): Add lib/stdarg.in.h.
50987         (Depends-on): Add include_next.
50988         (Makefile.am): Build a stdarg.h substitute if requested.
50989         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
50990
50991 2008-03-10  Bruno Haible  <bruno@clisp.org>
50992
50993         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
50994         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50995         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
50996
50997 2008-03-10  Bruno Haible  <bruno@clisp.org>
50998
50999         * modules/stdlib (Depends-on): Add include_next, remove
51000         absolute-header.
51001
51002 2008-03-09  Bruno Haible  <bruno@clisp.org>
51003
51004         * lib/freadahead.h (freadahead): Document more precisely.
51005         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
51006         the sum of both buffer sizes.
51007         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
51008         * NEWS: Document the change.
51009
51010 2008-03-09  Bruno Haible  <bruno@clisp.org>
51011
51012         Extend freadptr to return also the buffer size.
51013         * lib/freadptr.h (freadptr): Add sizep argument.
51014         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
51015         (freadptr): Add sizep argument. Determine buffer size like freadahead
51016         does.
51017         * tests/test-freadptr.c: Don't include freadahead.h.
51018         (main): Adapt for new calling convention of freadptr.
51019         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
51020         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
51021         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
51022         tests/test-freadptr2.sh.
51023         (Depends): Remove freadahead.
51024         (TESTS): Add test-freadptr2.sh.
51025         (check_PROGRAMS): Add test-freadptr2.
51026
51027 2008-03-09  Bruno Haible  <bruno@clisp.org>
51028
51029         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
51030         Report and solution by Simon Josefsson.
51031
51032 2008-03-06  Bruno Haible  <bruno@clisp.org>
51033
51034         Make fflush after ungetc work on BSD platforms.
51035         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
51036         * tests/test-fflush2.c: New file.
51037         * tests/test-fflush2.sh: New file.
51038         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
51039         tests/test-fflush2.c.
51040         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
51041         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
51042
51043 2008-03-06  Eric Blake  <ebb9@byu.net>
51044
51045         Likewise for ftello.
51046         * modules/ftello (Dependencies): Add extensions.
51047         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
51048
51049 2008-03-06  Bruno Haible  <bruno@clisp.org>
51050
51051         * modules/fseeko (Dependencies): Add extensions.
51052         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
51053         Needed on glibc systems.
51054
51055 2008-03-06  Bruno Haible  <bruno@clisp.org>
51056
51057         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
51058         email address.
51059         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51060
51061 2008-03-06  Bruno Haible  <bruno@clisp.org>
51062
51063         * users.txt: Add libgnupdf.
51064
51065 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51066
51067         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
51068         (Header File Substitutes, Function Substitutes,
51069         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
51070         (Build robot for gnulib): Fix typo.
51071
51072 2008-03-06  Bruno Haible  <bruno@clisp.org>
51073
51074         * doc/gnulib-tool.texi (VCS Issues): Small updates.
51075         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51076
51077 2008-03-06  Bruno Haible  <bruno@clisp.org>
51078
51079         * doc/func.texi: New file, extracted from doc/gnulib.texi.
51080         * doc/gnulib.texi: Include it.
51081
51082 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51083
51084         * modules/func (License): Change license to unlimited; there was
51085         no LGPL parts in the module anyway.
51086
51087 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51088
51089         * modules/__func__: Renamed to modules/func.
51090         * modules/__func__-tests: Renamed to modules/func-tests.
51091         * tests/test-__func__.c: Renamed to tests/test-func.c.
51092         * m4/__func__.m4: Renamed to m4/func.m4.
51093         * doc/gnulib.texi (__func__): Section renamed to func.
51094         Suggested by Eric Blake <ebb9@byu.net>.
51095
51096 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51097
51098         * doc/gnulib.texi (__func__): Use C99 terminology when talking
51099         about __func__.  Make example self-contained.  Suggested by Eric
51100         Blake <ebb9@byu.net>.
51101
51102         * tests/test-__func__.c (main): Avoid extraneous () around __func.
51103         Suggested by Eric Blake <ebb9@byu.net>.
51104
51105 2008-03-06  Simon Josefsson  <simon@josefsson.org>
51106
51107         * modules/__func__: New file.
51108         * modules/__func__-tests: New file.
51109         * tests/test-__func__.c: New file.
51110         * m4/__func__.m4: New file.
51111         * doc/gnulib.texi (__func__): Document __func__ module.
51112
51113 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51114
51115         * modules/byteswap (License): Re-license as LGPLv2+.
51116
51117 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51118
51119         * doc/Makefile: Add pdf target.
51120
51121 2008-03-05  Simon Josefsson  <simon@josefsson.org>
51122
51123         * modules/inline (License): Use 'unlimited', since there are only
51124         *.m4 files in this module.
51125
51126 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51127             Bruno Haible  <bruno@clisp.org>
51128
51129         Add support for HP C 7.1 on OpenVMS 8.3.
51130         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
51131
51132 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
51133
51134         Update VMS specifics.
51135         * lib/getopt.c [VMS]: Remove include of unixlib.h.
51136
51137 2008-03-02  Jim Meyering  <meyering@redhat.com>
51138
51139         Remove the last dependency on the "free" module.
51140         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
51141         Reported by Bob Proulx.
51142
51143         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
51144
51145         Remove useless "if" tests before free.  Deprecate "free" module.
51146         * doc/posix-functions/free.texi: Mention that this
51147         module is no longer useful.
51148         * modules/free (Notice): Say this module is obsolete.
51149         * modules/readutmp (Depends-on): Remove free.
51150         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
51151         * lib/putenv.c (putenv): Likewise.
51152         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
51153         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
51154         * tests/test-c-strcasestr.c (main): Likewise.
51155         * tests/test-c-strstr.c (main): Likewise.
51156         * tests/test-mbscasestr1.c (main): Likewise.
51157         * tests/test-mbscasestr2.c (main): Likewise.
51158         * tests/test-mbsstr1.c (main): Likewise.
51159         * tests/test-mbsstr2.c (main): Likewise.
51160         * tests/test-memmem.c (main): Likewise.
51161         * tests/test-strcasestr.c (main): Likewise.
51162         * tests/test-striconv.c (main): Likewise.
51163         * tests/test-striconveh.c (main): Likewise.
51164         * tests/test-striconveha.c (main): Likewise.
51165         * tests/test-strstr.c (main): Likewise.
51166
51167         * build-aux/git-version-gen: Adjust a comment and the Usage string.
51168
51169         bootstrap: sync from coreutils again
51170         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
51171
51172 2008-03-01  Jim Meyering  <meyering@redhat.com>
51173
51174         bootstrap: sync from coreutils
51175         * build-aux/bootstrap (update_po_files): Copy a .po file into place
51176         also when the target doesn't exist.
51177
51178 2008-03-01  Eric Blake  <ebb9@byu.net>
51179
51180         Fix bugs in last patch.
51181         * lib/memchr2.c (memchr2): Fix typo.
51182         * tests/test-memchr2.c: Test previous bug, and don't use GNU
51183         extension.
51184         Reported by Bruce Korb.
51185
51186         New module 'memchr2'.
51187         * modules/memchr2: New file.
51188         * modules/memchr2-tests: Likewise.
51189         * lib/memchr2.h: Likewise.
51190         * lib/memchr2.c: Likewise, based on memchr.c.
51191         * tests/test-memchr2.c: New test.
51192         * MODULES.html.sh (String handling): Add memchr2.
51193
51194 2008-02-29  Bruno Haible  <bruno@clisp.org>
51195
51196         * modules/freadseek-tests: New file.
51197         * tests/test-freadseek.sh: New file.
51198         * tests/test-freadseek.c: New file.
51199
51200         New module 'freadseek'.
51201         * modules/freadseek: New file.
51202         * lib/freadseek.h: New file.
51203         * lib/freadseek.c: New file.
51204         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
51205
51206 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
51207
51208         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
51209         wydawca.
51210
51211         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
51212         program_invocation_name and program_invocation_short_name are
51213         present.
51214
51215 2008-02-28  Bruno Haible  <bruno@clisp.org>
51216
51217         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
51218         * tests/test-freadptr.sh: Also test non-seekable stdin.
51219
51220 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
51221
51222         * build-aux/bootstrap (source_base, m4_base)
51223         (doc_base, tests_base): New variables.
51224         (gnulib_tool_options): Do not hardcode base directories, use
51225         the above variables instead.
51226
51227 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
51228
51229         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
51230
51231 2008-02-28  Bruno Haible  <bruno@clisp.org>
51232
51233         * modules/freadptr-tests: New file.
51234         * tests/test-freadptr.sh: New file.
51235         * tests/test-freadptr.c: New file.
51236
51237         New module 'freadptr'.
51238         * modules/freadptr: New file.
51239         * lib/freadptr.h: New file.
51240         * lib/freadptr.c: New file.
51241         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
51242
51243 2008-02-26  Karl Berry  <karl@freefriends.org>
51244
51245         Sync from Libtool:
51246         * libltdl/argz.c (argz_add, argz_count): New functions.
51247         * libltdl/argz.in.h: Declare them.
51248         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
51249
51250 2008-02-22  Bruno Haible  <bruno@clisp.org>
51251
51252         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
51253         is a pointer type.  Needed for HP-UX 10.
51254         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
51255         * doc/posix-functions/gmtime_r.texi: Likewise.
51256         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
51257
51258 2008-02-24  Bruno Haible  <bruno@clisp.org>
51259
51260         * modules/environ-tests: New file.
51261         * tests/test-environ.c: New file.
51262
51263         New module 'environ'.
51264         * modules/environ: New file.
51265         * lib/unistd.in.h (environ): New declaration.
51266         * m4/environ.m4: New file.
51267         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
51268         after use.
51269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
51270         HAVE_DECL_ENVIRON.
51271         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
51272         HAVE_DECL_ENVIRON.
51273         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
51274         wrong claim that 'environ' is missing on some systems.
51275         * modules/execute (Depends-on): Add environ.
51276         * lib/execute.c (environ): Remove fallback declaration.
51277         * modules/pipe (Depends-on): Add environ.
51278         * lib/pipe.c (environ): Remove fallback declaration.
51279         * modules/setenv (Depends-on): Add environ.
51280         * lib/setenv.c (environ): Remove fallback declaration.
51281         * modules/unsetenv (Depends-on): Add environ.
51282         * lib/unsetenv.c (environ): Remove fallback declaration.
51283         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
51284         m4/environ.m4.
51285         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
51286         (gl_PREREQ_UNSETENV): Likewise.
51287
51288 2008-02-24  Bruno Haible  <bruno@clisp.org>
51289
51290         * doc/posix-functions/environ.texi: Document the MacOS X problem.
51291
51292 2008-02-20  Bob Proulx  <bob@proulx.com>
51293
51294         Enable use of older two part flavor 'git describe'.
51295         * build-aux/git-version-gen: If using the older two part flavor of
51296         git version then recreate the third part now present in the
51297         newer three part flavor of git describe.
51298
51299 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
51300
51301         * lib/fts.c (fts_build): Typo correction to comment.
51302
51303 2008-02-17  Bruno Haible  <bruno@clisp.org>
51304
51305         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
51306         generating no-op conflicts.
51307
51308 2008-02-17  Bruno Haible  <bruno@clisp.org>
51309
51310         Speed up by 10%.
51311         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
51312         result_entries, rather than an index-based loop.
51313
51314 2008-02-17  Bruno Haible  <bruno@clisp.org>
51315
51316         Speed up by 25%.
51317         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
51318         'hashcode_cached'.
51319         (entry_create): New function.
51320         (entry_hashcode): Use the cached hashcode if possible.
51321         (read_changelog_file, try_split_merged_entry): Use entry_create.
51322
51323 2008-02-17  Bruno Haible  <bruno@clisp.org>
51324
51325         Speed up from O(n^2) to O(n) for long ChangeLog files.
51326         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
51327         (read_changelog_file): Change implementation of entries_reversed list
51328         to rbtreehash.
51329         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
51330
51331 2008-02-17  Bruno Haible  <bruno@clisp.org>
51332
51333         New option --split-merged-entry.
51334         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
51335         (find_paragraph_end, try_split_merged_entry): New functions.
51336         (long_options): Add option --split-merged-entry.
51337         (usage): Document option --split-merged-entry.
51338         (main): Implement option --split-merged-entry.
51339         Reported by Eric Blake.
51340
51341 2008-02-17  Bruno Haible  <bruno@clisp.org>
51342
51343         * lib/git-merge-changelog.c: Include c-strstr.h.
51344         (main): Support the "git pull --rebase" situation.
51345         * modules/git-merge-changelog (Depends-on): Add c-strstr.
51346         Reported by Eric Blake.
51347
51348 2008-02-16  Eric Blake  <ebb9@byu.net>
51349
51350         Avoid doubling \ in common case of "c-maybe" quoting style.
51351         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
51352         eliding outer quotes.
51353         * lib/quotearg.h: Document this.
51354         * tests/test-quotearg.c (result_strings, inputs, results_g)
51355         (flag_results, locale_results): Test it by adding a new string to
51356         each test group.
51357         (compare_strings): Test new string.
51358
51359 2008-02-13  Eric Blake  <ebb9@byu.net>
51360
51361         Avoid trigraph quoting in default output.
51362         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
51363         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
51364         unless explicitly requested.
51365         * tests/test-quotearg.c (flag_results, main): Add additional tests.
51366
51367 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
51368
51369         Don't rely on signed integer overflowing to negative value.
51370         * lib/getugroups.c (getugroups): Include <limits.h>.
51371         Instead, compare against INT_MAX, and increment only if the test passes.
51372
51373 2008-02-13  Jim Meyering  <meyering@redhat.com>
51374         and Eric Blake  <ebb9@byu.net>
51375
51376         Avoid shadowing warning and compile errors on Linux.
51377         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
51378         forwarding macros on Linux.
51379         (dcgettext): Define a stub, for Linux.
51380         (results_g, main): Avoid warnings.
51381
51382 2008-02-12  Eric Blake  <ebb9@byu.net>
51383
51384         Silence warning in last patch.
51385         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
51386
51387         Quotearg part 4: add tests, fix c-maybe colon quoting.
51388         * lib/quotearg.h: Improve documentation.
51389         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
51390         escapes when adding outer quotes.  When quoting trigraphs, use
51391         valid C notation.  When quoting NUL, omit extra characters if next
51392         character is not digit.  Alter prototype.
51393         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
51394         callers.
51395         * modules/quotearg-tests: New module.
51396         * tests/test-quotearg.c: New test.
51397
51398 2008-02-07  Eric Blake  <ebb9@byu.net>
51399
51400         Quotearg part 3: add flag to control outer quote elision.
51401         * lib/quotearg.h (c_maybe_quoting_style): New style.
51402         (enum quoting_flags): Better documentation of flags.
51403         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
51404         c-maybe style.
51405         (quotearg_buffer_restyled): Handle new flag to elide outer
51406         quotes.
51407
51408         Quotearg part 2: add flag that can control NUL elision.
51409         * lib/quotearg.h (set_quoting_flags): New prototype.
51410         * lib/quotearg.c (struct quoting_options): Add flag field.
51411         (set_quoting_flags): New function.
51412         (quotearg_buffer_restyled): Add flags parameter.
51413         (quotearg_alloc_mem): Set the flag if length cannot be returned.
51414         (quotearg_n_options): Set the flag, since length cannot be
51415         returned.
51416         (quoting_options_from_style): Default flags correctly.
51417
51418         Quotearg part 1: more wrappers, restore quotearg_char state.
51419         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
51420         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
51421         (quotearg_colon_mem): New wrappers.
51422         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
51423         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
51424         functions.
51425         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
51426         (quotearg_colon_mem): New functions.
51427
51428 2008-02-11  Bruno Haible  <bruno@clisp.org>
51429
51430         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
51431         library in the current directory: it does not work with parallel make.
51432         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51433
51434 2008-02-11  Bruno Haible  <bruno@clisp.org>
51435
51436         * .gitattributes: New file.
51437
51438 2008-02-11  Jim Meyering  <meyering@redhat.com>
51439
51440         useless-if-before-free: Fix reversed exit values.
51441         * build-aux/useless-if-before-free: Use correct values
51442         for EXIT_MATCH and EXIT_NO_MATCH.
51443
51444         * build-aux/useless-if-before-free: Close stdout carefully.
51445
51446 2008-02-10  Bruno Haible  <bruno@clisp.org>
51447
51448         New module 'git-merge-changelog'.
51449         * modules/git-merge-changelog: New file.
51450         * lib/git-merge-changelog.c: New file.
51451
51452 2008-02-10  Jim Meyering  <meyering@redhat.com>
51453
51454         useless-if-before-free: New option: --list (-l).
51455
51456         useless-if-before-free: Don't exit immediately upon open failure.
51457         * build-aux/useless-if-before-free: Exit 2 for errors.
51458         Upon failure to open a file, don't exit immediately.
51459         Rather, just warn and continue with any remaining files.
51460
51461 2008-02-10  Bruno Haible  <bruno@clisp.org>
51462
51463         New abstract list operation 'node_set_value'.
51464         * lib/gl_list.h (gl_list_node_set_value): New function.
51465         (struct gl_list_implementation): New field node_set_value.
51466         * lib/gl_list.c (gl_list_node_set_value): New function.
51467         * lib/gl_array_list.c (gl_array_node_set_value): New function.
51468         (gl_array_list_implementation): Update.
51469         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
51470         (gl_carray_list_implementation): Update.
51471         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
51472         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51473         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51474         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
51475         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51476         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51477         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51478         Update.
51479         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51480         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
51481         (gl_sublist_list_implementation): Update.
51482
51483 2008-02-10  Bruno Haible  <bruno@clisp.org>
51484
51485         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
51486         Needed when ELEMENT is #defined to 'some_type *'.
51487
51488 2008-02-10  Jim Meyering  <meyering@redhat.com>
51489
51490         New script and module: useless-if-before-free
51491         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
51492         * build-aux/useless-if-before-free: New file.
51493         * modules/useless-if-before-free: New file.
51494
51495         * build-aux/gitlog-to-changelog: Use committer date, not author date.
51496
51497         xstrtol_error: Fix typo.
51498         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
51499         s/exit_failure/exit_status/.
51500
51501 2008-02-09  Jim Meyering  <meyering@redhat.com>
51502
51503         New script and module: gitlog-to-changelog
51504         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
51505         * modules/gitlog-to-changelog: New file.
51506         * build-aux/gitlog-to-changelog: New file.
51507
51508 2008-02-08  Jim Meyering  <meyering@redhat.com>
51509
51510         Avoid two "parameter unused" warnings.
51511         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
51512         Mark "st" as used.
51513
51514         Use "git COMMAND", not "git-COMMAND".
51515         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
51516         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
51517         * build-aux/git-version-gen: Use "git status", not "git-status".
51518
51519 2008-02-07  Bruno Haible  <bruno@clisp.org>
51520
51521         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
51522         Avoids a crash on Windows Vista.
51523         Reported by Adam Strzelecki <ono@java.pl> via
51524         Simon Josefsson <simon@josefsson.org>.
51525
51526 2008-02-06  Bruno Haible  <bruno@clisp.org>
51527
51528         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
51529         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
51530         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
51531         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
51532         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51533         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51534         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
51535         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
51536         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51537         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51538         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51539         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51540         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51541         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51542         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51543         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
51544         left-adjust flag.
51545         * tests/test-snprintf-posix.h (test_function): Likewise.
51546         * tests/test-sprintf-posix.h (test_function): Likewise.
51547         * tests/test-vasprintf-posix.c (test_function): Likewise.
51548         * doc/posix-functions/fprintf.texi: Update.
51549         * doc/posix-functions/printf.texi: Update.
51550         * doc/posix-functions/snprintf.texi: Update.
51551         * doc/posix-functions/sprintf.texi: Update.
51552         * doc/posix-functions/vfprintf.texi: Update.
51553         * doc/posix-functions/vprintf.texi: Update.
51554         * doc/posix-functions/vsnprintf.texi: Update.
51555         * doc/posix-functions/vsprintf.texi: Update.
51556         Reported by Peter Fales <psfales@alcatel-lucent.com>.
51557
51558 2008-02-06  Bruno Haible  <bruno@clisp.org>
51559
51560         Fix bug introduced on 2008-01-26.
51561         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
51562
51563 2008-02-06  Bruno Haible  <bruno@clisp.org>
51564
51565         Fix bug introduced on 2007-06-10.
51566         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
51567         !NEED_PRINTF_FLAG_ZERO.
51568
51569 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
51570
51571         getloadavg: use libperfstat on AIX5
51572         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
51573
51574 2008-02-03  Bruno Haible  <bruno@clisp.org>
51575
51576         * lib/diffseq.h: Add comments about required #includes.
51577         Reported by Michael Biggs <gnulib@doubleplum.net>.
51578
51579 2008-02-01  Bruno Haible  <bruno@clisp.org>
51580
51581         * users.txt: Add gnuit.
51582
51583 2008-01-31  Bruno Haible  <bruno@clisp.org>
51584
51585         * lib/md4.c (set_uint32): Mark as inline.
51586         * lib/md5.c (set_uint32): Likewise.
51587         * lib/sha1.c (set_uint32): Likewise.
51588         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
51589         * m4/md5.m4 (gl_MD5): Likewise.
51590         * m4/sha1.m4 (gl_SHA1): Likewise.
51591
51592 2008-01-31  Jim Meyering  <meyering@redhat.com>
51593
51594         Use "sizeof VAR", rather than a literal "4".
51595         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
51596         * lib/md4.c (md4_read_ctx): Likewise.
51597         * lib/sha1.c (sha1_read_ctx): Likewise.
51598
51599 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51600
51601         * tests/test-sha1.c: New file, based on test-md5.c.
51602
51603         * modules/crypto/sha1-tests: New file.
51604
51605 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51606
51607         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
51608
51609 2008-01-31  Jim Meyering  <meyering@redhat.com>
51610
51611         Prefer "sizeof v" over the equivalent "4".
51612         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
51613         * lib/md5.c (set_uint32): Likewise.
51614         * lib/sha1.c (set_uint32): Likewise.
51615
51616 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51617
51618         * lib/sha1.c (set_uint32): Mark function as static.
51619
51620 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51621
51622         md2: clarify comments to say that alignment is not required.
51623         * lib/md2.h: Remove warning about alignment in comment.
51624         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
51625         never been required.
51626
51627 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51628
51629         md4: adapt alignment constraint fix from sha1.
51630         * lib/md4.c (set_uint32): New function, from sha1.c
51631         (md4_read_ctx): Use it.
51632         (md4_finish_ctx): Doc fix.
51633         * lib/md4.h: Doc fix.
51634
51635 2008-01-31  Simon Josefsson  <simon@josefsson.org>
51636
51637         md5: adapt alignment constraint fix from sha1.
51638         * lib/md5.c (set_uint32): New function, from sha1.c
51639         (md5_read_ctx): Use it.
51640         (md5_finish_ctx): Doc fix.
51641         * lib/md5.h: Doc fix.
51642
51643 2008-01-30  Peter Palfrader  <weasel@debian.org>
51644
51645         sha1: remove the result buffer alignment constraint
51646         * lib/sha1.c (set_uint32): New function.
51647         (sha1_read_ctx): Rewrite to remove the result buffer alignment
51648         constraint.
51649         (sha1_finish_ctx): Remove comment warning about alignment constraint.
51650         * lib/sha1.h: Likewise.
51651
51652 2008-01-30  Andreas Schwab  <schwab@suse.de>
51653             Bruno Haible  <bruno@clisp.org>
51654
51655         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
51656         correct definition of LDBL_MIN_EXP.
51657
51658 2008-01-30  Karl Berry  <karl@gnu.org>
51659
51660         * config/srclist-update: try to preserve x bit on updates.
51661         * config/srclistvars.sh: update for karl.
51662
51663 2008-01-29  Jim Meyering  <meyering@redhat.com>
51664
51665         vasnprintf.c: Avoid warning about unused label
51666         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
51667         "overflow" label definition and associated code with the
51668         same cpp condition that guards the sole use of that label.
51669
51670 2008-01-26  Bruno Haible  <bruno@clisp.org>
51671
51672         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
51673         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
51674         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
51675         * lib/isnanl-nolibm.h (isnanl): Likewise.
51676         Reported by Paul Eggert <eggert@cs.ucla.edu>.
51677
51678 2008-01-26  Bruno Haible  <bruno@clisp.org>
51679
51680         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
51681         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
51682
51683 2008-01-26  Bruno Haible  <bruno@clisp.org>
51684
51685         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
51686         GCC >= 4.0 built-in.
51687         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
51688
51689 2008-01-26  Bruno Haible  <bruno@clisp.org>
51690
51691         Rename isnan, applicable to 'double' only, to isnand.
51692         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
51693         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
51694         (configure.ac): Update.
51695         (Include): Replace "isnan.h" with "isnand.h".
51696         * m4/isnand.m4: Renamed from m4/isnan.m4.
51697         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
51698         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
51699         instead of isnan.c.
51700         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
51701         instead of HAVE_ISNAN_IN_LIBC.
51702         (isnand): Renamed from isnan.
51703         * lib/isnand.c: New file.
51704         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
51705         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
51706         (Makefile.am): Update.
51707         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
51708         Include isnand.h instead of isnan.h.
51709         (main): Test isnand instead of isnan.
51710         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
51711         isnan-nolibm.
51712         * modules/frexp (Depends-on): Likewise.
51713         * modules/frexp-tests (Depends-on): Likewise.
51714         * modules/frexp-nolibm (Depends-on): Likewise.
51715         * modules/frexp-nolibm-tests (Depends-on): Likewise.
51716         * modules/isfinite (Depends-on): Likewise.
51717         * modules/round-tests (Depends-on): Likewise.
51718         * modules/signbit (Depends-on): Likewise.
51719         * modules/signbit-tests (Depends-on): Likewise.
51720         * modules/snprintf-posix (Depends-on): Likewise.
51721         * modules/sprintf-posix (Depends-on): Likewise.
51722         * modules/trunc-tests (Depends-on): Likewise.
51723         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51724         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51725         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51726         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51727         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51728         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51729         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51730         * modules/vasnprintf-posix (Depends-on): Likewise.
51731         * modules/vasprintf-posix (Depends-on): Likewise.
51732         * modules/vfprintf-posix (Depends-on): Likewise.
51733         * modules/vsnprintf-posix (Depends-on): Likewise.
51734         * modules/vsprintf-posix (Depends-on): Likewise.
51735         * lib/frexp.c: Include isnand.h instead of isnan.h.
51736         (ISNAN): Set to isnand instead of isnan.
51737         * lib/isfinite.c: Include isnand.h instead of isnan.h.
51738         (gl_isfinited): Use isnand instead of isnan.
51739         * lib/signbitd.c: Include isnand.h instead of isnan.h.
51740         (gl_signbitd): Use isnand instead of isnan.
51741         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
51742         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
51743         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
51744         (main): Use isnand instead of isnan.
51745         * tests/test-round1.c: Include isnand.h.
51746         (main): Use isnand instead of isnan.
51747         * tests/test-round2.c: Include isnand.h instead of isnan.h.
51748         (ISNAN): Set to isnand instead of isnan.
51749         * tests/test-trunc1.c: Include isnand.h.
51750         (main): Use isnand instead of isnan.
51751         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
51752         (equal): Use isnand instead of isnan.
51753         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
51754         isnand-nolibm.
51755         * NEWS: Mention the change.
51756
51757 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51758             Bruno Haible  <bruno@clisp.org>
51759
51760         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
51761         the GCC builtins for signbits are present and set
51762         REPLACE_SIGNBIT_USING_GCC if so.
51763         * lib/math.in.h (signbit): Define using GCC builtins if
51764         REPLACE_SIGNBIT_USING_GCC is set.
51765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
51766         REPLACE_SIGNBIT_USING_GCC.
51767         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
51768
51769 2008-01-25  Jim Meyering  <meyering@redhat.com>
51770
51771         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
51772         * lib/poll.c: Include <config.h>, not "config.h".
51773         * tests/test-getaddrinfo.c: Likewise.
51774
51775 2008-01-25  Simon Josefsson  <simon@josefsson.org>
51776
51777         * modules/sockets-tests: New file.
51778
51779 2008-01-24  Simon Josefsson  <simon@josefsson.org>
51780
51781         * modules/sockets: New module, can be used to call WSA_Startup and
51782         WSA_Cleanup when needed.
51783
51784         * lib/sockets.h, lib/sockets.c: New files.
51785
51786         * m4/sockets.m4: New file.
51787
51788         * tests/test-sockets.c: New file.
51789
51790 2008-01-19  Bruno Haible  <bruno@clisp.org>
51791
51792         * doc/posix-headers: Renamed from doc/headers.
51793         * doc/posix-functions: Renamed from doc/functions.
51794         * doc/gnulib.texi: Update.
51795
51796 2008-01-19  Bruno Haible  <bruno@clisp.org>
51797
51798         * doc/glibc-functions/strcasestr.texi: Include contents of
51799         doc/functions/strcasestr.texi, fixing the list of platforms.
51800         * doc/functions/strcasestr.texi: Remove file.
51801
51802 2008-01-19  Bruno Haible  <bruno@clisp.org>
51803
51804         * doc/glibc-functions/memmem.texi: Include contents of
51805         doc/functions/memmem.texi.
51806         * doc/functions/memmem.texi: Remove file.
51807
51808 2008-01-18  Bruno Haible  <bruno@clisp.org>
51809
51810         * doc/glibc-functions/*.texi: New files.
51811         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
51812         to use the new files.
51813
51814 2008-01-17  Bruno Haible  <bruno@clisp.org>
51815
51816         * tests/test-gethostname.c (main): Fix printf statement.
51817
51818 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51819
51820         * modules/gethostname-tests: New file.
51821
51822         * tests/test-gethostname.c: New file.
51823
51824 2008-01-17  Simon Josefsson  <simon@josefsson.org>
51825
51826         * lib/gethostname.c: Include string.h unconditionally, strncpy is
51827         used by the UNAME case.  Reported by Bruno Haible
51828         <bruno@clisp.org>.
51829
51830 2008-01-17  Eric Blake  <ebb9@byu.net>
51831
51832         Convert c-strcasestr to be more efficient.
51833         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
51834         (Depends-on): Add c-strcase, remove malloca, strnlen.
51835         * tests/test-c-strcasestr.c (main): Enhance test.
51836         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
51837
51838 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
51839
51840         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
51841         Use it in creating po/Makevars.
51842
51843 2008-01-15  Simon Josefsson  <simon@josefsson.org>
51844
51845         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
51846         Applications that requires it should initialize libgcrypt
51847         manually.
51848
51849 2008-01-16  Simon Josefsson  <simon@josefsson.org>
51850
51851         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
51852
51853 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
51854
51855         Fix problem with getdate on mingw32 reported by Simon Josefsson
51856         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
51857         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
51858         tzname", when deciding whether to declare tzname.
51859         * lib/strftime.c (tzname): Likewise.
51860
51861 2008-01-15  Bruno Haible  <bruno@clisp.org>
51862
51863         Work around a MacOS X 10.5 bug in frexpl().
51864         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
51865         * doc/functions/frexpl.texi: Document the bug.
51866         Reported by Elias Pipping <pipping@gentoo.org>.
51867
51868 2008-01-14  Eric Blake  <ebb9@byu.net>
51869
51870         Touch up previous patch.
51871         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
51872         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
51873
51874         Convert strcasestr module to use Two-Way algorithm.
51875         * modules/strcasestr-simple: New module, based on the old
51876         strcasestr, but with Two-Way rather than KMP.
51877         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
51878         * lib/string.in.h (rpl_strcasestr): Declare.
51879         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
51880         performance.
51881         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
51882         * modules/string (Makefile.am): Support strcasestr.
51883         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
51884         * modules/strcasestr-tests (Depends-on): Check for alarm.
51885         * tests/test-strcasestr.c: Augment test.
51886         * lib/str-two-way.h: Clean up stray macro.
51887         * NEWS: Document new module.
51888         * MODULES.html.sh (string handling): Likewise.
51889         * doc/functions/strcasestr.texi: New file.
51890         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
51891         here, since it is not a POSIX function.
51892
51893 2008-01-14  Colin Watson  <cjwatson@debian.org>
51894             Bruno Haible  <bruno@clisp.org>
51895
51896         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
51897         works fine; if not, set REPLACE_STRSIGNAL.
51898         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
51899         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51900         REPLACE_STRSIGNAL.
51901         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
51902         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
51903         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
51904
51905 2008-01-14  Bruno Haible  <bruno@clisp.org>
51906
51907         * modules/strsignal (Include): Change to <string.h>.
51908
51909 2008-01-14  Colin Watson  <cjwatson@debian.org>
51910
51911         * modules/argp (Notice): Add a notice recommending to change
51912         XGETTEXT_OPTIONS.
51913         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
51914
51915 2008-01-13  Colin Watson  <cjwatson@debian.org>
51916
51917         * modules/strsignal-tests: New file.
51918         * tests/test-strsignal.c: New file.
51919
51920         * lib/strsignal.c: New file, from glibc with modifications.
51921         * lib/siglist.h: New file, from glibc with modifications.
51922         * lib/string.in.h (strsignal): New declaration.
51923         * m4/strsignal.m4: New file.
51924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51925         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
51926         * modules/strsignal: New file.
51927         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
51928         HAVE_DECL_STRSIGNAL.
51929
51930 2008-01-13  Bruno Haible  <bruno@clisp.org>
51931
51932         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
51933         locale encoding is not ASCII. Needed for OpenBSD 4.0.
51934         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51935         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51936
51937 2008-01-13  Bruno Haible  <bruno@clisp.org>
51938
51939         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
51940         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
51941         * lib/argp.h (__attribute__): Likewise.
51942         * lib/c-stack.c (__attribute__): Likewise.
51943         * lib/error.h (__attribute__): Likewise.
51944         * lib/fts.c (__attribute__): Likewise.
51945         * lib/openat.h (__attribute__): Likewise.
51946         * lib/stdio.in.h (__attribute__): Likewise.
51947         * lib/string.in.h (__attribute__): Likewise.
51948         * lib/utimens.c (__attribute__): Likewise.
51949         * lib/vasnprintf.h (__attribute__): Likewise.
51950         * lib/xalloc.h (__attribute__): Likewise.
51951         * lib/xprintf.h (__attribute__): Likewise.
51952         * lib/xstrtol.h (__attribute__): Likewise.
51953         * lib/xvasprintf.h (__attribute__): Likewise.
51954
51955 2008-01-12  Bruno Haible  <bruno@clisp.org>
51956
51957         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
51958         * doc/glibc-headers/a.out.texi: New file.
51959         * doc/glibc-headers/aliases.texi: New file.
51960         * doc/glibc-headers/alloca.texi: New file.
51961         * doc/glibc-headers/ar.texi: New file.
51962         * doc/glibc-headers/argp.texi: New file.
51963         * doc/glibc-headers/argz.texi: New file.
51964         * doc/glibc-headers/byteswap.texi: New file.
51965         * doc/glibc-headers/crypt.texi: New file.
51966         * doc/glibc-headers/endian.texi: New file.
51967         * doc/glibc-headers/envz.texi: New file.
51968         * doc/glibc-headers/err.texi: New file.
51969         * doc/glibc-headers/error.texi: New file.
51970         * doc/glibc-headers/execinfo.texi: New file.
51971         * doc/glibc-headers/fpu_control.texi: New file.
51972         * doc/glibc-headers/fstab.texi: New file.
51973         * doc/glibc-headers/fts.texi: New file.
51974         * doc/glibc-headers/getopt.texi: New file.
51975         * doc/glibc-headers/ieee754.texi: New file.
51976         * doc/glibc-headers/ifaddrs.texi: New file.
51977         * doc/glibc-headers/libintl.texi: New file.
51978         * doc/glibc-headers/mcheck.texi: New file.
51979         * doc/glibc-headers/mntent.texi: New file.
51980         * doc/glibc-headers/obstack.texi: New file.
51981         * doc/glibc-headers/paths.texi: New file.
51982         * doc/glibc-headers/printf.texi: New file.
51983         * doc/glibc-headers/pty.texi: New file.
51984         * doc/glibc-headers/resolv.texi: New file.
51985         * doc/glibc-headers/shadow.texi: New file.
51986         * doc/glibc-headers/sysexits.texi: New file.
51987         * doc/glibc-headers/ttyent.texi: New file.
51988
51989 2008-01-12  Jim Meyering  <meyering@redhat.com>
51990
51991         announce-gen: emit Gnulib's git-based version string.
51992         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
51993         New option --gnulib-version=V, where V is expected to be
51994         the output of running git describe in the gnulib directory.
51995         (get_tool_versions): Request feedback on xdelta.  I suspect it's
51996         not useful, and plan to stop publishing an xdelta file with each
51997         coreutils release.
51998
51999         * build-aux/announce-gen: Also check for lzma-compressed files.
52000
52001 2008-01-11  Bruno Haible  <bruno@clisp.org>
52002
52003         * tests/test-memmem.c (main): Increase maximum allowed time.
52004         * tests/test-strstr.c (main): Likewise.
52005
52006 2008-01-11  Bruno Haible  <bruno@clisp.org>
52007
52008         * doc/functions/memmem.texi: Add more precisions about platforms.
52009         * doc/functions/strstr.texi: Likewise.
52010
52011 2008-01-10  Eric Blake  <ebb9@byu.net>
52012
52013         * m4/strstr.m4: Delete cruft from copy-n-paste.
52014         Reported by Bruno Haible.
52015
52016 2008-01-10  Bruno Haible  <bruno@clisp.org>
52017
52018         Make c-strstr rely on strstr.
52019         * lib/c-strstr.c: Don't include str-kmp.h.
52020         (c_strstr): Define in terms of strstr.
52021         * modules/c-strstr (Files): Remove lib/str-kmp.h.
52022         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
52023
52024 2008-01-10  Bruno Haible  <bruno@clisp.org>
52025
52026         * doc/gnulib.texi (String Functions in C Locale): New section.
52027         * doc/c-ctype.texi: New file.
52028         * doc/c-strcase.texi: New file.
52029         * doc/c-strcaseeq.texi: New file.
52030         * doc/c-strcasestr.texi: New file.
52031         * doc/c-strstr.texi: New file.
52032         * doc/c-strtod.texi: New file.
52033         * doc/c-strtold.texi: New file.
52034
52035 2008-01-10  Eric Blake  <ebb9@byu.net>
52036
52037         * lib/relocatable.h: Fix a comment.
52038
52039 2008-01-10  Eric Blake  <ebb9@byu.net>
52040
52041         Share two-way algorithm.
52042         * lib/str-two-way.h: New file, merged from...
52043         * lib/memmem.c: ...here...
52044         * lib/strstr.c: ...and here.
52045         * modules/memmem (Files): Use it.
52046         * modules/strstr (Files): Likewise.
52047
52048         Avoid quadratic strstr implementations.
52049         * lib/strstr.c: New file.
52050         * m4/strstr.m4: Likewise.
52051         * modules/strstr: Likewise.
52052         * modules/strstr-tests: Likewise.
52053         * tests/test-strstr.c: Likewise.
52054         * lib/string.in.h (rpl_strstr): Declare.
52055         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
52056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
52057         * modules/string (Makefile.am): Likewise.
52058         * MODULES.html.sh (string handling): Mention new module.
52059         * doc/functions/strstr.texi (strstr): Document the bug.
52060
52061 2008-01-10  Bruno Haible  <bruno@clisp.org>
52062
52063         * lib/relocatable.h (relocate): State whether result is freshly
52064         allocated or not.
52065         * lib/relocatable.c (relocate): Return a freshly allocated string
52066         instead of a pointer to a privately held string.
52067         Reported by Sylvain Beucler <beuc@gnu.org>.
52068
52069 2008-01-10  Colin Watson  <cjwatson@debian.org>
52070
52071         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
52072         s/S_ISNLK/S_ISLNK/.
52073
52074 2008-01-09  Bruno Haible  <bruno@clisp.org>
52075
52076         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
52077         and other files.
52078         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
52079         if it's only a guess.
52080         * modules/memmem: Simplify by depending on memmem-simple.
52081
52082 2008-01-09  Bruno Haible  <bruno@clisp.org>
52083
52084         Work around OpenBSD 4.0 tdelete() bug.
52085         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
52086         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
52087         macros and don't redefine the enum values.
52088         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
52089         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
52090         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
52091
52092 2008-01-09  Bruno Haible  <bruno@clisp.org>
52093
52094         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
52095         (main): Don't perform the tests if setlocale did not install a UTF-8
52096         locale. Needed on OpenBSD 4.0.
52097         * modules/wcwidth-tests (Depends-on): Add localcharset.
52098
52099 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52100
52101         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
52102         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
52103         * NEWS: announce this.
52104         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
52105
52106 2008-01-09  Simon Josefsson  <simon@josefsson.org>
52107         and Eric Blake  <ebb9@byu.net>
52108
52109         Add memmem-simple module.
52110         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
52111         (gl_FUNC_MEMMEM): Separate performance from presence checks.
52112         * modules/memmem-simple: New file.
52113         * modules/memmem (Description): Tweak.
52114         * MODULES.html.sh (string handling): Mention new module.
52115         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
52116         addressed by memmem-simple.
52117         * NEWS: Document the difference.
52118
52119 2008-01-09  Eric Blake  <ebb9@byu.net>
52120
52121         Give gcc some memmem optimization hints.
52122         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
52123         (strcasestr): Declare as pure.
52124         * modules/memmem (Maintainer): Claim my implementation.
52125
52126 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52127
52128         Support AIX 6.1 and higher.
52129         * build-aux/config.libpath: Likewise.
52130         * build-aux/config.rpath: Likewise.
52131
52132 2008-01-08  Jim Meyering  <meyering@redhat.com>
52133             Bruno Haible  <bruno@clisp.org>
52134
52135         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
52136         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
52137         Reported by Peter Fales in
52138         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
52139
52140 2008-01-08  Bruno Haible  <bruno@clisp.org>
52141
52142         * modules/unictype/category-of (Depends-on): Add
52143         unictype/category-none.
52144         * modules/unictype/category-and-tests (Depends-on): Add
52145         unictype/category-{L,N,Lu,Nd}.
52146         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
52147         * modules/unictype/category-or-tests (Depends-on): Add
52148         unictype/category-{L,N}.
52149         * modules/unictype/category-name-tests (Depends-on): Add
52150         unictype/category-{Z,Nl}.
52151         Reported by Simon Josefsson.
52152
52153 2008-01-08  Bruno Haible  <bruno@clisp.org>
52154
52155         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
52156         convention better.
52157         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
52158         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
52159         Reported by Peter Miller <millerp@canb.auug.org.au>.
52160
52161 2008-01-08  Eric Blake  <ebb9@byu.net>
52162
52163         Rewrite memmem to guarantee linear complexity without malloc.
52164         * lib/memmem.c (memmem): Use Two-Way rather than
52165         Knuth-Morris-Pratt, to allow O(1) space usage.
52166         (critical_factorization, two_way_short_needle)
52167         (two_way_long_needle): New functions.
52168         (knuth_morris_pratt): Delete.
52169         * modules/memmem (Depends-on): No longer need malloca or stdbool.
52170         Add stdint.
52171         * tests/test-memmem.c (main): Add tests for periodic needle and
52172         sublinear performance.
52173         * doc/functions/memmem.texi (memmem): Document other deficiencies
52174         in cygwin and older glibc.
52175
52176 2008-01-08  Bruno Haible  <bruno@clisp.org>
52177
52178         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
52179         augmentation.
52180
52181 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
52182
52183         Add a configure time option: --disable-acl.
52184         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
52185         AC_ARG_ENABLE(acl).
52186
52187 2008-01-06  Simon Josefsson  <simon@josefsson.org>
52188
52189         * tests/test-localename.c: Don't include obsolete "setenv.h".
52190
52191         * modules/localename-tests (Depends-on): Need unsetenv.
52192
52193 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52194
52195         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
52196
52197 2008-01-06  Colin Watson  <cjwatson@debian.org>
52198
52199         * users.txt: Add man-db.
52200
52201 2008-01-07  Bruno Haible  <bruno@clisp.org>
52202
52203         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
52204         previous section name.
52205
52206 2008-01-07  Bruno Haible  <bruno@clisp.org>
52207
52208         * lib/progname.c (set_program_name): Don't strip off a leading
52209         "lt-" prefix outside a .libs directory.
52210         Suggested by Paul Eggert.
52211
52212 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
52213             Bruno Haible  <bruno@clisp.org>
52214
52215         Improve memory cleanup in 'relocatable' module.
52216         * lib/relocatable.h (compute_curr_prefix): Change return type to
52217         'char *'.
52218         * lib/relocatable.c (compute_curr_prefix): Change return type to
52219         'char *'. Free curr_installdir after use.
52220         (relocate): Free curr_prefix_better after use.
52221         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
52222
52223 2008-01-01  Bruno Haible  <bruno@clisp.org>
52224
52225         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
52226         failure on older glibc systems.
52227         Reported by Peter Fales <psfales@alcatel-lucent.com>.
52228
52229 2008-01-05  Eric Blake  <ebb9@byu.net>
52230
52231         Avoid quadratic system memmem.
52232         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
52233         Reported by Ralf Wildenhues.
52234
52235         Fix memmem test for mingw.
52236         * modules/memmem-tests (configure.ac): Check for alarm.
52237         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52238         it.
52239         * doc/functions/memmem.texi: New file.
52240         * doc/gnulib.texi (Function Substitutes): Add memmem.
52241         Reported by Bruno Haible.
52242
52243 2008-01-04  Bruno Haible  <bruno@clisp.org>
52244
52245         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
52246         Require gl_HEADER_STRINGS_H_DEFAULTS, not
52247         gl_HEADER_STRING_H_DEFAULTS.
52248
52249 2008-01-04  Eric Blake  <ebb9@byu.net>
52250
52251         Shorten duration of memmem test.
52252         * tests/test-memmem.c (main): Use alarm to declare failure if test
52253         is taking too long.
52254         Reported by Ralf Wildenhues.
52255
52256 2007-12-21  Simon Josefsson  <simon@josefsson.org>
52257
52258         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
52259         string, needed by strerror.
52260
52261 2008-01-03  Colin Watson  <cjwatson@debian.org>
52262             Bruno Haible  <bruno@clisp.org>
52263
52264         * doc/gnulib-tool.texi (Localization): New section.
52265
52266 2008-01-02  Bruno Haible  <bruno@clisp.org>
52267
52268         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
52269         variables to 'unsigned char *' type.
52270         Reported by Paul Eggert.
52271
52272 2008-01-02  Jim Meyering  <jim@meyering.net>
52273
52274         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
52275
52276 2007-12-31  Jim Meyering  <jim@meyering.net>
52277
52278         Avoid use of private FTS type name.
52279         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
52280
52281 2007-12-30  Karl Berry  <karl@gnu.org>
52282
52283         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
52284         work around defect in Texinfo and/or the standalone Info browser.
52285
52286 2007-12-30  Bruno Haible  <bruno@clisp.org>
52287
52288         Unify 5 copies of the KMP code.
52289         * lib/str-kmp.h: New file.
52290         * lib/c-strcasestr.c: Include str-kmp.h.
52291         (knuth_morris_pratt): Remove function.
52292         (c_strcasestr): Update.
52293         * lib/c-strstr.c: Include str-kmp.h.
52294         (knuth_morris_pratt): Remove function.
52295         (c_strcasestr): Update.
52296         * lib/mbscasestr.c: Include str-kmp.h.
52297         (knuth_morris_pratt_unibyte): Remove function.
52298         * lib/mbsstr.c: Include str-kmp.h.
52299         (knuth_morris_pratt_unibyte): Remove function.
52300         * lib/strcasestr.c: Include str-kmp.h.
52301         (knuth_morris_pratt): Remove function.
52302         (strcasestr): Update.
52303         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
52304         * modules/c-strstr (Files): Likewise.
52305         * modules/mbscasestr (Files): Likewise.
52306         * modules/mbsstr (Files): Likewise.
52307         * modules/strcasestr (Files): Likewise.
52308         Suggested by Paul Eggert.
52309
52310 2007-12-30  Bruno Haible  <bruno@clisp.org>
52311
52312         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
52313         defined.
52314
52315 2007-12-30  Bruno Haible  <bruno@clisp.org>
52316
52317         * lib/xmalloca.h: Include xalloc.h.
52318         (xnmalloca): New macro.
52319
52320 2007-12-30  Bruno Haible  <bruno@clisp.org>
52321
52322         * lib/malloca.h (nmalloca): New macro.
52323         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
52324         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
52325         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
52326         knuth_morris_pratt_multibyte): Likewise.
52327         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
52328         knuth_morris_pratt_multibyte): Likewise.
52329         * lib/memmem.c (knuth_morris_pratt): Likewise.
52330         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
52331
52332 2007-12-25  Bruno Haible  <bruno@clisp.org>
52333
52334         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
52335         * lib/glob.c: Don't include openat.h.
52336         (link_exists2_p): Add back the code that deals with the
52337         !GLOB_ALTDIRFUNC case.
52338         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
52339         let it do the filename concatenation.
52340         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
52341         * modules/glob (Depends-on): Remove openat.
52342
52343 2007-12-31  Bruno Haible  <bruno@clisp.org>
52344
52345         * modules/dirfd (License): Change to LGPLv2+.
52346         Approved by Jim Meyering.
52347
52348 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
52349
52350         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
52351         when multiplying M by sizeof (size_t).
52352
52353 2007-12-10  Martin Lambers  <marlam@marlam.de>
52354
52355         Override getpagesize on mingw.
52356         * lib/getpagesize.c: New file.
52357         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
52358         * modules/getpagesize (Files): Add lib/getpagesize.c.
52359         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
52360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52361         REPLACE_GETPAGESIZE.
52362         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
52363
52364 2007-12-25  Bruno Haible  <bruno@clisp.org>
52365
52366         * modules/localcharset (Notice): New field.
52367         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
52368         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
52369
52370 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
52371             Bruno Haible  <bruno@clisp.org>
52372
52373         Avoid using the syntax symbol() in formatted documentation.
52374         * MODULES.html.sh (func_module): When replacing symbol() with a
52375         hyperlink, remove the parentheses. Show an error if some remain.
52376         Recognize and render the '...' syntax.
52377         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
52378         Rework. Add paragraph about GCC's inlining.
52379         * doc/alloca.texi: Likewise.
52380         * doc/error.texi: Remove parentheses from symbol reference.
52381         * doc/gnulib-intro.texi: Likewise.
52382         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
52383         * modules/fnmatch (Description): Reword to say "the ... function".
52384         * modules/full-read (Description): Likewise.
52385         * modules/full-write (Description): Likewise.
52386         * modules/safe-read (Description): Likewise.
52387         * modules/safe-write (Description): Likewise.
52388         * modules/strchrnul (Description): Likewise.
52389         * modules/trim (Description): Likewise.
52390         * modules/error (Description): Remove parentheses from symbol
52391         references.
52392         * modules/verror (Description): Likewise.
52393         Reported by Karl Berry.
52394
52395 2007-12-25  Bruno Haible  <bruno@clisp.org>
52396
52397         Fixup after 2007-10-16 commit.
52398         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
52399
52400 2007-12-24  Bruno Haible  <bruno@clisp.org>
52401
52402         Make --enable-relocatable work with DESTDIR.
52403         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
52404         to compute installdir from destprog.
52405         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
52406         also set the RELOC_DESTDIR variable.
52407         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52408
52409 2007-12-24  Bruno Haible  <bruno@clisp.org>
52410
52411         Fix link error due to xalloc_die().
52412         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
52413         of xreadlink.
52414         * lib/relocwrapper.c: Update comments.
52415         * build-aux/install-reloc: Remove xreadlink.c from file list.
52416         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
52417         xreadlink.c.
52418         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52419
52420 2007-12-24  Bruno Haible  <bruno@clisp.org>
52421
52422         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
52423         * lib/setenv.h: Remove file.
52424         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
52425         lib/setenv.h.
52426         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
52427         (Depends-on): Add stdlib.
52428         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
52429         gl_FUNC_UNSETENV.
52430         (Include): Replace setenv.h with <stdlib.h>.
52431         * modules/unsetenv: New file.
52432         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
52433         * lib/unsetenv.c: Include <stdlib.h> first.
52434         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
52435         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
52436         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
52437         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
52438         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
52439         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
52441         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
52442         * doc/functions/unsetenv.texi: Update.
52443         * modules/xsetenv (Depends-on): Add unsetenv.
52444         * modules/getdate (Depends-on): Likewise.
52445         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
52446         * lib/xsetenv.c: Don't include setenv.h.
52447         * lib/getdate.y: Likewise.
52448         * lib/relocwrapper.c: Likewise.
52449         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
52450         (Depends-on): Add stdlib.
52451         * NEWS: Mention the changes.
52452         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
52453
52454 2007-12-23  Bruno Haible  <bruno@clisp.org>
52455
52456         * lib/memmem.c (memmem): Use lowercase variable names. Tab
52457         indentation.
52458
52459 2007-12-23  Bruno Haible  <bruno@clisp.org>
52460
52461         * lib/c-strcasestr.c: Add more comments.
52462         * lib/c-strstr.c: Likewise.
52463         * lib/mbscasestr.c: Likewise.
52464         * lib/mbsstr.c: Likewise.
52465         * lib/strcasestr.c: Likewise.
52466         * lib/memmem.c: Likewise.
52467
52468 2007-12-23  Bruno Haible  <bruno@clisp.org>
52469
52470         * tests/test-memmem.c: Include <string.h> first.
52471
52472 2007-12-22  Bruno Haible  <bruno@clisp.org>
52473
52474         * gnulib-tool (func_create_testdir): Change $auxdir while generating
52475         the contents of $testsbase.
52476         Reported by Ralf Wildenhues.
52477
52478 2007-12-22  Bruno Haible  <bruno@clisp.org>
52479
52480         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
52481         two variables local_ldadd_before, local_ldadd_last.
52482
52483 2007-12-20  Eric Blake  <ebb9@byu.net>
52484
52485         Work around circular library issue when cross-compiling.
52486         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
52487         that progname.o does not need to pull in rpl_memcmp.
52488
52489 2007-12-19  Eric Blake  <ebb9@byu.net>
52490
52491         Fix memmem to avoid O(n^2) worst-case complexity.
52492         * lib/memmem.c (knuth_morris_pratt): New function.
52493         (memmem): Use it if first few naive iterations fail.
52494         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
52495         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
52496         * modules/memchr (License): Likewise.
52497         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
52498         malloca.
52499         * tests/test-memmem.c: Rewrite, borrowing ideas from
52500         test-mbsstr1.c; the old version wouldn't even compile!
52501         * modules/memmem-tests: New file.
52502         * lib/string.in.h (rpl_memmem): Add declaration.
52503         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
52504         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
52505         REPLACE_MEMMEM.
52506
52507 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
52508
52509         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
52510         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
52511         before any system include files, and undef after them all.  This
52512         should fix a problem on VMS reported by John E. Malmberg in
52513         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
52514
52515 2007-12-17  Eric Blake  <ebb9@byu.net>
52516
52517         Revert addition of verify, for BSD/OS.
52518         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
52519         can't handle large files, for the sake of obsolete platforms.
52520         * modules/fseeko (Depends-on): Remove verify.
52521         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
52522         * doc/functions/ftello.texi (ftello): Likewise.
52523         * doc/functions/fgetpos.texi (fgetpos): Likewise.
52524         Reported by Larry Jones.
52525
52526 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
52527
52528         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
52529         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
52530
52531 2007-12-17  Jim Meyering  <meyering@redhat.com>
52532
52533         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
52534         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
52535         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
52536         * modules/getcwd (Depends-on): Add openat.
52537         Reported by Petr Salinger.
52538
52539 2007-12-17  Bruno Haible  <bruno@clisp.org>
52540
52541         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
52542         avoid a segmentation fault of the configure test on x86_64 systems.
52543
52544 2007-12-15  Jim Meyering  <meyering@redhat.com>
52545
52546         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
52547
52548 2007-12-13  Eric Blake  <ebb9@byu.net>
52549
52550         Another fseek test.
52551         * tests/test-fseek.c (main): Also test ungetc handling.
52552         * tests/test-fseeko.c (main): Likewise.
52553         * modules/fseeko (Depends-on): Add verify.
52554         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
52555         large.
52556         Reported by Larry Jones.
52557
52558         Fix fseeko on mingw.
52559         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
52560         seek.
52561
52562         Beef up fseek tests.
52563         * tests/test-fseek.c (main): Also test eof handling.
52564         * tests/test-fseeko.c (main): Likewise.
52565         Reported by Larry Jones.
52566
52567 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
52568
52569         Fix fseeko on BSD-based platforms.
52570         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
52571         successful seek.
52572
52573 2007-12-12  Eric Blake  <ebb9@byu.net>
52574
52575         Allow circular dependency of separate libtests.a
52576         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
52577         when use_libtests.
52578
52579 2007-12-11  Eric Blake  <ebb9@byu.net>
52580
52581         Fix bug with -0.0L in previous patch.
52582         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
52583         * tests/test-isnan.c (main): Also test on zeroes.
52584         * tests/test-isnanf.c (main): Likewise.
52585         * tests/test-isnanl.h (main): Likewise.
52586
52587         Detect pseudo-denormals on x86 even when cross-compiling.
52588         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
52589         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
52590         invalid bit patterns that happen to satisfy ==.
52591
52592         Avoid link failures with separate libtests.a.
52593         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
52594         last, to satisfy circular dependencies.
52595
52596 2007-12-11  Eric Blake  <ebb9@byu.net>
52597         and Bruno Haible  <bruno@clisp.org>
52598
52599         Fix OpenBSD 4.0 <float.h> handling of long double.
52600         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
52601         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
52602         * doc/headers/float.texi (float.h): Document OpenBSD bug.
52603
52604 2007-12-11  Jim Meyering  <meyering@redhat.com>
52605
52606         * users.txt: Add libvirt.
52607
52608         Support versions of autoconf prior to 2.59c.
52609         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
52610         if it is not already defined.
52611
52612 2007-12-09  Bruno Haible  <bruno@clisp.org>
52613
52614         Let 'gnulib-tool --import' collect sources needed for the tests in
52615         tests/ rather than in lib/.
52616         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
52617         argument. If true, add rules to generate libtests.a, and put libtests.a
52618         into $(LDADD). Consider source files in subdirectories and set
52619         uses_subdirs.
52620         (func_emit_initmacro_start, func_emit_initmacro_end,
52621         func_emit_initmacro_done): Pass all arguments explicitly.
52622         (func_import): Determine two module lists main_modules,
52623         testsrelated_modules. Determine use_libtests. Determine two variables
52624         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
52625         instead of just sed_transform_lib_file. Determine two variables
52626         main_files and testsrelated_files. Compute 'files' as the union of
52627         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
52628         func_add_or_update. In the generated gnulib-comp.m4, collect the
52629         object files for tests/ in different variables than those for lib/.
52630         Substitute LIBTESTS_LIBDEPS.
52631         (func_create_testdir): Combine the uses_subdirs results from
52632         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
52633
52634 2007-12-09  Bruno Haible  <bruno@clisp.org>
52635
52636         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
52637         the build-aux directory.
52638
52639 2007-12-09  Bruno Haible  <bruno@clisp.org>
52640
52641         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
52642         introduced on 2006-09-09.
52643
52644 2007-12-07  Jim Meyering  <meyering@redhat.com>
52645
52646         Let these macros work also with autoconf-2.59.
52647         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
52648         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
52649         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52650
52651 2007-12-06  Jim Meyering  <meyering@redhat.com>
52652
52653         Avoid a configure-time syntax error in gl_FUNC_ACL.
52654         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
52655         function in each branch, before testing the cache variable.
52656
52657 2007-12-04  Eric Blake  <ebb9@byu.net>
52658
52659         Make scripts executable.
52660         * build-aux/config.guess: Add execute permissions.
52661         * build-aux/config.sub: Likewise.
52662         * build-aux/gendocs.sh: Likewise.
52663
52664         Fix frexp on mingw.
52665         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
52666         cross-compiling.
52667         * doc/functions/frexp.texi (frexp): Document the bug.
52668
52669         Make cygwin fseeko check more reliable.
52670         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
52671         version numbers, rather than unrelated feature check.
52672         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
52673         * doc/functions/ftello.texi (ftello): Likewise.
52674         Reported by Bruno Haible.
52675
52676         * m4/strerror.m4: Bump version number.
52677
52678 2007-12-03  Bruno Haible  <bruno@clisp.org>
52679
52680         * doc/functions/mprotect.texi: Mention the mingw problem.
52681
52682 2007-12-03  Eric Blake  <ebb9@byu.net>
52683
52684         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
52685         REPLACE_STRERROR is initialized before this macro.
52686
52687 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
52688
52689         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
52690         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
52691         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
52692         put -lsec in even for programs other than 'ls'.  This fixes a problem
52693         for gettext reported by Bruno Haible in
52694         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
52695         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
52696         Add support for Solaris 10.  This isn't efficient, but should get the
52697         job done for now.
52698
52699 2007-12-03  James Youngman  <jay@gnu.org>
52700
52701         * doc/regexprops-generic.texi: change "an close-group" to "a
52702         close-group" and "illegal" to "not allowed".
52703
52704 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52705
52706         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
52707         pr_byname.h. Needed for the rare case when the maintainer has done
52708         "make maintainer-clean" in the source directory and then attempts a
52709         build outside the source directory.
52710         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
52711         scripts_byname.h.
52712
52713 2007-12-02  Martin Lambers <marlam@marlam.de>
52714             Bruno Haible  <bruno@clisp.org>
52715
52716         * lib/getpagesize.h: Remove file.
52717         * lib/unistd.in.h: Include declaration of getpagesize here.
52718         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
52719         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
52720         HAVE_SYS_PARAM_H.
52721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
52722         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52723         * modules/getpagesize (Files): Remove lib/getpagesize.h.
52724         (Depends-on): Add unistd.
52725         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52726         (Include): Use <unistd.h> instead of getpagesize.h.
52727         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
52728         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
52729         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
52730         gl_GETPAGESIZE invocation, already handled by module dependency.
52731         * lib/pagealign_alloc.c: Don't include getpagesize.h.
52732
52733 2007-12-02  Bruno Haible  <bruno@clisp.org>
52734
52735         * modules/strings-tests: New file.
52736         * tests/test-strings.c: New file.
52737
52738         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
52739         * lib/strings.in.h: New file.
52740         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
52741         * m4/strings_h.m4: New file.
52742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
52743         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
52744         * modules/strings: New file.
52745         * modules/string (Makefile.am): Update.
52746         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
52747         Reported by Karl Berry.
52748
52749 2007-12-01  Eric Blake  <ebb9@byu.net>
52750
52751         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
52752         accomodate fix in cygwin 1.5.25.
52753
52754 2007-12-01  Jim Meyering  <meyering@redhat.com>
52755
52756         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
52757         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
52758         that would inhibit utf8-optimization of a regexp containing line-
52759         or buffer-anchors, e.g., `^', `$'.
52760
52761 2007-11-30  Bruno Haible  <bruno@clisp.org>
52762
52763         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
52764         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
52765         glthread_recursive_lock_init.
52766         * lib/lock.c (glthread_recursive_lock_init)
52767         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
52768         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52769
52770 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
52771
52772         New function qset_acl, like set_acl but with syscall semantics.
52773         * lib/acl.h (qset_acl): New decl.
52774         * lib/acl.c (qset_acl): New function.
52775         (set_acl): Use new function.  Use more-consistent diagnostics.
52776
52777 2007-11-28  Jim Meyering  <meyering@redhat.com>
52778
52779         * modules/physmem (License): Change from GPL to LGPLv2+.
52780
52781 2007-11-26  Bruno Haible  <bruno@clisp.org>
52782
52783         * lib/vasnprintf.c (decode_long_double): Don't abort if the
52784         'long double' type has excess precision.
52785         Reported by Jim Meyering in
52786         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
52787
52788 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52789
52790         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
52791         Sync from <http://gnu.org/licenses>.
52792         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
52793         with license text from same location.
52794         * doc/maintain.texi, doc/standards.texi:  Sync from
52795         <http://savannah.gnu.org/projects/gnustandards>.
52796
52797 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
52798         and Jim Meyering  <meyering@redhat.com>
52799
52800         Adjust getdate' grammar to accept a slightly more regular language.
52801         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
52802         Before, the former was rejected.
52803         * lib/getdate.y (digits_to_date_time): New function, factored
52804         out of ...
52805         (number): ...here.  Just call digits_to_date_time.
52806         (hybrid): New non-terminal to handle an <unsigned number,
52807         signed relative offset> sequence consistently.
52808
52809 2007-11-18  Jim Meyering  <meyering@redhat.com>
52810
52811         Pull my changes from coreutils:
52812         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
52813         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
52814         use of $gnulib_tool_option_extras, so that it's separated from the
52815         preceding argument.
52816
52817         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
52818         * build-aux/bootstrap (cp_mark_as_generated): Create any required
52819         parent destination directories before copying a file into place.
52820
52821 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52822
52823         bootstrap: work also with 4-argument variant of AC_INIT
52824         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
52825
52826 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
52827
52828         Port test-getaddrinfo to Solaris.
52829         Problem reported by Bruno Haible in
52830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
52831         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
52832         explanation of setting 'hints'.
52833         Don't reject an implementation merely because it returns EAI_SERVICE.
52834         (EAI_SERVICE): Define to 0 if not defined.
52835
52836 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52837
52838         The license of gnu-make and posix-shell is now "GPLed build tool".
52839         * modules/gnu-make (License): Likewise.
52840         * modules/posix-shell (License): Likewise.
52841
52842         New module posix-shell, for determining a POSIX shell
52843         or perhaps something that is close enough to a POSIX shell.
52844         * m4/posix-shell.m4: New file.
52845         * modules/posix-shell: New file.
52846
52847         * MODULES.html.sh: Mention new module.
52848
52849         New module gnu-make, for determining whether we're using GNU Make.
52850         * m4/gnu-make.m4: New file.
52851         * modules/gnu-make: New file.
52852         * MODULES.html.sh: Mention new module.
52853
52854 2007-11-14  Jim Meyering  <meyering@redhat.com>
52855
52856         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
52857         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
52858         use this macro to create a function _definition_.
52859         Remove useless "#undef ARGMATCH_DIE".
52860
52861 2007-11-14  Bruno Haible  <bruno@clisp.org>
52862
52863         * lib/config.charset: Update for OpenBSD 4.1.
52864         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
52865
52866 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
52867
52868         Document 64-bit #if problems in stdint.texi.
52869         * doc/headers/stdint.texi (stdint.h): Mention problems with
52870         64-bit-#if, and how to work around them.
52871
52872         Don't insist on 'long long int' support in the preprocessor.  It
52873         breaks too many things.  For example, PRIdMAX still uses a 'long
52874         long int' format with the latest Sun compiler, even though
52875         HAVE_LONG_LONG_INT isn't defined due to that compiler's
52876         preprocessor problem.  This causes the latest coreutils to dump
52877         core on Solaris 10 sparc with the Sun C compiler.
52878         Instead, fix the 2007-10-16 problem in a different way, by evaluating
52879         the troublesome expressions at configure-time, not at #if-time.
52880         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
52881         preprocessor.
52882         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
52883         compile-time C checks, done at 'configure'-time.
52884         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
52885         * modules/inttypes (Makefile): Substitute the new symbols that
52886         gl_INTTYPES_H now generates.
52887         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
52888
52889 2007-11-12  Bruno Haible  <bruno@clisp.org>
52890
52891         Tests for Unicode character classification functions.
52892
52893         * modules/unictype/bidicategory-byname-tests: New file.
52894         * modules/unictype/bidicategory-name-tests: New file.
52895         * modules/unictype/bidicategory-of-tests: New file.
52896         * modules/unictype/bidicategory-test-tests: New file.
52897         * modules/unictype/block-list-tests: New file.
52898         * modules/unictype/block-of-tests: New file.
52899         * modules/unictype/block-test-tests: New file.
52900         * modules/unictype/category-C-tests: New file.
52901         * modules/unictype/category-Cc-tests: New file.
52902         * modules/unictype/category-Cf-tests: New file.
52903         * modules/unictype/category-Cn-tests: New file.
52904         * modules/unictype/category-Co-tests: New file.
52905         * modules/unictype/category-Cs-tests: New file.
52906         * modules/unictype/category-L-tests: New file.
52907         * modules/unictype/category-Ll-tests: New file.
52908         * modules/unictype/category-Lm-tests: New file.
52909         * modules/unictype/category-Lo-tests: New file.
52910         * modules/unictype/category-Lt-tests: New file.
52911         * modules/unictype/category-Lu-tests: New file.
52912         * modules/unictype/category-M-tests: New file.
52913         * modules/unictype/category-Mc-tests: New file.
52914         * modules/unictype/category-Me-tests: New file.
52915         * modules/unictype/category-Mn-tests: New file.
52916         * modules/unictype/category-N-tests: New file.
52917         * modules/unictype/category-Nd-tests: New file.
52918         * modules/unictype/category-Nl-tests: New file.
52919         * modules/unictype/category-No-tests: New file.
52920         * modules/unictype/category-P-tests: New file.
52921         * modules/unictype/category-Pc-tests: New file.
52922         * modules/unictype/category-Pd-tests: New file.
52923         * modules/unictype/category-Pe-tests: New file.
52924         * modules/unictype/category-Pf-tests: New file.
52925         * modules/unictype/category-Pi-tests: New file.
52926         * modules/unictype/category-Po-tests: New file.
52927         * modules/unictype/category-Ps-tests: New file.
52928         * modules/unictype/category-S-tests: New file.
52929         * modules/unictype/category-Sc-tests: New file.
52930         * modules/unictype/category-Sk-tests: New file.
52931         * modules/unictype/category-Sm-tests: New file.
52932         * modules/unictype/category-So-tests: New file.
52933         * modules/unictype/category-Z-tests: New file.
52934         * modules/unictype/category-Zl-tests: New file.
52935         * modules/unictype/category-Zp-tests: New file.
52936         * modules/unictype/category-Zs-tests: New file.
52937         * modules/unictype/category-and-not-tests: New file.
52938         * modules/unictype/category-and-tests: New file.
52939         * modules/unictype/category-byname-tests: New file.
52940         * modules/unictype/category-name-tests: New file.
52941         * modules/unictype/category-none-tests: New file.
52942         * modules/unictype/category-of-tests: New file.
52943         * modules/unictype/category-or-tests: New file.
52944         * modules/unictype/category-test-withtable-tests: New file.
52945         * modules/unictype/combining-class-tests: New file.
52946         * modules/unictype/ctype-alnum-tests: New file.
52947         * modules/unictype/ctype-alpha-tests: New file.
52948         * modules/unictype/ctype-blank-tests: New file.
52949         * modules/unictype/ctype-cntrl-tests: New file.
52950         * modules/unictype/ctype-digit-tests: New file.
52951         * modules/unictype/ctype-graph-tests: New file.
52952         * modules/unictype/ctype-lower-tests: New file.
52953         * modules/unictype/ctype-print-tests: New file.
52954         * modules/unictype/ctype-punct-tests: New file.
52955         * modules/unictype/ctype-space-tests: New file.
52956         * modules/unictype/ctype-upper-tests: New file.
52957         * modules/unictype/ctype-xdigit-tests: New file.
52958         * modules/unictype/decimal-digit-tests: New file.
52959         * modules/unictype/digit-tests: New file.
52960         * modules/unictype/mirror-tests: New file.
52961         * modules/unictype/numeric-tests: New file.
52962         * modules/unictype/property-alphabetic-tests: New file.
52963         * modules/unictype/property-ascii-hex-digit-tests: New file.
52964         * modules/unictype/property-bidi-arabic-digit-tests: New file.
52965         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
52966         * modules/unictype/property-bidi-block-separator-tests: New file.
52967         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
52968         * modules/unictype/property-bidi-common-separator-tests: New file.
52969         * modules/unictype/property-bidi-control-tests: New file.
52970         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
52971         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
52972         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
52973         * modules/unictype/property-bidi-european-digit-tests: New file.
52974         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
52975         * modules/unictype/property-bidi-left-to-right-tests: New file.
52976         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
52977         * modules/unictype/property-bidi-other-neutral-tests: New file.
52978         * modules/unictype/property-bidi-pdf-tests: New file.
52979         * modules/unictype/property-bidi-segment-separator-tests: New file.
52980         * modules/unictype/property-bidi-whitespace-tests: New file.
52981         * modules/unictype/property-byname-tests: New file.
52982         * modules/unictype/property-combining-tests: New file.
52983         * modules/unictype/property-composite-tests: New file.
52984         * modules/unictype/property-currency-symbol-tests: New file.
52985         * modules/unictype/property-dash-tests: New file.
52986         * modules/unictype/property-decimal-digit-tests: New file.
52987         * modules/unictype/property-default-ignorable-code-point-tests: New file.
52988         * modules/unictype/property-deprecated-tests: New file.
52989         * modules/unictype/property-diacritic-tests: New file.
52990         * modules/unictype/property-extender-tests: New file.
52991         * modules/unictype/property-format-control-tests: New file.
52992         * modules/unictype/property-grapheme-base-tests: New file.
52993         * modules/unictype/property-grapheme-extend-tests: New file.
52994         * modules/unictype/property-grapheme-link-tests: New file.
52995         * modules/unictype/property-hex-digit-tests: New file.
52996         * modules/unictype/property-hyphen-tests: New file.
52997         * modules/unictype/property-id-continue-tests: New file.
52998         * modules/unictype/property-id-start-tests: New file.
52999         * modules/unictype/property-ideographic-tests: New file.
53000         * modules/unictype/property-ids-binary-operator-tests: New file.
53001         * modules/unictype/property-ids-trinary-operator-tests: New file.
53002         * modules/unictype/property-ignorable-control-tests: New file.
53003         * modules/unictype/property-iso-control-tests: New file.
53004         * modules/unictype/property-join-control-tests: New file.
53005         * modules/unictype/property-left-of-pair-tests: New file.
53006         * modules/unictype/property-line-separator-tests: New file.
53007         * modules/unictype/property-logical-order-exception-tests: New file.
53008         * modules/unictype/property-lowercase-tests: New file.
53009         * modules/unictype/property-math-tests: New file.
53010         * modules/unictype/property-non-break-tests: New file.
53011         * modules/unictype/property-not-a-character-tests: New file.
53012         * modules/unictype/property-numeric-tests: New file.
53013         * modules/unictype/property-other-alphabetic-tests: New file.
53014         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
53015         * modules/unictype/property-other-grapheme-extend-tests: New file.
53016         * modules/unictype/property-other-id-continue-tests: New file.
53017         * modules/unictype/property-other-id-start-tests: New file.
53018         * modules/unictype/property-other-lowercase-tests: New file.
53019         * modules/unictype/property-other-math-tests: New file.
53020         * modules/unictype/property-other-uppercase-tests: New file.
53021         * modules/unictype/property-paired-punctuation-tests: New file.
53022         * modules/unictype/property-paragraph-separator-tests: New file.
53023         * modules/unictype/property-pattern-syntax-tests: New file.
53024         * modules/unictype/property-pattern-white-space-tests: New file.
53025         * modules/unictype/property-private-use-tests: New file.
53026         * modules/unictype/property-punctuation-tests: New file.
53027         * modules/unictype/property-quotation-mark-tests: New file.
53028         * modules/unictype/property-radical-tests: New file.
53029         * modules/unictype/property-sentence-terminal-tests: New file.
53030         * modules/unictype/property-soft-dotted-tests: New file.
53031         * modules/unictype/property-space-tests: New file.
53032         * modules/unictype/property-terminal-punctuation-tests: New file.
53033         * modules/unictype/property-test-tests: New file.
53034         * modules/unictype/property-titlecase-tests: New file.
53035         * modules/unictype/property-unassigned-code-value-tests: New file.
53036         * modules/unictype/property-unified-ideograph-tests: New file.
53037         * modules/unictype/property-uppercase-tests: New file.
53038         * modules/unictype/property-variation-selector-tests: New file.
53039         * modules/unictype/property-white-space-tests: New file.
53040         * modules/unictype/property-xid-continue-tests: New file.
53041         * modules/unictype/property-xid-start-tests: New file.
53042         * modules/unictype/property-zero-width-tests: New file.
53043         * modules/unictype/scripts-tests: New file.
53044         * modules/unictype/syntax-c-ident-tests: New file.
53045         * modules/unictype/syntax-c-whitespace-tests: New file.
53046         * modules/unictype/syntax-java-ident-tests: New file.
53047         * modules/unictype/syntax-java-whitespace-tests: New file.
53048         * tests/unictype/test-bidi_byname.c: New file.
53049         * tests/unictype/test-bidi_name.c: New file.
53050         * tests/unictype/test-bidi_of.c: New file.
53051         * tests/unictype/test-bidi_test.c: New file.
53052         * tests/unictype/test-block_list.c: New file.
53053         * tests/unictype/test-block_of.c: New file.
53054         * tests/unictype/test-block_test.c: New file.
53055         * tests/unictype/test-categ_and.c: New file.
53056         * tests/unictype/test-categ_and_not.c: New file.
53057         * tests/unictype/test-categ_byname.c: New file.
53058         * tests/unictype/test-categ_name.c: New file.
53059         * tests/unictype/test-categ_none.c: New file.
53060         * tests/unictype/test-categ_of.c: New file.
53061         * tests/unictype/test-categ_or.c: New file.
53062         * tests/unictype/test-categ_test_withtable.c: New file.
53063         * tests/unictype/test-combining.c: New file.
53064         * tests/unictype/test-decdigit.c: New file.
53065         * tests/unictype/test-digit.c: New file.
53066         * tests/unictype/test-mirror.c: New file.
53067         * tests/unictype/test-numeric.c: New file.
53068         * tests/unictype/test-pr_byname.c: New file.
53069         * tests/unictype/test-pr_test.c: New file.
53070         * tests/unictype/test-predicate-part1.h: New file.
53071         * tests/unictype/test-predicate-part2.h: New file.
53072         * tests/unictype/test-scripts.c: New file.
53073         * tests/unictype/test-sy_c_ident.c: New file.
53074         * tests/unictype/test-sy_java_ident.c: New file.
53075
53076         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
53077         for Unicode 5.0.0.
53078         * tests/unictype/test-categ_Cc.c: Likewise.
53079         * tests/unictype/test-categ_Cf.c: Likewise.
53080         * tests/unictype/test-categ_Cn.c: Likewise.
53081         * tests/unictype/test-categ_Co.c: Likewise.
53082         * tests/unictype/test-categ_Cs.c: Likewise.
53083         * tests/unictype/test-categ_L.c: Likewise.
53084         * tests/unictype/test-categ_Ll.c: Likewise.
53085         * tests/unictype/test-categ_Lm.c: Likewise.
53086         * tests/unictype/test-categ_Lo.c: Likewise.
53087         * tests/unictype/test-categ_Lt.c: Likewise.
53088         * tests/unictype/test-categ_Lu.c: Likewise.
53089         * tests/unictype/test-categ_M.c: Likewise.
53090         * tests/unictype/test-categ_Mc.c: Likewise.
53091         * tests/unictype/test-categ_Me.c: Likewise.
53092         * tests/unictype/test-categ_Mn.c: Likewise.
53093         * tests/unictype/test-categ_N.c: Likewise.
53094         * tests/unictype/test-categ_Nd.c: Likewise.
53095         * tests/unictype/test-categ_Nl.c: Likewise.
53096         * tests/unictype/test-categ_No.c: Likewise.
53097         * tests/unictype/test-categ_P.c: Likewise.
53098         * tests/unictype/test-categ_Pc.c: Likewise.
53099         * tests/unictype/test-categ_Pd.c: Likewise.
53100         * tests/unictype/test-categ_Pe.c: Likewise.
53101         * tests/unictype/test-categ_Pf.c: Likewise.
53102         * tests/unictype/test-categ_Pi.c: Likewise.
53103         * tests/unictype/test-categ_Po.c: Likewise.
53104         * tests/unictype/test-categ_Ps.c: Likewise.
53105         * tests/unictype/test-categ_S.c: Likewise.
53106         * tests/unictype/test-categ_Sc.c: Likewise.
53107         * tests/unictype/test-categ_Sk.c: Likewise.
53108         * tests/unictype/test-categ_Sm.c: Likewise.
53109         * tests/unictype/test-categ_So.c: Likewise.
53110         * tests/unictype/test-categ_Z.c: Likewise.
53111         * tests/unictype/test-categ_Zl.c: Likewise.
53112         * tests/unictype/test-categ_Zp.c: Likewise.
53113         * tests/unictype/test-categ_Zs.c: Likewise.
53114         * tests/unictype/test-ctype_alnum.c: Likewise.
53115         * tests/unictype/test-ctype_alpha.c: Likewise.
53116         * tests/unictype/test-ctype_blank.c: Likewise.
53117         * tests/unictype/test-ctype_cntrl.c: Likewise.
53118         * tests/unictype/test-ctype_digit.c: Likewise.
53119         * tests/unictype/test-ctype_graph.c: Likewise.
53120         * tests/unictype/test-ctype_lower.c: Likewise.
53121         * tests/unictype/test-ctype_print.c: Likewise.
53122         * tests/unictype/test-ctype_punct.c: Likewise.
53123         * tests/unictype/test-ctype_space.c: Likewise.
53124         * tests/unictype/test-ctype_upper.c: Likewise.
53125         * tests/unictype/test-ctype_xdigit.c: Likewise.
53126         * tests/unictype/test-decdigit.h: Likewise.
53127         * tests/unictype/test-digit.h: Likewise.
53128         * tests/unictype/test-numeric.h: Likewise.
53129         * tests/unictype/test-pr_alphabetic.c: Likewise.
53130         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
53131         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
53132         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
53133         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
53134         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
53135         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
53136         * tests/unictype/test-pr_bidi_control.c: Likewise.
53137         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
53138         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
53139         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
53140         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
53141         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
53142         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
53143         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
53144         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
53145         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
53146         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
53147         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
53148         * tests/unictype/test-pr_combining.c: Likewise.
53149         * tests/unictype/test-pr_composite.c: Likewise.
53150         * tests/unictype/test-pr_currency_symbol.c: Likewise.
53151         * tests/unictype/test-pr_dash.c: Likewise.
53152         * tests/unictype/test-pr_decimal_digit.c: Likewise.
53153         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
53154         * tests/unictype/test-pr_deprecated.c: Likewise.
53155         * tests/unictype/test-pr_diacritic.c: Likewise.
53156         * tests/unictype/test-pr_extender.c: Likewise.
53157         * tests/unictype/test-pr_format_control.c: Likewise.
53158         * tests/unictype/test-pr_grapheme_base.c: Likewise.
53159         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
53160         * tests/unictype/test-pr_grapheme_link.c: Likewise.
53161         * tests/unictype/test-pr_hex_digit.c: Likewise.
53162         * tests/unictype/test-pr_hyphen.c: Likewise.
53163         * tests/unictype/test-pr_id_continue.c: Likewise.
53164         * tests/unictype/test-pr_id_start.c: Likewise.
53165         * tests/unictype/test-pr_ideographic.c: Likewise.
53166         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
53167         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
53168         * tests/unictype/test-pr_ignorable_control.c: Likewise.
53169         * tests/unictype/test-pr_iso_control.c: Likewise.
53170         * tests/unictype/test-pr_join_control.c: Likewise.
53171         * tests/unictype/test-pr_left_of_pair.c: Likewise.
53172         * tests/unictype/test-pr_line_separator.c: Likewise.
53173         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
53174         * tests/unictype/test-pr_lowercase.c: Likewise.
53175         * tests/unictype/test-pr_math.c: Likewise.
53176         * tests/unictype/test-pr_non_break.c: Likewise.
53177         * tests/unictype/test-pr_not_a_character.c: Likewise.
53178         * tests/unictype/test-pr_numeric.c: Likewise.
53179         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
53180         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
53181         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
53182         * tests/unictype/test-pr_other_id_continue.c: Likewise.
53183         * tests/unictype/test-pr_other_id_start.c: Likewise.
53184         * tests/unictype/test-pr_other_lowercase.c: Likewise.
53185         * tests/unictype/test-pr_other_math.c: Likewise.
53186         * tests/unictype/test-pr_other_uppercase.c: Likewise.
53187         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
53188         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
53189         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
53190         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
53191         * tests/unictype/test-pr_private_use.c: Likewise.
53192         * tests/unictype/test-pr_punctuation.c: Likewise.
53193         * tests/unictype/test-pr_quotation_mark.c: Likewise.
53194         * tests/unictype/test-pr_radical.c: Likewise.
53195         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
53196         * tests/unictype/test-pr_soft_dotted.c: Likewise.
53197         * tests/unictype/test-pr_space.c: Likewise.
53198         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
53199         * tests/unictype/test-pr_titlecase.c: Likewise.
53200         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
53201         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
53202         * tests/unictype/test-pr_uppercase.c: Likewise.
53203         * tests/unictype/test-pr_variation_selector.c: Likewise.
53204         * tests/unictype/test-pr_white_space.c: Likewise.
53205         * tests/unictype/test-pr_xid_continue.c: Likewise.
53206         * tests/unictype/test-pr_xid_start.c: Likewise.
53207         * tests/unictype/test-pr_zero_width.c: Likewise.
53208         * tests/unictype/test-sy_c_whitespace.c: Likewise.
53209         * tests/unictype/test-sy_java_whitespace.c: Likewise.
53210
53211 2007-11-12  Bruno Haible  <bruno@clisp.org>
53212
53213         Unicode character classification functions.
53214         * lib/unictype.h: New file.
53215         * modules/unictype/base: New file.
53216         * modules/unictype/category-L: New file.
53217         * modules/unictype/category-Lu: New file.
53218         * modules/unictype/category-Ll: New file.
53219         * modules/unictype/category-Lt: New file.
53220         * modules/unictype/category-Lm: New file.
53221         * modules/unictype/category-Lo: New file.
53222         * modules/unictype/category-M: New file.
53223         * modules/unictype/category-Mn: New file.
53224         * modules/unictype/category-Mc: New file.
53225         * modules/unictype/category-Me: New file.
53226         * modules/unictype/category-N: New file.
53227         * modules/unictype/category-Nd: New file.
53228         * modules/unictype/category-Nl: New file.
53229         * modules/unictype/category-No: New file.
53230         * modules/unictype/category-P: New file.
53231         * modules/unictype/category-Pc: New file.
53232         * modules/unictype/category-Pd: New file.
53233         * modules/unictype/category-Ps: New file.
53234         * modules/unictype/category-Pe: New file.
53235         * modules/unictype/category-Pi: New file.
53236         * modules/unictype/category-Pf: New file.
53237         * modules/unictype/category-Po: New file.
53238         * modules/unictype/category-S: New file.
53239         * modules/unictype/category-Sm: New file.
53240         * modules/unictype/category-Sc: New file.
53241         * modules/unictype/category-Sk: New file.
53242         * modules/unictype/category-So: New file.
53243         * modules/unictype/category-Z: New file.
53244         * modules/unictype/category-Zs: New file.
53245         * modules/unictype/category-Zl: New file.
53246         * modules/unictype/category-Zp: New file.
53247         * modules/unictype/category-C: New file.
53248         * modules/unictype/category-Cc: New file.
53249         * modules/unictype/category-Cf: New file.
53250         * modules/unictype/category-Cs: New file.
53251         * modules/unictype/category-Co: New file.
53252         * modules/unictype/category-Cn: New file.
53253         * modules/unictype/category-or: New file.
53254         * modules/unictype/category-of: New file.
53255         * modules/unictype/category-test: New file.
53256         * modules/unictype/category-test-withtable: New file.
53257         * modules/unictype/category-byname: New file.
53258         * modules/unictype/category-none: New file.
53259         * modules/unictype/category-and: New file.
53260         * modules/unictype/category-and-not: New file.
53261         * modules/unictype/category-name: New file.
53262         * modules/unictype/combining-class: New file.
53263         * modules/unictype/category-all: New file.
53264         * modules/unictype/bidicategory-all: New file.
53265         * modules/unictype/bidicategory-byname: New file.
53266         * modules/unictype/bidicategory-name: New file.
53267         * modules/unictype/bidicategory-of: New file.
53268         * modules/unictype/bidicategory-test: New file.
53269         * modules/unictype/decimal-digit: New file.
53270         * modules/unictype/digit: New file.
53271         * modules/unictype/numeric: New file.
53272         * modules/unictype/mirror: New file.
53273         * modules/unictype/property-white-space: New file.
53274         * modules/unictype/property-alphabetic: New file.
53275         * modules/unictype/property-other-alphabetic: New file.
53276         * modules/unictype/property-not-a-character: New file.
53277         * modules/unictype/property-default-ignorable-code-point: New file.
53278         * modules/unictype/property-other-default-ignorable-code-point: New
53279         file.
53280         * modules/unictype/property-deprecated: New file.
53281         * modules/unictype/property-logical-order-exception: New file.
53282         * modules/unictype/property-variation-selector: New file.
53283         * modules/unictype/property-private-use: New file.
53284         * modules/unictype/property-unassigned-code-value: New file.
53285         * modules/unictype/property-uppercase: New file.
53286         * modules/unictype/property-other-uppercase: New file.
53287         * modules/unictype/property-lowercase: New file.
53288         * modules/unictype/property-other-lowercase: New file.
53289         * modules/unictype/property-titlecase: New file.
53290         * modules/unictype/property-soft-dotted: New file.
53291         * modules/unictype/property-id-start: New file.
53292         * modules/unictype/property-other-id-start: New file.
53293         * modules/unictype/property-id-continue: New file.
53294         * modules/unictype/property-other-id-continue: New file.
53295         * modules/unictype/property-xid-start: New file.
53296         * modules/unictype/property-xid-continue: New file.
53297         * modules/unictype/property-pattern-white-space: New file.
53298         * modules/unictype/property-pattern-syntax: New file.
53299         * modules/unictype/property-join-control: New file.
53300         * modules/unictype/property-grapheme-base: New file.
53301         * modules/unictype/property-grapheme-extend: New file.
53302         * modules/unictype/property-other-grapheme-extend: New file.
53303         * modules/unictype/property-grapheme-link: New file.
53304         * modules/unictype/property-bidi-control: New file.
53305         * modules/unictype/property-bidi-left-to-right: New file.
53306         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
53307         * modules/unictype/property-bidi-arabic-right-to-left: New file.
53308         * modules/unictype/property-bidi-european-digit: New file.
53309         * modules/unictype/property-bidi-eur-num-separator: New file.
53310         * modules/unictype/property-bidi-eur-num-terminator: New file.
53311         * modules/unictype/property-bidi-arabic-digit: New file.
53312         * modules/unictype/property-bidi-common-separator: New file.
53313         * modules/unictype/property-bidi-block-separator: New file.
53314         * modules/unictype/property-bidi-segment-separator: New file.
53315         * modules/unictype/property-bidi-whitespace: New file.
53316         * modules/unictype/property-bidi-non-spacing-mark: New file.
53317         * modules/unictype/property-bidi-boundary-neutral: New file.
53318         * modules/unictype/property-bidi-pdf: New file.
53319         * modules/unictype/property-bidi-embedding-or-override: New file.
53320         * modules/unictype/property-bidi-other-neutral: New file.
53321         * modules/unictype/property-hex-digit: New file.
53322         * modules/unictype/property-ascii-hex-digit: New file.
53323         * modules/unictype/property-ideographic: New file.
53324         * modules/unictype/property-unified-ideograph: New file.
53325         * modules/unictype/property-radical: New file.
53326         * modules/unictype/property-ids-binary-operator: New file.
53327         * modules/unictype/property-ids-trinary-operator: New file.
53328         * modules/unictype/property-zero-width: New file.
53329         * modules/unictype/property-space: New file.
53330         * modules/unictype/property-non-break: New file.
53331         * modules/unictype/property-iso-control: New file.
53332         * modules/unictype/property-format-control: New file.
53333         * modules/unictype/property-dash: New file.
53334         * modules/unictype/property-hyphen: New file.
53335         * modules/unictype/property-punctuation: New file.
53336         * modules/unictype/property-line-separator: New file.
53337         * modules/unictype/property-paragraph-separator: New file.
53338         * modules/unictype/property-quotation-mark: New file.
53339         * modules/unictype/property-sentence-terminal: New file.
53340         * modules/unictype/property-terminal-punctuation: New file.
53341         * modules/unictype/property-currency-symbol: New file.
53342         * modules/unictype/property-math: New file.
53343         * modules/unictype/property-other-math: New file.
53344         * modules/unictype/property-paired-punctuation: New file.
53345         * modules/unictype/property-left-of-pair: New file.
53346         * modules/unictype/property-combining: New file.
53347         * modules/unictype/property-composite: New file.
53348         * modules/unictype/property-decimal-digit: New file.
53349         * modules/unictype/property-numeric: New file.
53350         * modules/unictype/property-diacritic: New file.
53351         * modules/unictype/property-extender: New file.
53352         * modules/unictype/property-ignorable-control: New file.
53353         * modules/unictype/property-test: New file.
53354         * modules/unictype/property-byname: New file.
53355         * modules/unictype/property-all: New file.
53356         * modules/unictype/scripts: New file.
53357         * modules/unictype/scripts-all: New file.
53358         * modules/unictype/block-of: New file.
53359         * modules/unictype/block-test: New file.
53360         * modules/unictype/block-list: New file.
53361         * modules/unictype/block-all: New file.
53362         * modules/unictype/syntax-c-whitespace: New file.
53363         * modules/unictype/syntax-java-whitespace: New file.
53364         * modules/unictype/syntax-c-ident: New file.
53365         * modules/unictype/syntax-java-ident: New file.
53366         * modules/unictype/ctype-alnum: New file.
53367         * modules/unictype/ctype-alpha: New file.
53368         * modules/unictype/ctype-cntrl: New file.
53369         * modules/unictype/ctype-digit: New file.
53370         * modules/unictype/ctype-graph: New file.
53371         * modules/unictype/ctype-lower: New file.
53372         * modules/unictype/ctype-print: New file.
53373         * modules/unictype/ctype-punct: New file.
53374         * modules/unictype/ctype-space: New file.
53375         * modules/unictype/ctype-upper: New file.
53376         * modules/unictype/ctype-xdigit: New file.
53377         * modules/unictype/ctype-blank: New file.
53378         * lib/unictype/bidi_byname.c: New file.
53379         * lib/unictype/bidi_name.c: New file.
53380         * lib/unictype/bidi_of.c: New file.
53381         * lib/unictype/bidi_test.c: New file.
53382         * lib/unictype/bitmap.h: New file.
53383         * lib/unictype/block_test.c: New file.
53384         * lib/unictype/blocks.c: New file.
53385         * lib/unictype/categ_C.c: New file.
53386         * lib/unictype/categ_Cc.c: New file.
53387         * lib/unictype/categ_Cf.c: New file.
53388         * lib/unictype/categ_Cn.c: New file.
53389         * lib/unictype/categ_Co.c: New file.
53390         * lib/unictype/categ_Cs.c: New file.
53391         * lib/unictype/categ_L.c: New file.
53392         * lib/unictype/categ_Ll.c: New file.
53393         * lib/unictype/categ_Lm.c: New file.
53394         * lib/unictype/categ_Lo.c: New file.
53395         * lib/unictype/categ_Lt.c: New file.
53396         * lib/unictype/categ_Lu.c: New file.
53397         * lib/unictype/categ_M.c: New file.
53398         * lib/unictype/categ_Mc.c: New file.
53399         * lib/unictype/categ_Me.c: New file.
53400         * lib/unictype/categ_Mn.c: New file.
53401         * lib/unictype/categ_N.c: New file.
53402         * lib/unictype/categ_Nd.c: New file.
53403         * lib/unictype/categ_Nl.c: New file.
53404         * lib/unictype/categ_No.c: New file.
53405         * lib/unictype/categ_P.c: New file.
53406         * lib/unictype/categ_Pc.c: New file.
53407         * lib/unictype/categ_Pd.c: New file.
53408         * lib/unictype/categ_Pe.c: New file.
53409         * lib/unictype/categ_Pf.c: New file.
53410         * lib/unictype/categ_Pi.c: New file.
53411         * lib/unictype/categ_Po.c: New file.
53412         * lib/unictype/categ_Ps.c: New file.
53413         * lib/unictype/categ_S.c: New file.
53414         * lib/unictype/categ_Sc.c: New file.
53415         * lib/unictype/categ_Sk.c: New file.
53416         * lib/unictype/categ_Sm.c: New file.
53417         * lib/unictype/categ_So.c: New file.
53418         * lib/unictype/categ_Z.c: New file.
53419         * lib/unictype/categ_Zl.c: New file.
53420         * lib/unictype/categ_Zp.c: New file.
53421         * lib/unictype/categ_Zs.c: New file.
53422         * lib/unictype/categ_and.c: New file.
53423         * lib/unictype/categ_and_not.c: New file.
53424         * lib/unictype/categ_byname.c: New file.
53425         * lib/unictype/categ_name.c: New file.
53426         * lib/unictype/categ_none.c: New file.
53427         * lib/unictype/categ_of.c: New file.
53428         * lib/unictype/categ_or.c: New file.
53429         * lib/unictype/categ_test.c: New file.
53430         * lib/unictype/combining.c: New file.
53431         * lib/unictype/ctype_alnum.c: New file.
53432         * lib/unictype/ctype_alpha.c: New file.
53433         * lib/unictype/ctype_blank.c: New file.
53434         * lib/unictype/ctype_cntrl.c: New file.
53435         * lib/unictype/ctype_digit.c: New file.
53436         * lib/unictype/ctype_graph.c: New file.
53437         * lib/unictype/ctype_lower.c: New file.
53438         * lib/unictype/ctype_print.c: New file.
53439         * lib/unictype/ctype_punct.c: New file.
53440         * lib/unictype/ctype_space.c: New file.
53441         * lib/unictype/ctype_upper.c: New file.
53442         * lib/unictype/ctype_xdigit.c: New file.
53443         * lib/unictype/decdigit.c: New file.
53444         * lib/unictype/digit.c: New file.
53445         * lib/unictype/identsyntaxmap.h: New file.
53446         * lib/unictype/mirror.c: New file.
53447         * lib/unictype/numeric.c: New file.
53448         * lib/unictype/pr_alphabetic.c: New file.
53449         * lib/unictype/pr_ascii_hex_digit.c: New file.
53450         * lib/unictype/pr_bidi_arabic_digit.c: New file.
53451         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
53452         * lib/unictype/pr_bidi_block_separator.c: New file.
53453         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
53454         * lib/unictype/pr_bidi_common_separator.c: New file.
53455         * lib/unictype/pr_bidi_control.c: New file.
53456         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
53457         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
53458         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
53459         * lib/unictype/pr_bidi_european_digit.c: New file.
53460         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
53461         * lib/unictype/pr_bidi_left_to_right.c: New file.
53462         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
53463         * lib/unictype/pr_bidi_other_neutral.c: New file.
53464         * lib/unictype/pr_bidi_pdf.c: New file.
53465         * lib/unictype/pr_bidi_segment_separator.c: New file.
53466         * lib/unictype/pr_bidi_whitespace.c: New file.
53467         * lib/unictype/pr_byname.c: New file.
53468         * lib/unictype/pr_byname.gperf: New file.
53469         * lib/unictype/pr_combining.c: New file.
53470         * lib/unictype/pr_composite.c: New file.
53471         * lib/unictype/pr_currency_symbol.c: New file.
53472         * lib/unictype/pr_dash.c: New file.
53473         * lib/unictype/pr_decimal_digit.c: New file.
53474         * lib/unictype/pr_default_ignorable_code_point.c: New file.
53475         * lib/unictype/pr_deprecated.c: New file.
53476         * lib/unictype/pr_diacritic.c: New file.
53477         * lib/unictype/pr_extender.c: New file.
53478         * lib/unictype/pr_format_control.c: New file.
53479         * lib/unictype/pr_grapheme_base.c: New file.
53480         * lib/unictype/pr_grapheme_extend.c: New file.
53481         * lib/unictype/pr_grapheme_link.c: New file.
53482         * lib/unictype/pr_hex_digit.c: New file.
53483         * lib/unictype/pr_hyphen.c: New file.
53484         * lib/unictype/pr_id_continue.c: New file.
53485         * lib/unictype/pr_id_start.c: New file.
53486         * lib/unictype/pr_ideographic.c: New file.
53487         * lib/unictype/pr_ids_binary_operator.c: New file.
53488         * lib/unictype/pr_ids_trinary_operator.c: New file.
53489         * lib/unictype/pr_ignorable_control.c: New file.
53490         * lib/unictype/pr_iso_control.c: New file.
53491         * lib/unictype/pr_join_control.c: New file.
53492         * lib/unictype/pr_left_of_pair.c: New file.
53493         * lib/unictype/pr_line_separator.c: New file.
53494         * lib/unictype/pr_logical_order_exception.c: New file.
53495         * lib/unictype/pr_lowercase.c: New file.
53496         * lib/unictype/pr_math.c: New file.
53497         * lib/unictype/pr_non_break.c: New file.
53498         * lib/unictype/pr_not_a_character.c: New file.
53499         * lib/unictype/pr_numeric.c: New file.
53500         * lib/unictype/pr_other_alphabetic.c: New file.
53501         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
53502         * lib/unictype/pr_other_grapheme_extend.c: New file.
53503         * lib/unictype/pr_other_id_continue.c: New file.
53504         * lib/unictype/pr_other_id_start.c: New file.
53505         * lib/unictype/pr_other_lowercase.c: New file.
53506         * lib/unictype/pr_other_math.c: New file.
53507         * lib/unictype/pr_other_uppercase.c: New file.
53508         * lib/unictype/pr_paired_punctuation.c: New file.
53509         * lib/unictype/pr_paragraph_separator.c: New file.
53510         * lib/unictype/pr_pattern_syntax.c: New file.
53511         * lib/unictype/pr_pattern_white_space.c: New file.
53512         * lib/unictype/pr_private_use.c: New file.
53513         * lib/unictype/pr_punctuation.c: New file.
53514         * lib/unictype/pr_quotation_mark.c: New file.
53515         * lib/unictype/pr_radical.c: New file.
53516         * lib/unictype/pr_sentence_terminal.c: New file.
53517         * lib/unictype/pr_soft_dotted.c: New file.
53518         * lib/unictype/pr_space.c: New file.
53519         * lib/unictype/pr_terminal_punctuation.c: New file.
53520         * lib/unictype/pr_test.c: New file.
53521         * lib/unictype/pr_titlecase.c: New file.
53522         * lib/unictype/pr_unassigned_code_value.c: New file.
53523         * lib/unictype/pr_unified_ideograph.c: New file.
53524         * lib/unictype/pr_uppercase.c: New file.
53525         * lib/unictype/pr_variation_selector.c: New file.
53526         * lib/unictype/pr_white_space.c: New file.
53527         * lib/unictype/pr_xid_continue.c: New file.
53528         * lib/unictype/pr_xid_start.c: New file.
53529         * lib/unictype/pr_zero_width.c: New file.
53530         * lib/unictype/scripts.c: New file.
53531         * lib/unictype/sy_c_ident.c: New file.
53532         * lib/unictype/sy_c_whitespace.c: New file.
53533         * lib/unictype/sy_java_ident.c: New file.
53534         * lib/unictype/sy_java_whitespace.c: New file.
53535
53536         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
53537         Unicode 5.0.0.
53538         * lib/unictype/blocks.h: Likewise.
53539         * lib/unictype/categ_C.h: Likewise.
53540         * lib/unictype/categ_Cc.h: Likewise.
53541         * lib/unictype/categ_Cf.h: Likewise.
53542         * lib/unictype/categ_Cn.h: Likewise.
53543         * lib/unictype/categ_Co.h: Likewise.
53544         * lib/unictype/categ_Cs.h: Likewise.
53545         * lib/unictype/categ_L.h: Likewise.
53546         * lib/unictype/categ_Ll.h: Likewise.
53547         * lib/unictype/categ_Lm.h: Likewise.
53548         * lib/unictype/categ_Lo.h: Likewise.
53549         * lib/unictype/categ_Lt.h: Likewise.
53550         * lib/unictype/categ_Lu.h: Likewise.
53551         * lib/unictype/categ_M.h: Likewise.
53552         * lib/unictype/categ_Mc.h: Likewise.
53553         * lib/unictype/categ_Me.h: Likewise.
53554         * lib/unictype/categ_Mn.h: Likewise.
53555         * lib/unictype/categ_N.h: Likewise.
53556         * lib/unictype/categ_Nd.h: Likewise.
53557         * lib/unictype/categ_Nl.h: Likewise.
53558         * lib/unictype/categ_No.h: Likewise.
53559         * lib/unictype/categ_P.h: Likewise.
53560         * lib/unictype/categ_Pc.h: Likewise.
53561         * lib/unictype/categ_Pd.h: Likewise.
53562         * lib/unictype/categ_Pe.h: Likewise.
53563         * lib/unictype/categ_Pf.h: Likewise.
53564         * lib/unictype/categ_Pi.h: Likewise.
53565         * lib/unictype/categ_Po.h: Likewise.
53566         * lib/unictype/categ_Ps.h: Likewise.
53567         * lib/unictype/categ_S.h: Likewise.
53568         * lib/unictype/categ_Sc.h: Likewise.
53569         * lib/unictype/categ_Sk.h: Likewise.
53570         * lib/unictype/categ_Sm.h: Likewise.
53571         * lib/unictype/categ_So.h: Likewise.
53572         * lib/unictype/categ_Z.h: Likewise.
53573         * lib/unictype/categ_Zl.h: Likewise.
53574         * lib/unictype/categ_Zp.h: Likewise.
53575         * lib/unictype/categ_Zs.h: Likewise.
53576         * lib/unictype/categ_of.h: Likewise.
53577         * lib/unictype/combining.h: Likewise.
53578         * lib/unictype/ctype_alnum.h: Likewise.
53579         * lib/unictype/ctype_alpha.h: Likewise.
53580         * lib/unictype/ctype_blank.h: Likewise.
53581         * lib/unictype/ctype_cntrl.h: Likewise.
53582         * lib/unictype/ctype_digit.h: Likewise.
53583         * lib/unictype/ctype_graph.h: Likewise.
53584         * lib/unictype/ctype_lower.h: Likewise.
53585         * lib/unictype/ctype_print.h: Likewise.
53586         * lib/unictype/ctype_punct.h: Likewise.
53587         * lib/unictype/ctype_space.h: Likewise.
53588         * lib/unictype/ctype_upper.h: Likewise.
53589         * lib/unictype/ctype_xdigit.h: Likewise.
53590         * lib/unictype/decdigit.h: Likewise.
53591         * lib/unictype/digit.h: Likewise.
53592         * lib/unictype/mirror.h: Likewise.
53593         * lib/unictype/numeric.h: Likewise.
53594         * lib/unictype/pr_alphabetic.h: Likewise.
53595         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
53596         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
53597         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
53598         * lib/unictype/pr_bidi_block_separator.h: Likewise.
53599         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
53600         * lib/unictype/pr_bidi_common_separator.h: Likewise.
53601         * lib/unictype/pr_bidi_control.h: Likewise.
53602         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
53603         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
53604         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
53605         * lib/unictype/pr_bidi_european_digit.h: Likewise.
53606         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
53607         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
53608         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
53609         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
53610         * lib/unictype/pr_bidi_pdf.h: Likewise.
53611         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
53612         * lib/unictype/pr_bidi_whitespace.h: Likewise.
53613         * lib/unictype/pr_combining.h: Likewise.
53614         * lib/unictype/pr_composite.h: Likewise.
53615         * lib/unictype/pr_currency_symbol.h: Likewise.
53616         * lib/unictype/pr_dash.h: Likewise.
53617         * lib/unictype/pr_decimal_digit.h: Likewise.
53618         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
53619         * lib/unictype/pr_deprecated.h: Likewise.
53620         * lib/unictype/pr_diacritic.h: Likewise.
53621         * lib/unictype/pr_extender.h: Likewise.
53622         * lib/unictype/pr_format_control.h: Likewise.
53623         * lib/unictype/pr_grapheme_base.h: Likewise.
53624         * lib/unictype/pr_grapheme_extend.h: Likewise.
53625         * lib/unictype/pr_grapheme_link.h: Likewise.
53626         * lib/unictype/pr_hex_digit.h: Likewise.
53627         * lib/unictype/pr_hyphen.h: Likewise.
53628         * lib/unictype/pr_id_continue.h: Likewise.
53629         * lib/unictype/pr_id_start.h: Likewise.
53630         * lib/unictype/pr_ideographic.h: Likewise.
53631         * lib/unictype/pr_ids_binary_operator.h: Likewise.
53632         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
53633         * lib/unictype/pr_ignorable_control.h: Likewise.
53634         * lib/unictype/pr_iso_control.h: Likewise.
53635         * lib/unictype/pr_join_control.h: Likewise.
53636         * lib/unictype/pr_left_of_pair.h: Likewise.
53637         * lib/unictype/pr_line_separator.h: Likewise.
53638         * lib/unictype/pr_logical_order_exception.h: Likewise.
53639         * lib/unictype/pr_lowercase.h: Likewise.
53640         * lib/unictype/pr_math.h: Likewise.
53641         * lib/unictype/pr_non_break.h: Likewise.
53642         * lib/unictype/pr_not_a_character.h: Likewise.
53643         * lib/unictype/pr_numeric.h: Likewise.
53644         * lib/unictype/pr_other_alphabetic.h: Likewise.
53645         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
53646         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
53647         * lib/unictype/pr_other_id_continue.h: Likewise.
53648         * lib/unictype/pr_other_id_start.h: Likewise.
53649         * lib/unictype/pr_other_lowercase.h: Likewise.
53650         * lib/unictype/pr_other_math.h: Likewise.
53651         * lib/unictype/pr_other_uppercase.h: Likewise.
53652         * lib/unictype/pr_paired_punctuation.h: Likewise.
53653         * lib/unictype/pr_paragraph_separator.h: Likewise.
53654         * lib/unictype/pr_pattern_syntax.h: Likewise.
53655         * lib/unictype/pr_pattern_white_space.h: Likewise.
53656         * lib/unictype/pr_private_use.h: Likewise.
53657         * lib/unictype/pr_punctuation.h: Likewise.
53658         * lib/unictype/pr_quotation_mark.h: Likewise.
53659         * lib/unictype/pr_radical.h: Likewise.
53660         * lib/unictype/pr_sentence_terminal.h: Likewise.
53661         * lib/unictype/pr_soft_dotted.h: Likewise.
53662         * lib/unictype/pr_space.h: Likewise.
53663         * lib/unictype/pr_terminal_punctuation.h: Likewise.
53664         * lib/unictype/pr_titlecase.h: Likewise.
53665         * lib/unictype/pr_unassigned_code_value.h: Likewise.
53666         * lib/unictype/pr_unified_ideograph.h: Likewise.
53667         * lib/unictype/pr_uppercase.h: Likewise.
53668         * lib/unictype/pr_variation_selector.h: Likewise.
53669         * lib/unictype/pr_white_space.h: Likewise.
53670         * lib/unictype/pr_xid_continue.h: Likewise.
53671         * lib/unictype/pr_xid_start.h: Likewise.
53672         * lib/unictype/pr_zero_width.h: Likewise.
53673         * lib/unictype/scripts.h: Likewise.
53674         * lib/unictype/scripts_byname.gperf: Likewise.
53675         * lib/unictype/sy_c_ident.h: Likewise.
53676         * lib/unictype/sy_c_whitespace.h: Likewise.
53677         * lib/unictype/sy_java_ident.h: Likewise.
53678         * lib/unictype/sy_java_whitespace.h: Likewise.
53679
53680         * lib/unictype/Makefile: New file.
53681         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
53682         glibc.
53683         * lib/unictype/3level.h: New file, copied from glibc.
53684         * lib/unictype/3levelbit.h: New file.
53685
53686 2007-11-11  Bruno Haible  <bruno@clisp.org>
53687
53688         * modules/gperf: New file.
53689         * modules/iconv_open (Depends-on): Add it.
53690         (Makefile.am): Remove the GPERF definition.
53691
53692 2007-11-11  Bruno Haible  <bruno@clisp.org>
53693
53694         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
53695         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
53696
53697 2007-11-11  Bruno Haible  <bruno@clisp.org>
53698
53699         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
53700         (usage): Remove function.
53701
53702 2007-11-11  Bruno Haible  <bruno@clisp.org>
53703
53704         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
53705         gl_FUNC_CEILF_LIBS.
53706         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
53707         gl_FUNC_CEIL_LIBS.
53708         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
53709         gl_FUNC_CEILL_LIBS.
53710         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
53711         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
53712         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
53713
53714 2007-11-11  Bruno Haible  <bruno@clisp.org>
53715
53716         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
53717         roundf were declared but do not exist on functions.
53718         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
53719         roundl were declared but do not exist on functions.
53720         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
53721         HAVE_FLOORL_AND_CEILL, respectively.
53722         Needed for Sun C on Solaris 10.
53723
53724 2007-11-11  Bruno Haible  <bruno@clisp.org>
53725
53726         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
53727         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
53728         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
53729         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
53730         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
53731         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
53732         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
53733         HAVE_DECL_ROUNDF.
53734         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
53735         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
53736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
53737         of HAVE_DECL_ROUND*.
53738         * modules/math (Makefile.am): Update.
53739
53740 2007-11-10  Bruno Haible  <bruno@clisp.org>
53741
53742         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
53743         ptrdiff_t as m4/intl.m4.
53744
53745 2007-11-10  Jim Meyering  <meyering@redhat.com>
53746
53747         Avoid link failure for the argmatch test.
53748         * tests/test-argmatch.c (usage): Define function to avoid a link
53749         failure: argmatch_die requires a usage function.
53750
53751 2007-11-09  Bruno Haible  <bruno@clisp.org>
53752
53753         * doc/functions/snprintf.texi: Mention BeOS deficiency.
53754         * doc/functions/vsnprintf.texi: Likewise.
53755         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
53756         with a size argument < 2.
53757
53758 2007-11-09  Bruno Haible  <bruno@clisp.org>
53759
53760         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
53761         buffer. Fixes an inefficiency introduced on 2007-11-03.
53762
53763 2007-11-09  Bruno Haible  <bruno@clisp.org>
53764
53765         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
53766         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
53767
53768 2007-11-08  Jim Meyering  <meyering@redhat.com>
53769
53770         Change cache variable name prefix "jm_" to "gl_" everywhere.
53771         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
53772         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
53773         * m4/uptime.m4: s/gl_/jm_/
53774
53775 2007-11-07  Bruno Haible  <bruno@clisp.org>
53776
53777         Update to GNU gettext 0.17.
53778         * m4/intl.m4: Update to GNU gettext 0.17.
53779         * m4/po.m4: Likewise.
53780         * modules/gettext (Files): Remove m4/ulonglong.m4.
53781         (configure.ac): Require gettext infrastructure from version 0.17.
53782
53783 2007-11-06  Bruno Haible  <bruno@clisp.org>
53784
53785         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
53786         symbolic values are not defined in a public header.
53787         * lib/freadable.c (freadable) [QNX]: Likewise.
53788         * lib/freadahead.c (freadahead) [QNX]: Likewise.
53789         * lib/freading.c (freading) [QNX]: Likewise.
53790         * lib/fseterr.c (fseterr) [QNX]: Likewise.
53791         * lib/fwritable.c (fwritable) [QNX]: Likewise.
53792         * lib/fwriting.c (fwriting) [QNX]: Likewise.
53793         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
53794         Reported by Alain Magloire.
53795
53796         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
53797
53798 2007-11-05  Bruno Haible  <bruno@clisp.org>
53799
53800         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
53801         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
53802         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
53803         Reported by Eric Blake.
53804
53805 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53806             Bruno Haible  <bruno@clisp.org>
53807
53808         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
53809         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
53810         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
53811         (malloc): Undefine also before including <stdlib.h>.
53812         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
53813         Needed on OSF/1 4.0.
53814
53815 2007-11-05  Jim Meyering  <meyering@redhat.com>
53816
53817         git-version-gen: sync from coreutils.
53818         * build-aux/git-version-gen: Add comments.
53819         Change the first '-' to '.' in the snapshot version string,
53820         e.g., 6.9-377-08144 -> 6.9.377-08144
53821         Remove first parameter.
53822         Don't declare a version "-dirty" merely because a time
53823         stamp has changed.
53824
53825 2007-11-04  Bruno Haible  <bruno@clisp.org>
53826
53827         * lib/lock.h: Protect all macro definitions containing an 'if'
53828         statement through a "do { ... } while (0)".
53829         * lib/tls.h: Likewise.
53830
53831 2007-11-04  Bruno Haible  <bruno@clisp.org>
53832
53833         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
53834
53835 2007-11-04  Bruno Haible  <bruno@clisp.org>
53836
53837         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
53838         * modules/fprintf-posix (Depends-on): Add nocrash.
53839         * modules/snprintf-posix (Depends-on): Likewise.
53840         * modules/sprintf-posix (Depends-on): Likewise.
53841         * modules/vasnprintf-posix (Depends-on): Likewise.
53842         * modules/vasprintf-posix (Depends-on): Likewise.
53843         * modules/vfprintf-posix (Depends-on): Likewise.
53844         * modules/vsnprintf-posix (Depends-on): Likewise.
53845         * modules/vsprintf-posix (Depends-on): Likewise.
53846         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53847         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53848         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53849         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53850         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53851         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53852         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53853
53854 2007-11-04  Bruno Haible  <bruno@clisp.org>
53855
53856         * modules/nocrash: New file.
53857         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
53858         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
53859
53860 2007-11-04  Bruno Haible  <bruno@clisp.org>
53861
53862         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
53863         precision handling.
53864         * tests/test-vasprintf-posix.c (test_function): Likewise.
53865         * tests/test-snprintf-posix.h (test_function): Likewise.
53866         * tests/test-sprintf-posix.h (test_function): Likewise.
53867
53868         Fix *printf behaviour for large precisions on mingw and BeOS.
53869         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
53870         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
53871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
53872         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53873         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53874         gl_PRINTF_PRECISION and test its result. Invoke
53875         gl_PREREQ_VASNPRINTF_PRECISION.
53876         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53877         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53878         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53879         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53880         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53881         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53882         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53883         * doc/functions/fprintf.texi: Update.
53884         * doc/functions/printf.texi: Update.
53885         * doc/functions/snprintf.texi: Update.
53886         * doc/functions/sprintf.texi: Update.
53887         * doc/functions/vfprintf.texi: Update.
53888         * doc/functions/vprintf.texi: Update.
53889         * doc/functions/vsnprintf.texi: Update.
53890         * doc/functions/vsprintf.texi: Update.
53891
53892 2007-11-04  Bruno Haible  <bruno@clisp.org>
53893
53894         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
53895
53896 2007-11-04  Bruno Haible  <bruno@clisp.org>
53897
53898         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
53899         Reported by Sylvain Beucler <beuc@gnu.org>.
53900
53901 2007-11-03  Bruno Haible  <bruno@clisp.org>
53902
53903         * tests/test-fprintf-posix2.sh: New file.
53904         * tests/test-fprintf-posix2.c: New file.
53905         * modules/fprintf-posix-tests (Files): Add them.
53906         (TESTS): Add test-fprintf-posix2.sh.
53907         (configure.ac): Check for getrlimit and setrlimit.
53908         (check_PROGRAMS): Add test-fprintf-posix2.
53909
53910         * tests/test-printf-posix2.sh: New file.
53911         * tests/test-printf-posix2.c: New file.
53912         * modules/printf-posix-tests (Files): Add them.
53913         (TESTS): Add test-printf-posix2.sh.
53914         (configure.ac): Check for getrlimit and setrlimit.
53915         (check_PROGRAMS): Add test-printf-posix2.
53916
53917         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
53918         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
53919         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
53920         (decode_double): New function, copied from decode_long_double.
53921         (scale10_round_decimal_decoded): New function, extracted from
53922         scale10_round_decimal_long_double.
53923         (scale10_round_decimal_long_double): Use it.
53924         (scale10_round_decimal_double): New function.
53925         (floorlog10): New function.
53926         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
53927         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
53928         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53929         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53930         gl_PRINTF_ENOMEM and test its result. Invoke
53931         gl_PREREQ_VASNPRINTF_ENOMEM.
53932         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53933         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53934         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53935         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53936         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53937         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53938         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53939         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
53940         * modules/snprintf-posix (Depends-on): Likewise.
53941         * modules/sprintf-posix (Depends-on): Likewise.
53942         * modules/vasnprintf-posix (Depends-on): Likewise.
53943         * modules/vasprintf-posix (Depends-on): Likewise.
53944         * modules/vfprintf-posix (Depends-on): Likewise.
53945         * modules/vsnprintf-posix (Depends-on): Likewise.
53946         * modules/vsprintf-posix (Depends-on): Likewise.
53947         * doc/functions/fprintf.texi: Update.
53948         * doc/functions/printf.texi: Update.
53949         * doc/functions/snprintf.texi: Update.
53950         * doc/functions/sprintf.texi: Update.
53951         * doc/functions/vfprintf.texi: Update.
53952         * doc/functions/vprintf.texi: Update.
53953         * doc/functions/vsnprintf.texi: Update.
53954         * doc/functions/vsprintf.texi: Update.
53955
53956 2007-11-03  Bruno Haible  <bruno@clisp.org>
53957
53958         * modules/frexp-nolibm-tests: New file.
53959
53960         * modules/frexp-nolibm: New file.
53961         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
53962
53963 2007-11-03  Bruno Haible  <bruno@clisp.org>
53964
53965         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
53966         value is C99 compliant.
53967         Needed for OSF/1 5.1.
53968
53969 2007-11-03  Bruno Haible  <bruno@clisp.org>
53970
53971         Fix out-of-memory handling of vasnprintf.
53972         * lib/printf-parse.c: Include <errno.h>.
53973         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
53974         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
53975         is already set.
53976
53977 2007-11-02  Eric Blake  <ebb9@byu.net>
53978
53979         Fix tests on cygwin.
53980         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
53981
53982 2007-11-01  Bruno Haible  <bruno@clisp.org>
53983
53984         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
53985         warning.
53986         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
53987         needed for POSIX compatibility.
53988
53989 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
53990
53991         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
53992         for compatibility with GNU.
53993
53994 2007-11-01  Bruno Haible  <bruno@clisp.org>
53995
53996         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
53997         (putenv): Renamed from rpl_putenv. Change argument type from
53998         'const char *' to 'char *'.
53999         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
54000         of defining putenv in config.h, just set REPLACE_PUTENV.
54001         * modules/putenv (Depends-on): Add stdlib.
54002         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54003         (Include): Use <stdlib.h>.
54004         * lib/stdlib.in.h (putenv): New declaration.
54005         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
54006         REPLACE_PUTENV.
54007         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
54008         REPLACE_PUTENV.
54009         Needed for MacOS X 10.5.0.
54010         Reported by Peter O'Gorman <peter@pogma.com>.
54011
54012 2007-11-01  Jim Meyering  <meyering@redhat.com>
54013
54014         Treat an empty date string exactly like "0".
54015         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
54016         if the remaining date string (to be parsed) is empty, use "0".
54017         Reported by Mischa Molhoek and discussed in this thread:
54018         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
54019
54020 2007-10-31  Bruno Haible  <bruno@clisp.org>
54021
54022         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
54023         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
54024         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
54025         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
54026         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
54027         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
54028
54029 2007-10-31  Bruno Haible  <bruno@clisp.org>
54030
54031         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
54032         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
54033         (AC_TYPE_LONG_LONG_INT): Use it.
54034         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
54035         it as well.
54036         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
54037         to m4/longlong.m4.
54038         * modules/stdint (Files): Remove m4/ulonglong.m4.
54039         * modules/strtoull (Files): Use m4/longlong.m4 instead of
54040         m4/ulonglong.m4.
54041         * modules/strtoumax (Files): Likewise.
54042
54043 2007-10-30  Bruno Haible  <bruno@clisp.org>
54044
54045         * modules/xvasprintf-posix: New file.
54046         Suggested by Eric Blake.
54047
54048 2007-10-30  Bruno Haible  <bruno@clisp.org>
54049
54050         * modules/xprintf-posix-tests: New file.
54051         * tests/test-xprintf-posix.sh: New file.
54052         * tests/test-xprintf-posix.c: New file.
54053         * tests/test-xfprintf-posix.c: New file.
54054
54055         * modules/xprintf-posix: New file.
54056
54057 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54058
54059         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
54060         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
54061         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
54062
54063 2007-10-29  Bruno Haible  <bruno@clisp.org>
54064
54065         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
54066         contain the special marker '_cv_'.
54067         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
54068         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
54069         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
54070         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
54071         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
54072         Reported by Ralf Wildenhues.
54073
54074 2007-10-29  Bruno Haible  <bruno@clisp.org>
54075
54076         * gnulib-tool (func_import): When --lgpl is not specified, set
54077         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
54078         GPLv3.
54079         Reported by Simon Josefsson.
54080
54081 2007-10-28  Bruno Haible  <bruno@clisp.org>
54082
54083         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
54084         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
54085         HAVE_DECL_ISFINITE.
54086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54087         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
54088         HAVE_DECL_ISFINITE.
54089
54090 2007-10-28  Bruno Haible  <bruno@clisp.org>
54091
54092         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
54093         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
54094
54095 2007-10-28  Bruno Haible  <bruno@clisp.org>
54096
54097         Fix link errors with Sun C 5.0 on Solaris 10.
54098         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
54099         function is declared but not present in the compiler's libm.
54100         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
54101         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
54102         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
54103         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
54104         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
54105         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
54106         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
54107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
54108         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
54109         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
54110         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
54111         HAVE_DECL_FLOORL.
54112
54113 2007-10-28  Bruno Haible  <bruno@clisp.org>
54114
54115         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
54116         gl_FUNC_FLOORL. Cache the result.
54117         (gl_FUNC_FLOORL): Use it.
54118         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
54119         gl_FUNC_CEILL. Cache the result.
54120         (gl_FUNC_CEILL): Use it.
54121
54122         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
54123         gl_FUNC_FLOOR. Cache the result.
54124         (gl_FUNC_FLOOR): Use it.
54125         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
54126         gl_FUNC_CEIL. Cache the result.
54127         (gl_FUNC_CEIL): Use it.
54128
54129         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
54130         gl_FUNC_FLOORF. Cache the result.
54131         (gl_FUNC_FLOORF): Use it.
54132         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
54133         gl_FUNC_CEILF. Cache the result.
54134         (gl_FUNC_CEILF): Use it.
54135
54136 2007-10-28  Bruno Haible  <bruno@clisp.org>
54137
54138         * gnulib-tool: Allow specifying the LGPL version number through
54139         --lgpl=2 or --lgpl=3.
54140         (func_usage): Document --lgpl with argument.
54141         Handle --lgpl=... arguments.
54142         (func_import): Recognize also gl_LGPL calls with an argument. When
54143         --lgpl=2 is used and the module's license is just LGPL, report an
54144         error. Set sed_transform_lib_file according to the lgpl variable. In
54145         the generated files, use --lgpl or gl_LGPL invocations with argument,
54146         if necessary.
54147         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
54148         an LGPv2+ license.
54149         * doc/gnulib-tool.texi (Modified imports): Update explanation of
54150         gl_LGPL macro.
54151
54152 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54153             Bruno Haible  <bruno@clisp.org>
54154
54155         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
54156         (u16_uctomb_aux): Likewise.
54157         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
54158         !HAVE_INLINE.
54159         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
54160
54161 2007-10-28  Bruno Haible  <bruno@clisp.org>
54162
54163         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
54164         Invoke AM_GETTEXT_OPTION if it exists.
54165         * modules/vasprintf: Likewise.
54166         * modules/verror: Likewise.
54167         * modules/xprintf: Likewise.
54168         * modules/xvasprintf: Likewise.
54169
54170 2007-10-27  Ben Pfaff  <blp@gnu.org>
54171
54172         * lib/math.in.h: Define isfinite macro and prototypes for
54173         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
54174         implementations.
54175         * m4/math_h.m4: New substitutions for isfinite module.
54176         * lib/isfinite.c: New file.
54177         * m4/isfinite.m4: New file.
54178         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
54179         * modules/isfinite: New file.
54180         * modules/isfinite-tests: New file.
54181         * tests/tests-isfinite.c: New file.
54182         * doc/functions/isfinite.texi: Mention isfinite module.
54183         * MODULES.html.sh: Mention new module.
54184
54185 2007-10-27  Ben Pfaff  <blp@gnu.org>
54186
54187         Ralf Wildenhues reported that Tru64 4.0D declares the round
54188         functions but does not have definitions.
54189         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
54190         cannot be found in any library, set the output variable to
54191         "missing" instead of "".
54192         * m4/round.m4: Also use our substitute if we cannot find round in
54193         any library, even if it is declared.
54194         * m4/roundf.m4: Likewise for roundf.
54195         * m4/roundl.m4: Likewise for roundl.
54196         * lib/math.in.h: Undefine roundf, round, roundl before defining
54197         their replacements, to allow for hypothetical systems where these
54198         may be defined as macros but not available in libraries.
54199
54200 2007-10-27  Bruno Haible  <bruno@clisp.org>
54201
54202         * doc/gnulib.texi: Invoke @firstparagraphindent.
54203         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
54204         changes in gnulib.
54205         (Source changes): New section.
54206
54207 2007-10-26  Bruno Haible  <bruno@clisp.org>
54208
54209         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
54210         borrowed from autoconf.
54211
54212 2007-10-26  Bruno Haible  <bruno@clisp.org>
54213
54214         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
54215         strerror returned the empty string. Needed on HP-UX 11.00.
54216
54217 2007-10-24  Micah Cowan  <micah@cowan.name>
54218
54219         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
54220         * build-aux/bootstrap: Remove support for now-unnecessary option,
54221         --cvs-user, and envvars CVS_USER, CVS_RSH.
54222
54223 2007-10-24  Jim Meyering  <meyering@redhat.com>
54224
54225         Avoid diagnostics from sha1sum when there is no cached checksum.
54226         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
54227         if the po.s1 file hasn't been created yet.
54228
54229         * build-aux/bootstrap: Sync from coreutils:
54230         2007-10-24  Jim Meyering  <meyering@redhat.com>
54231         Get gnulib from the git repository, not from an obsolete cvs one.
54232         * build-aux/bootstrap: Suggestion from Micah Cowan.
54233         2007-10-04  Jim Meyering  <jim@meyering.net>
54234         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
54235         (update_po_files): Work also when there are no .po files in po/.
54236
54237 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54238
54239         * README: Append ".git" to git and cg examples.
54240         Problem reported by Benoit Sigoure.
54241
54242 2007-10-23  Micah Cowan  <micah@cowan.name>
54243
54244         * users.txt: Add wget.
54245
54246 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54247
54248         Fix linking of some unistdio tests on FreeBSD.
54249         * modules/unistdio/u16-vsnprintf-tests
54250         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
54251         * modules/unistdio/u16-vsprintf-tests
54252         (test_u16_vsnprintf1_LDADD): Likewise.
54253         * modules/unistdio/u32-vsnprintf-tests
54254         (test_u32_vsnprintf1_LDADD): Likewise.
54255         * modules/unistdio/u32-vsprintf-tests
54256         (test_u32_vsprintf1_LDADD): Likewise.
54257         * modules/unistdio/u8-vsnprintf-tests
54258         (test_u8_vsnprintf1_LDADD): Likewise.
54259         * modules/unistdio/u8-vsprintf-tests
54260         (test_u8_vsprintf1_LDADD): Likewise.
54261         * modules/unistdio/ulc-vsnprintf-tests
54262         (test_ulc_vsnprintf1_LDADD): Likewise.
54263         * modules/unistdio/ulc-vsprintf-tests
54264         (test_ulc_vsprintf1_LDADD): Likewise.
54265
54266         Fix linking of some uniconv tests on FreeBSD.
54267         * modules/uniconv/u16-conv-from-enc-tests
54268         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
54269         * modules/uniconv/u16-conv-to-enc-tests
54270         (test_u16_conv_to_enc_LDADD): Likewise.
54271         * modules/uniconv/u16-strconv-from-enc-tests
54272         (test_u16_strconv_from_enc_LDADD): Likewise.
54273         * modules/uniconv/u16-strconv-to-enc-tests
54274         (test_u16_strconv_to_enc_LDADD): Likewise.
54275         * modules/uniconv/u32-conv-from-enc-tests
54276         (test_u32_conv_from_enc_LDADD): Likewise.
54277         * modules/uniconv/u32-conv-to-enc-tests
54278         (test_u32_conv_to_enc_LDADD): Likewise.
54279         * modules/uniconv/u32-strconv-from-enc-tests
54280         (test_u32_strconv_from_enc_LDADD): Likewise.
54281         * modules/uniconv/u32-strconv-to-enc-tests
54282         (test_u32_strconv_to_enc_LDADD): Likewise.
54283         * modules/uniconv/u8-conv-from-enc-tests
54284         (test_u8_conv_from_enc_LDADD): Likewise.
54285         * modules/uniconv/u8-conv-to-enc-tests
54286         (test_u8_conv_to_enc_LDADD): Likewise.
54287         * modules/uniconv/u8-strconv-from-enc-tests
54288         (test_u8_strconv_from_enc_LDADD): Likewise.
54289         * modules/uniconv/u8-strconv-to-enc-tests
54290         (test_u8_strconv_to_enc_LDADD): Likewise.
54291
54292 2007-10-22  Bruno Haible  <bruno@clisp.org>
54293
54294         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
54295         size.
54296
54297 2007-10-22  Eric Blake  <ebb9@byu.net>
54298
54299         Tweak x*printf documentation.
54300         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
54301         variable name and comments.
54302         Suggested by Bruno Haible.
54303
54304 2007-10-22  Bruno Haible  <bruno@clisp.org>
54305
54306         * lib/acl.c (copy_acl): Fix file name in comment.
54307
54308 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54309
54310         Fix Tru64 problem with stdbool.h.
54311         * lib/stdbool.in.h (false, true):
54312         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
54313         Don't declare as an enum in this situation; it runs afoul of Tru64.
54314         Problem reported by Steven M. Schweda in
54315         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
54316
54317 2007-10-22  Eric Blake  <ebb9@byu.net>
54318
54319         Also wrap vf?printf.
54320         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
54321         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
54322         (xvprintf, xvfprintf): New functions.
54323
54324 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54325
54326         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
54327         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
54328
54329         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
54330         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
54331
54332 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54333
54334         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
54335         by Bruno Haible.
54336
54337 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54338
54339         * lib/getloadavg.c
54340         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
54341         Undef `sys' after including sys/table.h, for Tru64 4.0D.
54342
54343         * tests/test-i-ring.c: Work for C89.
54344
54345 2007-10-22  Bruno Haible  <bruno@clisp.org>
54346
54347         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
54348         -1u, in preprocessor expression, so that we don't test for the bug
54349         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
54350         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
54351
54352 2007-10-22  Eric Blake  <ebb9@byu.net>
54353
54354         * tests/test-yesno.sh: Silence stderr during test.
54355
54356 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54357
54358         * modules/crypto/gc-camellia: New file.
54359
54360         * m4/gc-camellia.m4: New file.
54361
54362         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
54363
54364         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
54365
54366 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54367
54368         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
54369         --help to stdout.  Reported by sms@antinode.org (Steven
54370         M. Schweda).
54371
54372 2007-10-22  Simon Josefsson  <simon@josefsson.org>
54373
54374         * users.txt: Fix link to libksba.
54375
54376 2007-10-21  Ben Pfaff  <blp@gnu.org>
54377
54378         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
54379         round.c roundf implementation that depends on floorf and ceilf to
54380         be tested unconditionally.
54381
54382 2007-10-21  Ben Pfaff  <blp@gnu.org>
54383
54384         * m4/check-libm-func.m4: Removed.
54385         * m4/check-math-lib.m4: New file.
54386         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
54387         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
54388         definition and lack of AC_LIBOBJ([roundf]).
54389         * m4/roundl.m4: Ditto, and similarly for roundl.
54390         * modules/round: Reference new m4 file.
54391         * modules/roundf: Ditto.
54392         * modules/roundl: Ditto.
54393         * tests/test-round2.c (main): Use ROUND instead of round.
54394         Bug report from Bruno Haible.
54395
54396 2007-10-21  Bruno Haible  <bruno@clisp.org>
54397
54398         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
54399         context.
54400
54401 2007-10-21  Bruno Haible  <bruno@clisp.org>
54402
54403         * tests/test-wcwidth.c (main): Allow negative result for some control
54404         characters.
54405
54406         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
54407         Needed on OSF/1 5.1.
54408
54409 2007-10-21  Bruno Haible  <bruno@clisp.org>
54410
54411         * tests/test-floorf1.c: Include isnanf.h.
54412         (main): Use isnanf() instead of isnan().
54413         * tests/test-ceilf1.c: Include isnanf.h.
54414         (main): Use isnanf() instead of isnan().
54415         * tests/test-truncf1.c: Include isnanf.h.
54416         (main): Use isnanf() instead of isnan().
54417         * tests/test-roundf1.c: Include isnanf.h.
54418         (main): Use isnanf() instead of isnan().
54419
54420 2007-10-21  Eric Blake  <ebb9@byu.net>
54421
54422         * users.txt: Update URL for m4.
54423
54424 2007-10-21  Bruno Haible  <bruno@clisp.org>
54425
54426         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
54427
54428 2007-10-21  Bruno Haible  <bruno@clisp.org>
54429
54430         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
54431         Git's management files if the CVS files are not present.
54432
54433 2007-10-20  Bruno Haible  <bruno@clisp.org>
54434
54435         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
54436         gcc-3.4.x.
54437
54438 2007-10-20  Ben Pfaff  <blp@gnu.org>
54439
54440         * lib/math.in.h: Declare round, roundf, roundl if we are providing
54441         implementations.
54442         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
54443         * lib/round.c: New file.
54444         * lib/roundf.c: New file.
54445         * lib/roundl.c: New file.
54446         * m4/round.m4: New file.
54447         * m4/roundf.m4: New file.
54448         * m4/roundl.m4: New file.
54449         * m4/check-libm-func-m4: New file.
54450         * modules/math: Replace round, roundf, roundl related @VARS@ in
54451         math.in.h.
54452         * modules/round: New file.
54453         * modules/round-tests: New file.
54454         * modules/roundf: New file.
54455         * modules/roundf-tests: New file.
54456         * modules/roundl: New file.
54457         * modules/roundl-tests: New file.
54458         * tests/test-round1.c: New file.
54459         * tests/test-round2.c: New file.
54460         * tests/test-roundf1.c: New file.
54461         * tests/test-roundf2.c: New file.
54462         * tests/test-roundl.c: New file.
54463         * doc/functions/round.texi: Mention round module.
54464         * doc/functions/roundf.texi: Mention roundf module.
54465         * doc/functions/roundl.texi: Mention roundl module.
54466         * MODULES.html.sh: Mention new modules.
54467         Thanks to Bruno Haible for suggestions.
54468
54469 2007-10-20  Jim Meyering  <meyering@redhat.com>
54470
54471         * lib/xprintf.c: Include <config.h> unconditionally.
54472
54473         Change xprintf's license to GPL.
54474         * modules/xprintf (License): s/LGPL/GPL/, since this module
54475         depends on modules (exit and exitfail) which are GPL.
54476         Suggestion from Bruno Haible.
54477
54478         xprintf fixes.
54479         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
54480         Use a clearer diagnostic.
54481         Patch from Bruno Haible.
54482
54483 2007-10-20  Bruno Haible  <bruno@clisp.org>
54484
54485         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
54486         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
54487         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54488
54489 2007-10-20  Bruno Haible  <bruno@clisp.org>
54490
54491         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
54492         precision in the comparison result > x - 1 or similar.
54493         * tests/test-ceilf2.c (correct_result_p): Likewise.
54494         * tests/test-truncf2.c (correct_result_p): Likewise.
54495         * tests/test-trunc2.c (correct_result_p): Likewise.
54496         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54497
54498 2007-10-20  Bruno Haible  <bruno@clisp.org>
54499
54500         * modules/ceil: New file.
54501         * m4/ceil.m4: New file.
54502         * doc/functions/ceil.texi: Mention the 'ceil' module.
54503
54504 2007-10-20  Bruno Haible  <bruno@clisp.org>
54505
54506         * modules/floor: New file.
54507         * m4/floor.m4: New file.
54508         * doc/functions/floor.texi: Mention the 'floor' module.
54509
54510 2007-10-20  Bruno Haible  <bruno@clisp.org>
54511
54512         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
54513         of %a.
54514         * modules/floorf-tests (Depends-on): Likewise.
54515         * modules/truncf-tests (Depends-on): Likewise.
54516         * modules/trunc-tests (Depends-on): Likewise.
54517         Reported by Ben Pfaff.
54518
54519 2007-10-19  Jim Meyering  <meyering@redhat.com>
54520
54521         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
54522         Don't bother testing specific errno values.  Just test ferror.
54523
54524         New module: xprintf
54525         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
54526
54527 2007-10-19  Bruno Haible  <bruno@clisp.org>
54528
54529         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
54530         syntax.
54531         * modules/javaexec (Makefile.am): Likewise.
54532         * modules/relocatable-prog (Makefile.am): Likewise.
54533         Suggested by Jim Meyering.
54534
54535 2007-10-18  Bruno Haible  <bruno@clisp.org>
54536
54537         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
54538         Reported by Jim Meyering.
54539
54540 2007-10-18  Eric Blake  <ebb9@byu.net>
54541
54542         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
54543
54544 2007-10-18  Bruno Haible  <bruno@clisp.org>
54545
54546         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
54547         the format string into writable memory. Needed in Fortify conditions.
54548
54549 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
54550             Bruno Haible  <bruno@clisp.org>
54551
54552         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
54553         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
54554         * modules/trim (Depends-on): Add mbchar.
54555         (configure.ac): Add gl_FUNC_MBRTOWC.
54556         (Makefile.am): Augment lib_SOURCES.
54557
54558 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54559
54560         Modify glob.c to use fstatat and dirfd, to simplify it.
54561         Suggested by Eric Blake.
54562         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
54563         Don't include <stdbool.h>; not used.
54564         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
54565         (link_exists_p): Simplify implementation, since we can now assume
54566         dirfd and fstatat.
54567         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
54568
54569 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54570
54571         * gnulib-tool (func_get_dependencies): Fix sed script to
54572         match only tests.
54573
54574 2007-10-17  Bruno Haible  <bruno@clisp.org>
54575
54576         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
54577         allow locale names without encoding suffix.
54578         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54579         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54580
54581 2007-10-16  Bruno Haible  <bruno@clisp.org>
54582
54583         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
54584         * lib/getgroups.c (getgroups): Likewise.
54585         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
54586
54587 2007-10-16  Bruno Haible  <bruno@clisp.org>
54588
54589         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
54590         * modules/malloc-posix (License): Likewise.
54591         * modules/realloc-posix (License): Likewise.
54592         * modules/calloc-posix (License): Likewise.
54593         * modules/intprops (License): Change from GPL to LGPL, with
54594         Paul Eggert's approval.
54595
54596 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54597
54598         Merge glibc changes into lib/glob.c.
54599
54600         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
54601         2007-10-15 04:59:03 UTC.  Here are the changes:
54602
54603         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
54604
54605         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
54606
54607         * lib/glob.c: Add some branch prediction throughout.
54608
54609         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
54610
54611         [BZ #5103]
54612         * lib/glob.c (glob): Recognize patterns starting \/.
54613
54614         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
54615
54616         [BZ #3996]
54617         * lib/glob.c (attribute_hidden): Define if not defined.
54618         (glob): Unescape dirname, filename or username when needed and not
54619         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
54620         is NULL.  Handle unescaped [ in pattern without closing ].
54621         Don't pass GLOB_CHECK down to recursive glob for directories.
54622         (__glob_pattern_type): New function.
54623         (__glob_pattern_p): Implement using __glob_pattern_type.
54624         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
54625         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
54626         Remove unreachable code.
54627
54628         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
54629
54630         * lib/glob.c (glob_in_dir): Add some comments and asserts to
54631         explain why there are no leaks.
54632
54633         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
54634
54635         [BZ #3253]
54636         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
54637         time, rather allocate increasingly bigger arrays of pointers, if
54638         possible with alloca, if too large with malloc.
54639
54640 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54641
54642         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
54643         Problem reported by H.Merijn Brand in
54644         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
54645         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
54646         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54647
54648 2007-10-15  Bruno Haible  <bruno@clisp.org>
54649
54650         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
54651         with explicit rpl_ prefix.
54652         * lib/fopen.c (fopen): Likewise.
54653         * lib/freopen.c (freopen): Likewise.
54654         * lib/iconv.c (iconv): Likewise.
54655         * lib/iconv_close.c (iconv_close): Likewise.
54656
54657 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54658
54659         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
54660
54661 2007-10-15  Bruno Haible  <bruno@clisp.org>
54662
54663         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
54664         <stddef.h> instead of <stdlib.h> since we only need NULL.
54665         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54666
54667 2007-10-15  Bruno Haible  <bruno@clisp.org>
54668
54669         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
54670         Replace paragraph talking about LIBOBJS.
54671         Reported by Colin Watson <cjwatson@debian.org>.
54672
54673 2007-10-15  Bruno Haible  <bruno@clisp.org>
54674
54675         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
54676         <stdlib.h> before using NULL.
54677
54678 2007-10-15  Simon Josefsson  <simon@josefsson.org>
54679
54680         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
54681         Reported by Albert Chin <china@thewrittenword.com>.
54682
54683 2007-10-14  Bruno Haible  <bruno@clisp.org>
54684
54685         * modules/iconv_open-utf-tests: New file.
54686         * tests/test-iconv-utf.c: New file.
54687
54688         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
54689         * modules/iconv_open-utf: New file.
54690         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
54691         (iconv, iconv_close): New declarations.
54692         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
54693         be defined.
54694         (iconv_open): Add special handling of conversion between UTF-8 and
54695         UTF-{16,32}{BE,LE}.
54696         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
54697         * lib/iconv_close.c: New file.
54698         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
54699         gl_FUNC_ICONV_OPEN.
54700         (gl_FUNC_ICONV_OPEN): Use it.
54701         (gl_FUNC_ICONV_OPEN_UTF): New macro.
54702         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
54703         and REPLACE_ICONV_UTF.
54704         * modules/iconv_open (Depends-on): Add c-strcase.
54705         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
54706         ICONV_CONST.
54707         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
54708
54709 2007-10-13  Albert Chin  <china@thewrittenword.com>
54710             Bruno Haible  <bruno@clisp.org>
54711
54712         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
54713         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
54714
54715 2007-10-13  Bruno Haible  <bruno@clisp.org>
54716
54717         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
54718         defined, use the ISO C99 inline semantics.
54719         * lib/argp.h (ARGP_EI): Likewise.
54720
54721 2007-10-13  Bruno Haible  <bruno@clisp.org>
54722
54723         Handle 'inline' change in gcc 4.3.0.
54724         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
54725         argp_fmtstream_write, argp_fmtstream_set_lmargin,
54726         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
54727         argp_fmtstream_point): Disable 'extern' declaration if the function
54728         definition is going to be provided inline.
54729         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
54730         semantics, not the ISO C99 inline semantics.
54731         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
54732         'extern' declaration if the function definition is going to be provided
54733         inline.
54734         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
54735         the GNU C inline semantics, not the ISO C99 inline semantics. With
54736         GCC 4.2, avoid a warning.
54737
54738 2007-10-13  Bruno Haible  <bruno@clisp.org>
54739
54740         * lib/freading.h (freading): Enable the use of __freading for
54741         glibc >= 2.7.
54742         * lib/freading.c (freading): Likewise.
54743
54744 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54745
54746         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
54747         "warning: C99 inline functions are not supported; using GNU89".
54748
54749 2007-10-12  Bruno Haible  <bruno@clisp.org>
54750
54751         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
54752         of 2.
54753         * tests/test-ceilf2.c: New file.
54754         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
54755
54756         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
54757         * modules/ceilf-tests: Update.
54758
54759 2007-10-12  Bruno Haible  <bruno@clisp.org>
54760
54761         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
54762         of 2.
54763         * tests/test-floorf2.c: New file.
54764         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
54765
54766         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
54767         * modules/floorf-tests: Update.
54768
54769 2007-10-12  Bruno Haible  <bruno@clisp.org>
54770
54771         * tests/test-trunc2.c: New file.
54772         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
54773
54774         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
54775         * modules/trunc-tests: Update.
54776
54777 2007-10-12  Bruno Haible  <bruno@clisp.org>
54778
54779         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
54780         of 2.
54781         * tests/test-truncf2.c: New file.
54782         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
54783
54784         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
54785         * modules/truncf-tests: Update.
54786
54787 2007-10-11  Eric Blake  <ebb9@byu.net>
54788
54789         Don't claim strerror is broken on Interix.
54790         * doc/functions/strerror.texi (strerror): Known broken systems are
54791         now Solaris 8, and not Interix.
54792         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
54793         Interix on cross-compile.
54794         Reported by Martin Koeppe in
54795         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
54796
54797 2007-10-11  Bruno Haible  <bruno@clisp.org>
54798
54799         * modules/i-ring-tests: New file.
54800         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
54801         instead of assert.
54802
54803 2007-10-11  Bruno Haible  <bruno@clisp.org>
54804
54805         * modules/filenamecat-tests: New file.
54806         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
54807         * lib/filenamecat.c: Remove test code.
54808
54809 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
54810
54811         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
54812
54813         * lib/strerror.c: Include <string.h> always, to test interface,
54814         and to remove the need for the dummy.
54815         Include intprops.h to compute width instead of doing it ourselves
54816         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
54817         (strerror): Define it to return NULL if there's no system strerror.
54818         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
54819         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
54820         ancient pre-strerror Unix systems well any more.  Saying "unknown
54821         system error" is enough.
54822         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
54823         simpler strerror.c implementation.
54824         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
54825         Simplify the tests to reflect the simpler strerror implementation.
54826         * modules/strerror (Depends-on): Add intprops.
54827
54828 2007-10-09  Eric Blake  <ebb9@byu.net>
54829
54830         Silence test-fpending.
54831         * modules/fpending-tests (Files): Add wrapper script.
54832         * tests/test-fpending.sh: New file.
54833
54834 2007-10-09  Bruno Haible  <bruno@clisp.org>
54835
54836         * MODULES.html.sh (func_module): Don't create a hyperlink for
54837         function names like 'printf_frexp'.
54838         (Misc): Add crc, memxor.
54839         (Characteristics of floating types): New section.
54840         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
54841         isnanf-nolibm, signbit, trunc, truncf, truncl.
54842         (Enhancements for ISO C 99 functions): New subsection Input/output.
54843         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
54844         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
54845         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
54846         (Compatibility checks for POSIX:2001 functions): Add clock-time.
54847         (Enhancements for POSIX:2001 functions): Add chdir-long.
54848         (File system functions): Add areadlink, chdir-safer, read-file.
54849         Remove cycle-check.
54850         (File system as inode set): New section.
54851         (Date and time): Add gethrxtime.
54852         (Multithreading): Add openmp.
54853         (Internationalization functions): Add localename.
54854         (Unicode string functions): Add unistr/u*-mbsnlen.
54855         (Support for maintaining and releasing projects): Add git-version-gen.
54856         (Lone files): Remove directories.
54857
54858 2007-10-08  Ben Pfaff  <blp@gnu.org>
54859
54860         * lib/xmalloca.h: Fix typo in comment.
54861
54862 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54863
54864         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
54865         when avoiding problems with integer overflow.  Use a portable test
54866         instead.
54867
54868 2007-10-08  Simon Josefsson  <simon@josefsson.org>
54869
54870         * modules/dummy (License): Change to LGPLv2+.
54871         * modules/float (License): Likewise
54872         * modules/realloc (License): Likewise
54873         * modules/stdlib (License): Likewise
54874
54875 2007-10-07  Bruno Haible  <bruno@clisp.org>
54876
54877         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
54878         * floor.c (TWO_MANT_DIG): Likewise.
54879         * ceil.c (TWO_MANT_DIG): Likewise.
54880         Reported by Ben Pfaff.
54881
54882 2007-10-07  Bruno Haible  <bruno@clisp.org>
54883
54884         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
54885         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
54886         * lib/frexp.c (FUNC): Likewise.
54887         * lib/printf-frexp.h (printf_frexp): Likewise.
54888         * lib/printf-frexpl.h (printf_frexpl): Likewise.
54889         * lib/printf-frexp.c (FUNC): Likewise.
54890         Suggested by Jim Meyering.
54891
54892 2007-10-07  Jim Meyering  <meyering@redhat.com>
54893
54894         Make xnanosleep's integer overflow test more robust.
54895         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
54896         so that gcc-4.3.0 doesn't optimize away this test for overflow.
54897
54898 2007-10-07  Bruno Haible  <bruno@clisp.org>
54899
54900         * NEWS: Mention the license change.
54901
54902         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
54903         abbreviations in the modules files.
54904
54905         Change copyright notice from GPLv2+ to GPLv3+.
54906         * README: Change copyright notice.
54907         * MODULES.html.sh: Likewise.
54908         * build-aux/bootstrap.conf: Likewise.
54909         * build-aux/config.libpath: Likewise.
54910         * build-aux/csharpcomp.sh.in: Likewise.
54911         * build-aux/csharpexec.sh.in: Likewise.
54912         * build-aux/install-reloc: Likewise.
54913         * build-aux/javacomp.sh.in: Likewise.
54914         * build-aux/javaexec.sh.in: Likewise.
54915         * build-aux/ldd.sh.in: Likewise.
54916         * build-aux/reloc-ldflags: Likewise.
54917         * build-aux/relocatable.sh.in: Likewise.
54918         * build-aux/x-to-1.in: Likewise.
54919         * check-module: Likewise.
54920         * config/srclistvars.sh: Likewise.
54921         * gnulib-tool: Likewise.
54922         * lib/acl-internal.h: Likewise.
54923         * lib/acl.c: Likewise.
54924         * lib/acl.h: Likewise.
54925         * lib/acl_entries.c: Likewise.
54926         * lib/areadlink-with-size.c: Likewise.
54927         * lib/areadlink.c: Likewise.
54928         * lib/areadlink.h: Likewise.
54929         * lib/argmatch.c: Likewise.
54930         * lib/argmatch.h: Likewise.
54931         * lib/argp-ba.c: Likewise.
54932         * lib/argp-eexst.c: Likewise.
54933         * lib/argp-fmtstream.c: Likewise.
54934         * lib/argp-fmtstream.h: Likewise.
54935         * lib/argp-fs-xinl.c: Likewise.
54936         * lib/argp-help.c: Likewise.
54937         * lib/argp-namefrob.h: Likewise.
54938         * lib/argp-parse.c: Likewise.
54939         * lib/argp-pin.c: Likewise.
54940         * lib/argp-pv.c: Likewise.
54941         * lib/argp-pvh.c: Likewise.
54942         * lib/argp-xinl.c: Likewise.
54943         * lib/argp.h: Likewise.
54944         * lib/at-func.c: Likewise.
54945         * lib/atanl.c: Likewise.
54946         * lib/backupfile.c: Likewise.
54947         * lib/backupfile.h: Likewise.
54948         * lib/basename.c: Likewise.
54949         * lib/binary-io.h: Likewise.
54950         * lib/byteswap.in.h: Likewise.
54951         * lib/c-stack.c: Likewise.
54952         * lib/c-stack.h: Likewise.
54953         * lib/c-strcasestr.c: Likewise.
54954         * lib/c-strcasestr.h: Likewise.
54955         * lib/c-strstr.c: Likewise.
54956         * lib/c-strstr.h: Likewise.
54957         * lib/c-strtod.c: Likewise.
54958         * lib/calloc.c: Likewise.
54959         * lib/canon-host.c: Likewise.
54960         * lib/canon-host.h: Likewise.
54961         * lib/canonicalize-lgpl.c: Likewise.
54962         * lib/canonicalize.c: Likewise.
54963         * lib/canonicalize.h: Likewise.
54964         * lib/ceil.c: Likewise.
54965         * lib/ceilf.c: Likewise.
54966         * lib/ceill.c: Likewise.
54967         * lib/chdir-long.c: Likewise.
54968         * lib/chdir-long.h: Likewise.
54969         * lib/chdir-safer.c: Likewise.
54970         * lib/chdir-safer.h: Likewise.
54971         * lib/chown.c: Likewise.
54972         * lib/classpath.c: Likewise.
54973         * lib/classpath.h: Likewise.
54974         * lib/clean-temp.c: Likewise.
54975         * lib/clean-temp.h: Likewise.
54976         * lib/cloexec.c: Likewise.
54977         * lib/close-stream.c: Likewise.
54978         * lib/closein.c: Likewise.
54979         * lib/closein.h: Likewise.
54980         * lib/closeout.c: Likewise.
54981         * lib/closeout.h: Likewise.
54982         * lib/concat-filename.c: Likewise.
54983         * lib/copy-file.c: Likewise.
54984         * lib/copy-file.h: Likewise.
54985         * lib/count-one-bits.h: Likewise.
54986         * lib/crc.c: Likewise.
54987         * lib/crc.h: Likewise.
54988         * lib/creat-safer.c: Likewise.
54989         * lib/csharpcomp.c: Likewise.
54990         * lib/csharpcomp.h: Likewise.
54991         * lib/csharpexec.c: Likewise.
54992         * lib/csharpexec.h: Likewise.
54993         * lib/cycle-check.c: Likewise.
54994         * lib/cycle-check.h: Likewise.
54995         * lib/diacrit.c: Likewise.
54996         * lib/diacrit.h: Likewise.
54997         * lib/diffseq.h: Likewise.
54998         * lib/dirchownmod.c: Likewise.
54999         * lib/dirent.in.h: Likewise.
55000         * lib/dirfd.c: Likewise.
55001         * lib/dirfd.h: Likewise.
55002         * lib/dirname.c: Likewise.
55003         * lib/dirname.h: Likewise.
55004         * lib/dummy.c: Likewise.
55005         * lib/dup-safer.c: Likewise.
55006         * lib/dup2.c: Likewise.
55007         * lib/eealloc.h: Likewise.
55008         * lib/error.c: Likewise.
55009         * lib/error.h: Likewise.
55010         * lib/euidaccess.c: Likewise.
55011         * lib/exclude.c: Likewise.
55012         * lib/exclude.h: Likewise.
55013         * lib/execute.c: Likewise.
55014         * lib/execute.h: Likewise.
55015         * lib/exitfail.c: Likewise.
55016         * lib/exitfail.h: Likewise.
55017         * lib/expl.c: Likewise.
55018         * lib/fatal-signal.c: Likewise.
55019         * lib/fatal-signal.h: Likewise.
55020         * lib/fbufmode.c: Likewise.
55021         * lib/fbufmode.h: Likewise.
55022         * lib/fchdir.c: Likewise.
55023         * lib/fchmodat.c: Likewise.
55024         * lib/fchownat.c: Likewise.
55025         * lib/fcntl--.h: Likewise.
55026         * lib/fcntl-safer.h: Likewise.
55027         * lib/fcntl.in.h: Likewise.
55028         * lib/fd-safer.c: Likewise.
55029         * lib/fflush.c: Likewise.
55030         * lib/file-has-acl.c: Likewise.
55031         * lib/file-set.c: Likewise.
55032         * lib/file-type.c: Likewise.
55033         * lib/file-type.h: Likewise.
55034         * lib/fileblocks.c: Likewise.
55035         * lib/filemode.c: Likewise.
55036         * lib/filemode.h: Likewise.
55037         * lib/filename.h: Likewise.
55038         * lib/filenamecat.c: Likewise.
55039         * lib/filenamecat.h: Likewise.
55040         * lib/findprog.c: Likewise.
55041         * lib/findprog.h: Likewise.
55042         * lib/float.in.h: Likewise.
55043         * lib/floor.c: Likewise.
55044         * lib/floorf.c: Likewise.
55045         * lib/floorl.c: Likewise.
55046         * lib/fopen-safer.c: Likewise.
55047         * lib/fopen.c: Likewise.
55048         * lib/fpending.c: Likewise.
55049         * lib/fpending.h: Likewise.
55050         * lib/fprintf.c: Likewise.
55051         * lib/fprintftime.h: Likewise.
55052         * lib/fpucw.h: Likewise.
55053         * lib/fpurge.c: Likewise.
55054         * lib/fpurge.h: Likewise.
55055         * lib/freadable.c: Likewise.
55056         * lib/freadable.h: Likewise.
55057         * lib/freadahead.c: Likewise.
55058         * lib/freadahead.h: Likewise.
55059         * lib/freading.c: Likewise.
55060         * lib/freading.h: Likewise.
55061         * lib/free.c: Likewise.
55062         * lib/freopen.c: Likewise.
55063         * lib/frexp.c: Likewise.
55064         * lib/frexpl.c: Likewise.
55065         * lib/fseek.c: Likewise.
55066         * lib/fseterr.c: Likewise.
55067         * lib/fseterr.h: Likewise.
55068         * lib/fstatat.c: Likewise.
55069         * lib/fstrcmp.c: Likewise.
55070         * lib/fstrcmp.h: Likewise.
55071         * lib/fsusage.c: Likewise.
55072         * lib/fsusage.h: Likewise.
55073         * lib/ftell.c: Likewise.
55074         * lib/ftello.c: Likewise.
55075         * lib/fts-cycle.c: Likewise.
55076         * lib/fts.c: Likewise.
55077         * lib/fts_.h: Likewise.
55078         * lib/full-read.c: Likewise.
55079         * lib/full-read.h: Likewise.
55080         * lib/full-write.c: Likewise.
55081         * lib/full-write.h: Likewise.
55082         * lib/fwritable.c: Likewise.
55083         * lib/fwritable.h: Likewise.
55084         * lib/fwriteerror.c: Likewise.
55085         * lib/fwriteerror.h: Likewise.
55086         * lib/fwriting.c: Likewise.
55087         * lib/fwriting.h: Likewise.
55088         * lib/gcd.c: Likewise.
55089         * lib/gcd.h: Likewise.
55090         * lib/getcwd.c: Likewise.
55091         * lib/getdate.h: Likewise.
55092         * lib/getdate.y: Likewise.
55093         * lib/getdomainname.c: Likewise.
55094         * lib/getdomainname.h: Likewise.
55095         * lib/getgroups.c: Likewise.
55096         * lib/gethostname.c: Likewise.
55097         * lib/gethrxtime.c: Likewise.
55098         * lib/gethrxtime.h: Likewise.
55099         * lib/getloadavg.c: Likewise.
55100         * lib/getndelim2.c: Likewise.
55101         * lib/getndelim2.h: Likewise.
55102         * lib/getnline.c: Likewise.
55103         * lib/getnline.h: Likewise.
55104         * lib/getopt.c: Likewise.
55105         * lib/getopt.in.h: Likewise.
55106         * lib/getopt1.c: Likewise.
55107         * lib/getopt_int.h: Likewise.
55108         * lib/getpagesize.h: Likewise.
55109         * lib/getsubopt.c: Likewise.
55110         * lib/gettime.c: Likewise.
55111         * lib/getugroups.c: Likewise.
55112         * lib/getugroups.h: Likewise.
55113         * lib/getusershell.c: Likewise.
55114         * lib/gl_anyavltree_list1.h: Likewise.
55115         * lib/gl_anyavltree_list2.h: Likewise.
55116         * lib/gl_anyhash_list1.h: Likewise.
55117         * lib/gl_anyhash_list2.h: Likewise.
55118         * lib/gl_anylinked_list1.h: Likewise.
55119         * lib/gl_anylinked_list2.h: Likewise.
55120         * lib/gl_anyrbtree_list1.h: Likewise.
55121         * lib/gl_anyrbtree_list2.h: Likewise.
55122         * lib/gl_anytree_list1.h: Likewise.
55123         * lib/gl_anytree_list2.h: Likewise.
55124         * lib/gl_anytree_oset.h: Likewise.
55125         * lib/gl_anytreehash_list1.h: Likewise.
55126         * lib/gl_anytreehash_list2.h: Likewise.
55127         * lib/gl_array_list.c: Likewise.
55128         * lib/gl_array_list.h: Likewise.
55129         * lib/gl_array_oset.c: Likewise.
55130         * lib/gl_array_oset.h: Likewise.
55131         * lib/gl_avltree_list.c: Likewise.
55132         * lib/gl_avltree_list.h: Likewise.
55133         * lib/gl_avltree_oset.c: Likewise.
55134         * lib/gl_avltree_oset.h: Likewise.
55135         * lib/gl_avltreehash_list.c: Likewise.
55136         * lib/gl_avltreehash_list.h: Likewise.
55137         * lib/gl_carray_list.c: Likewise.
55138         * lib/gl_carray_list.h: Likewise.
55139         * lib/gl_linked_list.c: Likewise.
55140         * lib/gl_linked_list.h: Likewise.
55141         * lib/gl_linkedhash_list.c: Likewise.
55142         * lib/gl_linkedhash_list.h: Likewise.
55143         * lib/gl_list.c: Likewise.
55144         * lib/gl_list.h: Likewise.
55145         * lib/gl_oset.c: Likewise.
55146         * lib/gl_oset.h: Likewise.
55147         * lib/gl_rbtree_list.c: Likewise.
55148         * lib/gl_rbtree_list.h: Likewise.
55149         * lib/gl_rbtree_oset.c: Likewise.
55150         * lib/gl_rbtree_oset.h: Likewise.
55151         * lib/gl_rbtreehash_list.c: Likewise.
55152         * lib/gl_rbtreehash_list.h: Likewise.
55153         * lib/gl_sublist.c: Likewise.
55154         * lib/gl_sublist.h: Likewise.
55155         * lib/group-member.c: Likewise.
55156         * lib/group-member.h: Likewise.
55157         * lib/hard-locale.c: Likewise.
55158         * lib/hard-locale.h: Likewise.
55159         * lib/hash-pjw.c: Likewise.
55160         * lib/hash-pjw.h: Likewise.
55161         * lib/hash-triple.c: Likewise.
55162         * lib/hash.c: Likewise.
55163         * lib/hash.h: Likewise.
55164         * lib/human.c: Likewise.
55165         * lib/human.h: Likewise.
55166         * lib/i-ring.c: Likewise.
55167         * lib/i-ring.h: Likewise.
55168         * lib/idcache.c: Likewise.
55169         * lib/imaxabs.c: Likewise.
55170         * lib/imaxdiv.c: Likewise.
55171         * lib/inet_pton.c: Likewise.
55172         * lib/inet_pton.h: Likewise.
55173         * lib/intprops.h: Likewise.
55174         * lib/inttostr.c: Likewise.
55175         * lib/inttostr.h: Likewise.
55176         * lib/inttypes.in.h: Likewise.
55177         * lib/isapipe.c: Likewise.
55178         * lib/isdir.c: Likewise.
55179         * lib/isnan.c: Likewise.
55180         * lib/isnan.h: Likewise.
55181         * lib/isnanf.c: Likewise.
55182         * lib/isnanf.h: Likewise.
55183         * lib/isnanl-nolibm.h: Likewise.
55184         * lib/isnanl.c: Likewise.
55185         * lib/isnanl.h: Likewise.
55186         * lib/javacomp.c: Likewise.
55187         * lib/javacomp.h: Likewise.
55188         * lib/javaexec.c: Likewise.
55189         * lib/javaexec.h: Likewise.
55190         * lib/javaversion.c: Likewise.
55191         * lib/javaversion.h: Likewise.
55192         * lib/javaversion.java: Likewise.
55193         * lib/lbrkprop.h: Likewise.
55194         * lib/lchmod.h: Likewise.
55195         * lib/lchown.c: Likewise.
55196         * lib/ldexpl.c: Likewise.
55197         * lib/linebreak.c: Likewise.
55198         * lib/linebreak.h: Likewise.
55199         * lib/linebuffer.c: Likewise.
55200         * lib/linebuffer.h: Likewise.
55201         * lib/locale.in.h: Likewise.
55202         * lib/logl.c: Likewise.
55203         * lib/long-options.c: Likewise.
55204         * lib/long-options.h: Likewise.
55205         * lib/lstat.c: Likewise.
55206         * lib/lstat.h: Likewise.
55207         * lib/math.in.h: Likewise.
55208         * lib/mbchar.c: Likewise.
55209         * lib/mbchar.h: Likewise.
55210         * lib/mbfile.h: Likewise.
55211         * lib/mbiter.h: Likewise.
55212         * lib/mbscasecmp.c: Likewise.
55213         * lib/mbscasestr.c: Likewise.
55214         * lib/mbschr.c: Likewise.
55215         * lib/mbscspn.c: Likewise.
55216         * lib/mbslen.c: Likewise.
55217         * lib/mbsncasecmp.c: Likewise.
55218         * lib/mbsnlen.c: Likewise.
55219         * lib/mbspbrk.c: Likewise.
55220         * lib/mbspcasecmp.c: Likewise.
55221         * lib/mbsrchr.c: Likewise.
55222         * lib/mbssep.c: Likewise.
55223         * lib/mbsspn.c: Likewise.
55224         * lib/mbsstr.c: Likewise.
55225         * lib/mbstok_r.c: Likewise.
55226         * lib/mbswidth.c: Likewise.
55227         * lib/mbswidth.h: Likewise.
55228         * lib/mbuiter.h: Likewise.
55229         * lib/memcasecmp.c: Likewise.
55230         * lib/memcasecmp.h: Likewise.
55231         * lib/memchr.c: Likewise.
55232         * lib/memcmp.c: Likewise.
55233         * lib/memcoll.c: Likewise.
55234         * lib/memcoll.h: Likewise.
55235         * lib/memcpy.c: Likewise.
55236         * lib/memrchr.c: Likewise.
55237         * lib/mkancesdirs.c: Likewise.
55238         * lib/mkdir-p.c: Likewise.
55239         * lib/mkdir-p.h: Likewise.
55240         * lib/mkdir.c: Likewise.
55241         * lib/mkdirat.c: Likewise.
55242         * lib/mkdtemp.c: Likewise.
55243         * lib/mkstemp-safer.c: Likewise.
55244         * lib/mkstemp.c: Likewise.
55245         * lib/modechange.c: Likewise.
55246         * lib/modechange.h: Likewise.
55247         * lib/mountlist.c: Likewise.
55248         * lib/mountlist.h: Likewise.
55249         * lib/mpsort.c: Likewise.
55250         * lib/nanosleep.c: Likewise.
55251         * lib/obstack.c: Likewise.
55252         * lib/obstack.h: Likewise.
55253         * lib/open-safer.c: Likewise.
55254         * lib/open.c: Likewise.
55255         * lib/openat-die.c: Likewise.
55256         * lib/openat-priv.h: Likewise.
55257         * lib/openat-proc.c: Likewise.
55258         * lib/openat.c: Likewise.
55259         * lib/openat.h: Likewise.
55260         * lib/pagealign_alloc.c: Likewise.
55261         * lib/pagealign_alloc.h: Likewise.
55262         * lib/physmem.c: Likewise.
55263         * lib/physmem.h: Likewise.
55264         * lib/pipe-safer.c: Likewise.
55265         * lib/pipe.c: Likewise.
55266         * lib/pipe.h: Likewise.
55267         * lib/posixtm.c: Likewise.
55268         * lib/posixtm.h: Likewise.
55269         * lib/posixver.c: Likewise.
55270         * lib/printf-frexp.c: Likewise.
55271         * lib/printf-frexp.h: Likewise.
55272         * lib/printf-frexpl.c: Likewise.
55273         * lib/printf-frexpl.h: Likewise.
55274         * lib/printf.c: Likewise.
55275         * lib/progname.c: Likewise.
55276         * lib/progname.h: Likewise.
55277         * lib/progreloc.c: Likewise.
55278         * lib/putenv.c: Likewise.
55279         * lib/quote.c: Likewise.
55280         * lib/quote.h: Likewise.
55281         * lib/quotearg.c: Likewise.
55282         * lib/quotearg.h: Likewise.
55283         * lib/raise.c: Likewise.
55284         * lib/readline.c: Likewise.
55285         * lib/readline.h: Likewise.
55286         * lib/readlink.c: Likewise.
55287         * lib/readtokens.c: Likewise.
55288         * lib/readtokens.h: Likewise.
55289         * lib/readtokens0.c: Likewise.
55290         * lib/readtokens0.h: Likewise.
55291         * lib/readutmp.c: Likewise.
55292         * lib/readutmp.h: Likewise.
55293         * lib/realloc.c: Likewise.
55294         * lib/relocwrapper.c: Likewise.
55295         * lib/rename-dest-slash.c: Likewise.
55296         * lib/rename.c: Likewise.
55297         * lib/rmdir.c: Likewise.
55298         * lib/rpmatch.c: Likewise.
55299         * lib/safe-read.c: Likewise.
55300         * lib/safe-read.h: Likewise.
55301         * lib/safe-write.c: Likewise.
55302         * lib/safe-write.h: Likewise.
55303         * lib/same-inode.h: Likewise.
55304         * lib/same.c: Likewise.
55305         * lib/same.h: Likewise.
55306         * lib/save-cwd.c: Likewise.
55307         * lib/save-cwd.h: Likewise.
55308         * lib/savedir.c: Likewise.
55309         * lib/savedir.h: Likewise.
55310         * lib/savewd.c: Likewise.
55311         * lib/savewd.h: Likewise.
55312         * lib/search.in.h: Likewise.
55313         * lib/setenv.c: Likewise.
55314         * lib/setenv.h: Likewise.
55315         * lib/settime.c: Likewise.
55316         * lib/sh-quote.c: Likewise.
55317         * lib/sh-quote.h: Likewise.
55318         * lib/sig2str.c: Likewise.
55319         * lib/sig2str.h: Likewise.
55320         * lib/signal.in.h: Likewise.
55321         * lib/signbitd.c: Likewise.
55322         * lib/signbitf.c: Likewise.
55323         * lib/signbitl.c: Likewise.
55324         * lib/sigprocmask.c: Likewise.
55325         * lib/sincosl.c: Likewise.
55326         * lib/sleep.c: Likewise.
55327         * lib/sprintf.c: Likewise.
55328         * lib/sqrtl.c: Likewise.
55329         * lib/stat-time.h: Likewise.
55330         * lib/stdio--.h: Likewise.
55331         * lib/stdio-safer.h: Likewise.
55332         * lib/stdlib--.h: Likewise.
55333         * lib/stdlib-safer.h: Likewise.
55334         * lib/stdlib.in.h: Likewise.
55335         * lib/stpcpy.c: Likewise.
55336         * lib/stpncpy.c: Likewise.
55337         * lib/strchrnul.c: Likewise.
55338         * lib/strcspn.c: Likewise.
55339         * lib/strerror.c: Likewise.
55340         * lib/strftime.c: Likewise.
55341         * lib/strftime.h: Likewise.
55342         * lib/striconveh.c: Likewise.
55343         * lib/striconveh.h: Likewise.
55344         * lib/striconveha.c: Likewise.
55345         * lib/striconveha.h: Likewise.
55346         * lib/stripslash.c: Likewise.
55347         * lib/strnlen1.c: Likewise.
55348         * lib/strnlen1.h: Likewise.
55349         * lib/strtod.c: Likewise.
55350         * lib/strtoimax.c: Likewise.
55351         * lib/strtok_r.c: Likewise.
55352         * lib/strtol.c: Likewise.
55353         * lib/strtoll.c: Likewise.
55354         * lib/strtoul.c: Likewise.
55355         * lib/strtoull.c: Likewise.
55356         * lib/sysexits.in.h: Likewise.
55357         * lib/tempname.c: Likewise.
55358         * lib/tempname.h: Likewise.
55359         * lib/timespec.h: Likewise.
55360         * lib/tls.c: Likewise.
55361         * lib/tls.h: Likewise.
55362         * lib/tmpdir.c: Likewise.
55363         * lib/tmpdir.h: Likewise.
55364         * lib/tmpfile-safer.c: Likewise.
55365         * lib/tmpfile.c: Likewise.
55366         * lib/trigl.c: Likewise.
55367         * lib/trigl.h: Likewise.
55368         * lib/trim.c: Likewise.
55369         * lib/trim.h: Likewise.
55370         * lib/trunc.c: Likewise.
55371         * lib/truncf.c: Likewise.
55372         * lib/truncl.c: Likewise.
55373         * lib/tsearch.c: Likewise.
55374         * lib/unicodeio.c: Likewise.
55375         * lib/unicodeio.h: Likewise.
55376         * lib/unistd--.h: Likewise.
55377         * lib/unistd-safer.h: Likewise.
55378         * lib/unistdio/ulc-fprintf.c: Likewise.
55379         * lib/unistdio/ulc-vfprintf.c: Likewise.
55380         * lib/unlinkdir.c: Likewise.
55381         * lib/unlinkdir.h: Likewise.
55382         * lib/unlocked-io.h: Likewise.
55383         * lib/unsetenv.c: Likewise.
55384         * lib/userspec.c: Likewise.
55385         * lib/utime.c: Likewise.
55386         * lib/utimecmp.c: Likewise.
55387         * lib/utimecmp.h: Likewise.
55388         * lib/utimens.c: Likewise.
55389         * lib/verify.h: Likewise.
55390         * lib/verror.c: Likewise.
55391         * lib/verror.h: Likewise.
55392         * lib/version-etc-fsf.c: Likewise.
55393         * lib/version-etc.c: Likewise.
55394         * lib/version-etc.h: Likewise.
55395         * lib/vfprintf.c: Likewise.
55396         * lib/vprintf.c: Likewise.
55397         * lib/vsprintf.c: Likewise.
55398         * lib/w32spawn.h: Likewise.
55399         * lib/wait-process.c: Likewise.
55400         * lib/wait-process.h: Likewise.
55401         * lib/wcwidth.c: Likewise.
55402         * lib/write-any-file.c: Likewise.
55403         * lib/xalloc-die.c: Likewise.
55404         * lib/xalloc.h: Likewise.
55405         * lib/xasprintf.c: Likewise.
55406         * lib/xgetcwd.c: Likewise.
55407         * lib/xgetcwd.h: Likewise.
55408         * lib/xgetdomainname.c: Likewise.
55409         * lib/xgetdomainname.h: Likewise.
55410         * lib/xgethostname.c: Likewise.
55411         * lib/xmalloc.c: Likewise.
55412         * lib/xmalloca.c: Likewise.
55413         * lib/xmalloca.h: Likewise.
55414         * lib/xmemcoll.c: Likewise.
55415         * lib/xnanosleep.c: Likewise.
55416         * lib/xreadlink.c: Likewise.
55417         * lib/xreadlink.h: Likewise.
55418         * lib/xsetenv.c: Likewise.
55419         * lib/xsetenv.h: Likewise.
55420         * lib/xstriconv.c: Likewise.
55421         * lib/xstriconv.h: Likewise.
55422         * lib/xstrndup.c: Likewise.
55423         * lib/xstrndup.h: Likewise.
55424         * lib/xstrtod.c: Likewise.
55425         * lib/xstrtod.h: Likewise.
55426         * lib/xstrtol-error.c: Likewise.
55427         * lib/xstrtol.c: Likewise.
55428         * lib/xstrtol.h: Likewise.
55429         * lib/xtime.h: Likewise.
55430         * lib/xvasprintf.c: Likewise.
55431         * lib/xvasprintf.h: Likewise.
55432         * lib/yesno.c: Likewise.
55433         * lib/yesno.h: Likewise.
55434         * posix-modules: Likewise.
55435         * tests/test-alloca-opt.c: Likewise.
55436         * tests/test-arcfour.c: Likewise.
55437         * tests/test-arctwo.c: Likewise.
55438         * tests/test-argmatch.c: Likewise.
55439         * tests/test-argp-2.sh: Likewise.
55440         * tests/test-argp.c: Likewise.
55441         * tests/test-arpa_inet.c: Likewise.
55442         * tests/test-array_list.c: Likewise.
55443         * tests/test-array_oset.c: Likewise.
55444         * tests/test-atexit.c: Likewise.
55445         * tests/test-avltree_list.c: Likewise.
55446         * tests/test-avltree_oset.c: Likewise.
55447         * tests/test-avltreehash_list.c: Likewise.
55448         * tests/test-base64.c: Likewise.
55449         * tests/test-binary-io.c: Likewise.
55450         * tests/test-byteswap.c: Likewise.
55451         * tests/test-c-ctype.c: Likewise.
55452         * tests/test-c-strcasecmp.c: Likewise.
55453         * tests/test-c-strcasestr.c: Likewise.
55454         * tests/test-c-strncasecmp.c: Likewise.
55455         * tests/test-c-strstr.c: Likewise.
55456         * tests/test-canonicalize-lgpl.c: Likewise.
55457         * tests/test-canonicalize.c: Likewise.
55458         * tests/test-carray_list.c: Likewise.
55459         * tests/test-ceilf.c: Likewise.
55460         * tests/test-ceill.c: Likewise.
55461         * tests/test-count-one-bits.c: Likewise.
55462         * tests/test-crc.c: Likewise.
55463         * tests/test-dirname.c: Likewise.
55464         * tests/test-fbufmode.c: Likewise.
55465         * tests/test-fcntl.c: Likewise.
55466         * tests/test-fflush.c: Likewise.
55467         * tests/test-floorf.c: Likewise.
55468         * tests/test-floorl.c: Likewise.
55469         * tests/test-fopen.c: Likewise.
55470         * tests/test-fprintf-posix.c: Likewise.
55471         * tests/test-fprintf-posix.h: Likewise.
55472         * tests/test-fpurge.c: Likewise.
55473         * tests/test-freadable.c: Likewise.
55474         * tests/test-freadahead.c: Likewise.
55475         * tests/test-freading.c: Likewise.
55476         * tests/test-freopen.c: Likewise.
55477         * tests/test-frexp.c: Likewise.
55478         * tests/test-frexpl.c: Likewise.
55479         * tests/test-fseek.c: Likewise.
55480         * tests/test-fseeko.c: Likewise.
55481         * tests/test-fseterr.c: Likewise.
55482         * tests/test-fstrcmp.c: Likewise.
55483         * tests/test-ftell.c: Likewise.
55484         * tests/test-ftello.c: Likewise.
55485         * tests/test-fwritable.c: Likewise.
55486         * tests/test-fwriting.c: Likewise.
55487         * tests/test-getaddrinfo.c: Likewise.
55488         * tests/test-getpass.c: Likewise.
55489         * tests/test-gettimeofday.c: Likewise.
55490         * tests/test-hmac-md5.c: Likewise.
55491         * tests/test-hmac-sha1.c: Likewise.
55492         * tests/test-iconv.c: Likewise.
55493         * tests/test-iconvme.c: Likewise.
55494         * tests/test-inttypes.c: Likewise.
55495         * tests/test-isnan.c: Likewise.
55496         * tests/test-isnanf.c: Likewise.
55497         * tests/test-isnanl-nolibm.c: Likewise.
55498         * tests/test-isnanl.c: Likewise.
55499         * tests/test-isnanl.h: Likewise.
55500         * tests/test-ldexpl.c: Likewise.
55501         * tests/test-linked_list.c: Likewise.
55502         * tests/test-linkedhash_list.c: Likewise.
55503         * tests/test-locale.c: Likewise.
55504         * tests/test-localename.c: Likewise.
55505         * tests/test-lock.c: Likewise.
55506         * tests/test-lseek.c: Likewise.
55507         * tests/test-malloca.c: Likewise.
55508         * tests/test-math.c: Likewise.
55509         * tests/test-mbscasecmp.c: Likewise.
55510         * tests/test-mbscasestr1.c: Likewise.
55511         * tests/test-mbscasestr2.c: Likewise.
55512         * tests/test-mbscasestr3.c: Likewise.
55513         * tests/test-mbscasestr4.c: Likewise.
55514         * tests/test-mbschr.c: Likewise.
55515         * tests/test-mbscspn.c: Likewise.
55516         * tests/test-mbsncasecmp.c: Likewise.
55517         * tests/test-mbspbrk.c: Likewise.
55518         * tests/test-mbspcasecmp.c: Likewise.
55519         * tests/test-mbsrchr.c: Likewise.
55520         * tests/test-mbsspn.c: Likewise.
55521         * tests/test-mbsstr1.c: Likewise.
55522         * tests/test-mbsstr2.c: Likewise.
55523         * tests/test-mbsstr3.c: Likewise.
55524         * tests/test-md5.c: Likewise.
55525         * tests/test-memmem.c: Likewise.
55526         * tests/test-netinet_in.c: Likewise.
55527         * tests/test-open.c: Likewise.
55528         * tests/test-printf-frexp.c: Likewise.
55529         * tests/test-printf-frexpl.c: Likewise.
55530         * tests/test-printf-posix.c: Likewise.
55531         * tests/test-printf-posix.h: Likewise.
55532         * tests/test-rbtree_list.c: Likewise.
55533         * tests/test-rbtree_oset.c: Likewise.
55534         * tests/test-rbtreehash_list.c: Likewise.
55535         * tests/test-read-file.c: Likewise.
55536         * tests/test-rijndael.c: Likewise.
55537         * tests/test-search.c: Likewise.
55538         * tests/test-signbit.c: Likewise.
55539         * tests/test-sleep.c: Likewise.
55540         * tests/test-snprintf-posix.c: Likewise.
55541         * tests/test-snprintf-posix.h: Likewise.
55542         * tests/test-snprintf.c: Likewise.
55543         * tests/test-sprintf-posix.c: Likewise.
55544         * tests/test-sprintf-posix.h: Likewise.
55545         * tests/test-stat-time.c: Likewise.
55546         * tests/test-stdbool.c: Likewise.
55547         * tests/test-stdint.c: Likewise.
55548         * tests/test-stdio.c: Likewise.
55549         * tests/test-stdlib.c: Likewise.
55550         * tests/test-stpncpy.c: Likewise.
55551         * tests/test-strcasestr.c: Likewise.
55552         * tests/test-striconv.c: Likewise.
55553         * tests/test-striconveh.c: Likewise.
55554         * tests/test-striconveha.c: Likewise.
55555         * tests/test-string.c: Likewise.
55556         * tests/test-sys_select.c: Likewise.
55557         * tests/test-sys_socket.c: Likewise.
55558         * tests/test-sys_stat.c: Likewise.
55559         * tests/test-sys_time.c: Likewise.
55560         * tests/test-sysexits.c: Likewise.
55561         * tests/test-time.c: Likewise.
55562         * tests/test-tls.c: Likewise.
55563         * tests/test-trunc.c: Likewise.
55564         * tests/test-truncf.c: Likewise.
55565         * tests/test-truncl.c: Likewise.
55566         * tests/test-unistd.c: Likewise.
55567         * tests/test-vasnprintf-posix.c: Likewise.
55568         * tests/test-vasnprintf-posix2.c: Likewise.
55569         * tests/test-vasnprintf.c: Likewise.
55570         * tests/test-vasprintf-posix.c: Likewise.
55571         * tests/test-vasprintf.c: Likewise.
55572         * tests/test-verify.c: Likewise.
55573         * tests/test-vfprintf-posix.c: Likewise.
55574         * tests/test-vprintf-posix.c: Likewise.
55575         * tests/test-vsnprintf-posix.c: Likewise.
55576         * tests/test-vsnprintf.c: Likewise.
55577         * tests/test-vsprintf-posix.c: Likewise.
55578         * tests/test-wchar.c: Likewise.
55579         * tests/test-wctype.c: Likewise.
55580         * tests/test-wcwidth.c: Likewise.
55581         * tests/test-xstrtol.c: Likewise.
55582         * tests/test-xvasprintf.c: Likewise.
55583         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
55584         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
55585         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55586         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55587         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55588         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
55589         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55590         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55591         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55592         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
55593         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55594         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55595         * tests/uniname/test-uninames.c: Likewise.
55596         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
55597         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
55598         * tests/unistdio/test-u16-printf1.h: Likewise.
55599         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
55600         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
55601         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
55602         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
55603         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
55604         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
55605         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
55606         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
55607         * tests/unistdio/test-u32-printf1.h: Likewise.
55608         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
55609         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
55610         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
55611         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
55612         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
55613         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
55614         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
55615         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
55616         * tests/unistdio/test-u8-printf1.h: Likewise.
55617         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
55618         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
55619         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
55620         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
55621         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
55622         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
55623         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
55624         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
55625         * tests/unistdio/test-ulc-printf1.h: Likewise.
55626         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
55627         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
55628         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
55629         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
55630         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
55631         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
55632         * tests/uniwidth/test-u16-strwidth.c: Likewise.
55633         * tests/uniwidth/test-u16-width.c: Likewise.
55634         * tests/uniwidth/test-u32-strwidth.c: Likewise.
55635         * tests/uniwidth/test-u32-width.c: Likewise.
55636         * tests/uniwidth/test-u8-strwidth.c: Likewise.
55637         * tests/uniwidth/test-u8-width.c: Likewise.
55638         * tests/uniwidth/test-uc_width.c: Likewise.
55639         * config/srclist-update: Likewise.
55640         (fixlicense): Update to GPLv3+.
55641
55642         Change copyright notice from LGPLv2.1+ to LGPLv3+.
55643         * tests/test-tsearch.c: Change copyright notice.
55644
55645         Change copyright notice from LGPLv2.0+ to LGPLv3+.
55646         * lib/c-strcaseeq.h: Change copyright notice.
55647         * lib/streq.h: Likewise.
55648         * lib/uniconv.h: Likewise.
55649         * lib/uniconv/u-conv-from-enc.h: Likewise.
55650         * lib/uniconv/u-conv-to-enc.h: Likewise.
55651         * lib/uniconv/u-strconv-from-enc.h: Likewise.
55652         * lib/uniconv/u-strconv-to-enc.h: Likewise.
55653         * lib/uniconv/u16-conv-from-enc.c: Likewise.
55654         * lib/uniconv/u16-conv-to-enc.c: Likewise.
55655         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
55656         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
55657         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
55658         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
55659         * lib/uniconv/u32-conv-from-enc.c: Likewise.
55660         * lib/uniconv/u32-conv-to-enc.c: Likewise.
55661         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
55662         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
55663         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
55664         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
55665         * lib/uniconv/u8-conv-from-enc.c: Likewise.
55666         * lib/uniconv/u8-conv-to-enc.c: Likewise.
55667         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
55668         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
55669         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
55670         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
55671         * lib/uniname.h: Likewise.
55672         * lib/uniname/uniname.c: Likewise.
55673         * lib/unistdio.h: Likewise.
55674         * lib/unistdio/u-asnprintf.h: Likewise.
55675         * lib/unistdio/u-asprintf.h: Likewise.
55676         * lib/unistdio/u-printf-args.c: Likewise.
55677         * lib/unistdio/u-printf-args.h: Likewise.
55678         * lib/unistdio/u-printf-parse.h: Likewise.
55679         * lib/unistdio/u-snprintf.h: Likewise.
55680         * lib/unistdio/u-sprintf.h: Likewise.
55681         * lib/unistdio/u-vasprintf.h: Likewise.
55682         * lib/unistdio/u-vsnprintf.h: Likewise.
55683         * lib/unistdio/u-vsprintf.h: Likewise.
55684         * lib/unistdio/u16-asnprintf.c: Likewise.
55685         * lib/unistdio/u16-asprintf.c: Likewise.
55686         * lib/unistdio/u16-printf-parse.c: Likewise.
55687         * lib/unistdio/u16-snprintf.c: Likewise.
55688         * lib/unistdio/u16-sprintf.c: Likewise.
55689         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
55690         * lib/unistdio/u16-u16-asprintf.c: Likewise.
55691         * lib/unistdio/u16-u16-snprintf.c: Likewise.
55692         * lib/unistdio/u16-u16-sprintf.c: Likewise.
55693         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
55694         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
55695         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
55696         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
55697         * lib/unistdio/u16-vasnprintf.c: Likewise.
55698         * lib/unistdio/u16-vasprintf.c: Likewise.
55699         * lib/unistdio/u16-vsnprintf.c: Likewise.
55700         * lib/unistdio/u16-vsprintf.c: Likewise.
55701         * lib/unistdio/u32-asnprintf.c: Likewise.
55702         * lib/unistdio/u32-asprintf.c: Likewise.
55703         * lib/unistdio/u32-printf-parse.c: Likewise.
55704         * lib/unistdio/u32-snprintf.c: Likewise.
55705         * lib/unistdio/u32-sprintf.c: Likewise.
55706         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
55707         * lib/unistdio/u32-u32-asprintf.c: Likewise.
55708         * lib/unistdio/u32-u32-snprintf.c: Likewise.
55709         * lib/unistdio/u32-u32-sprintf.c: Likewise.
55710         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
55711         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
55712         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
55713         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
55714         * lib/unistdio/u32-vasnprintf.c: Likewise.
55715         * lib/unistdio/u32-vasprintf.c: Likewise.
55716         * lib/unistdio/u32-vsnprintf.c: Likewise.
55717         * lib/unistdio/u32-vsprintf.c: Likewise.
55718         * lib/unistdio/u8-asnprintf.c: Likewise.
55719         * lib/unistdio/u8-asprintf.c: Likewise.
55720         * lib/unistdio/u8-printf-parse.c: Likewise.
55721         * lib/unistdio/u8-snprintf.c: Likewise.
55722         * lib/unistdio/u8-sprintf.c: Likewise.
55723         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
55724         * lib/unistdio/u8-u8-asprintf.c: Likewise.
55725         * lib/unistdio/u8-u8-snprintf.c: Likewise.
55726         * lib/unistdio/u8-u8-sprintf.c: Likewise.
55727         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
55728         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
55729         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
55730         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
55731         * lib/unistdio/u8-vasnprintf.c: Likewise.
55732         * lib/unistdio/u8-vasprintf.c: Likewise.
55733         * lib/unistdio/u8-vsnprintf.c: Likewise.
55734         * lib/unistdio/u8-vsprintf.c: Likewise.
55735         * lib/unistdio/ulc-asnprintf.c: Likewise.
55736         * lib/unistdio/ulc-asprintf.c: Likewise.
55737         * lib/unistdio/ulc-printf-parse.c: Likewise.
55738         * lib/unistdio/ulc-snprintf.c: Likewise.
55739         * lib/unistdio/ulc-sprintf.c: Likewise.
55740         * lib/unistdio/ulc-vasnprintf.c: Likewise.
55741         * lib/unistdio/ulc-vasprintf.c: Likewise.
55742         * lib/unistdio/ulc-vsnprintf.c: Likewise.
55743         * lib/unistdio/ulc-vsprintf.c: Likewise.
55744         * lib/unistr.h: Likewise.
55745         * lib/unistr/u-cpy-alloc.h: Likewise.
55746         * lib/unistr/u-cpy.h: Likewise.
55747         * lib/unistr/u-endswith.h: Likewise.
55748         * lib/unistr/u-move.h: Likewise.
55749         * lib/unistr/u-set.h: Likewise.
55750         * lib/unistr/u-startswith.h: Likewise.
55751         * lib/unistr/u-stpcpy.h: Likewise.
55752         * lib/unistr/u-stpncpy.h: Likewise.
55753         * lib/unistr/u-strcat.h: Likewise.
55754         * lib/unistr/u-strcpy.h: Likewise.
55755         * lib/unistr/u-strcspn.h: Likewise.
55756         * lib/unistr/u-strdup.h: Likewise.
55757         * lib/unistr/u-strlen.h: Likewise.
55758         * lib/unistr/u-strncat.h: Likewise.
55759         * lib/unistr/u-strncpy.h: Likewise.
55760         * lib/unistr/u-strnlen.h: Likewise.
55761         * lib/unistr/u-strpbrk.h: Likewise.
55762         * lib/unistr/u-strspn.h: Likewise.
55763         * lib/unistr/u-strstr.h: Likewise.
55764         * lib/unistr/u-strtok.h: Likewise.
55765         * lib/unistr/u16-check.c: Likewise.
55766         * lib/unistr/u16-chr.c: Likewise.
55767         * lib/unistr/u16-cmp.c: Likewise.
55768         * lib/unistr/u16-cpy-alloc.c: Likewise.
55769         * lib/unistr/u16-cpy.c: Likewise.
55770         * lib/unistr/u16-endswith.c: Likewise.
55771         * lib/unistr/u16-mblen.c: Likewise.
55772         * lib/unistr/u16-mbsnlen.c: Likewise.
55773         * lib/unistr/u16-mbtouc-aux.c: Likewise.
55774         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
55775         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
55776         * lib/unistr/u16-mbtouc.c: Likewise.
55777         * lib/unistr/u16-mbtoucr.c: Likewise.
55778         * lib/unistr/u16-move.c: Likewise.
55779         * lib/unistr/u16-next.c: Likewise.
55780         * lib/unistr/u16-prev.c: Likewise.
55781         * lib/unistr/u16-set.c: Likewise.
55782         * lib/unistr/u16-startswith.c: Likewise.
55783         * lib/unistr/u16-stpcpy.c: Likewise.
55784         * lib/unistr/u16-stpncpy.c: Likewise.
55785         * lib/unistr/u16-strcat.c: Likewise.
55786         * lib/unistr/u16-strchr.c: Likewise.
55787         * lib/unistr/u16-strcmp.c: Likewise.
55788         * lib/unistr/u16-strcpy.c: Likewise.
55789         * lib/unistr/u16-strcspn.c: Likewise.
55790         * lib/unistr/u16-strdup.c: Likewise.
55791         * lib/unistr/u16-strlen.c: Likewise.
55792         * lib/unistr/u16-strmblen.c: Likewise.
55793         * lib/unistr/u16-strmbtouc.c: Likewise.
55794         * lib/unistr/u16-strncat.c: Likewise.
55795         * lib/unistr/u16-strncmp.c: Likewise.
55796         * lib/unistr/u16-strncpy.c: Likewise.
55797         * lib/unistr/u16-strnlen.c: Likewise.
55798         * lib/unistr/u16-strpbrk.c: Likewise.
55799         * lib/unistr/u16-strrchr.c: Likewise.
55800         * lib/unistr/u16-strspn.c: Likewise.
55801         * lib/unistr/u16-strstr.c: Likewise.
55802         * lib/unistr/u16-strtok.c: Likewise.
55803         * lib/unistr/u16-to-u32.c: Likewise.
55804         * lib/unistr/u16-to-u8.c: Likewise.
55805         * lib/unistr/u16-uctomb-aux.c: Likewise.
55806         * lib/unistr/u16-uctomb.c: Likewise.
55807         * lib/unistr/u32-check.c: Likewise.
55808         * lib/unistr/u32-chr.c: Likewise.
55809         * lib/unistr/u32-cmp.c: Likewise.
55810         * lib/unistr/u32-cpy-alloc.c: Likewise.
55811         * lib/unistr/u32-cpy.c: Likewise.
55812         * lib/unistr/u32-endswith.c: Likewise.
55813         * lib/unistr/u32-mblen.c: Likewise.
55814         * lib/unistr/u32-mbsnlen.c: Likewise.
55815         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
55816         * lib/unistr/u32-mbtouc.c: Likewise.
55817         * lib/unistr/u32-mbtoucr.c: Likewise.
55818         * lib/unistr/u32-move.c: Likewise.
55819         * lib/unistr/u32-next.c: Likewise.
55820         * lib/unistr/u32-prev.c: Likewise.
55821         * lib/unistr/u32-set.c: Likewise.
55822         * lib/unistr/u32-startswith.c: Likewise.
55823         * lib/unistr/u32-stpcpy.c: Likewise.
55824         * lib/unistr/u32-stpncpy.c: Likewise.
55825         * lib/unistr/u32-strcat.c: Likewise.
55826         * lib/unistr/u32-strchr.c: Likewise.
55827         * lib/unistr/u32-strcmp.c: Likewise.
55828         * lib/unistr/u32-strcpy.c: Likewise.
55829         * lib/unistr/u32-strcspn.c: Likewise.
55830         * lib/unistr/u32-strdup.c: Likewise.
55831         * lib/unistr/u32-strlen.c: Likewise.
55832         * lib/unistr/u32-strmblen.c: Likewise.
55833         * lib/unistr/u32-strmbtouc.c: Likewise.
55834         * lib/unistr/u32-strncat.c: Likewise.
55835         * lib/unistr/u32-strncmp.c: Likewise.
55836         * lib/unistr/u32-strncpy.c: Likewise.
55837         * lib/unistr/u32-strnlen.c: Likewise.
55838         * lib/unistr/u32-strpbrk.c: Likewise.
55839         * lib/unistr/u32-strrchr.c: Likewise.
55840         * lib/unistr/u32-strspn.c: Likewise.
55841         * lib/unistr/u32-strstr.c: Likewise.
55842         * lib/unistr/u32-strtok.c: Likewise.
55843         * lib/unistr/u32-to-u16.c: Likewise.
55844         * lib/unistr/u32-to-u8.c: Likewise.
55845         * lib/unistr/u32-uctomb.c: Likewise.
55846         * lib/unistr/u8-check.c: Likewise.
55847         * lib/unistr/u8-chr.c: Likewise.
55848         * lib/unistr/u8-cmp.c: Likewise.
55849         * lib/unistr/u8-cpy-alloc.c: Likewise.
55850         * lib/unistr/u8-cpy.c: Likewise.
55851         * lib/unistr/u8-endswith.c: Likewise.
55852         * lib/unistr/u8-mblen.c: Likewise.
55853         * lib/unistr/u8-mbsnlen.c: Likewise.
55854         * lib/unistr/u8-mbtouc-aux.c: Likewise.
55855         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
55856         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
55857         * lib/unistr/u8-mbtouc.c: Likewise.
55858         * lib/unistr/u8-mbtoucr.c: Likewise.
55859         * lib/unistr/u8-move.c: Likewise.
55860         * lib/unistr/u8-next.c: Likewise.
55861         * lib/unistr/u8-prev.c: Likewise.
55862         * lib/unistr/u8-set.c: Likewise.
55863         * lib/unistr/u8-startswith.c: Likewise.
55864         * lib/unistr/u8-stpcpy.c: Likewise.
55865         * lib/unistr/u8-stpncpy.c: Likewise.
55866         * lib/unistr/u8-strcat.c: Likewise.
55867         * lib/unistr/u8-strchr.c: Likewise.
55868         * lib/unistr/u8-strcmp.c: Likewise.
55869         * lib/unistr/u8-strcpy.c: Likewise.
55870         * lib/unistr/u8-strcspn.c: Likewise.
55871         * lib/unistr/u8-strdup.c: Likewise.
55872         * lib/unistr/u8-strlen.c: Likewise.
55873         * lib/unistr/u8-strmblen.c: Likewise.
55874         * lib/unistr/u8-strmbtouc.c: Likewise.
55875         * lib/unistr/u8-strncat.c: Likewise.
55876         * lib/unistr/u8-strncmp.c: Likewise.
55877         * lib/unistr/u8-strncpy.c: Likewise.
55878         * lib/unistr/u8-strnlen.c: Likewise.
55879         * lib/unistr/u8-strpbrk.c: Likewise.
55880         * lib/unistr/u8-strrchr.c: Likewise.
55881         * lib/unistr/u8-strspn.c: Likewise.
55882         * lib/unistr/u8-strstr.c: Likewise.
55883         * lib/unistr/u8-strtok.c: Likewise.
55884         * lib/unistr/u8-to-u16.c: Likewise.
55885         * lib/unistr/u8-to-u32.c: Likewise.
55886         * lib/unistr/u8-uctomb-aux.c: Likewise.
55887         * lib/unistr/u8-uctomb.c: Likewise.
55888         * lib/unitypes.h: Likewise.
55889         * lib/uniwidth.h: Likewise.
55890         * lib/uniwidth/cjk.h: Likewise.
55891         * lib/uniwidth/u16-strwidth.c: Likewise.
55892         * lib/uniwidth/u16-width.c: Likewise.
55893         * lib/uniwidth/u32-strwidth.c: Likewise.
55894         * lib/uniwidth/u32-width.c: Likewise.
55895         * lib/uniwidth/u8-strwidth.c: Likewise.
55896         * lib/uniwidth/u8-width.c: Likewise.
55897         * lib/uniwidth/width.c: Likewise.
55898
55899 2007-10-07  Bruno Haible  <bruno@clisp.org>
55900
55901         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
55902         The file is still under LGPL (see modules/inttypes).
55903
55904 2007-10-06  Bruno Haible  <bruno@clisp.org>
55905
55906         * modules/trunc (Dependencies): Add 'extensions'.
55907         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
55908         Reported by Ben Pfaff <blp@gnu.org>.
55909
55910 2007-10-06  Bruno Haible  <bruno@clisp.org>
55911
55912         * modules/freopen-tests: New file.
55913         * tests/test-freopen.c: New file.
55914
55915         * modules/fopen-tests: New file.
55916         * tests/test-fopen.c: New file.
55917
55918         * modules/fopen: New file.
55919         * lib/fopen.c: New file.
55920         * m4/fopen.m4: New file.
55921         * modules/freopen: New file.
55922         * lib/freopen.c: New file.
55923         * m4/freopen.m4: New file.
55924         * lib/stdio.in.h (fopen, freopen): New declarations.
55925         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
55926         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55927         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
55928         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
55929         * doc/functions/fopen.texi: Mention the 'fopen' module.
55930         * doc/functions/freopen.texi: Mention the 'freopen' module.
55931
55932 2007-10-06  Bruno Haible  <bruno@clisp.org>
55933
55934         * modules/open-tests: New file.
55935         * tests/test-open.c: New file.
55936
55937         * modules/open: New file.
55938         * lib/open.c: New file.
55939         * m4/open.m4: New file.
55940         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
55941         lib/open.c does.
55942         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
55943         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
55944         macros.
55945         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
55946         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
55947         REPLACE_OPEN.
55948         * doc/functions/open.texi: Mention the 'open' module.
55949
55950 2007-10-04  Bruno Haible  <bruno@clisp.org>
55951
55952         * modules/ceill-tests: New file.
55953         * tests/test-ceill.c: New file.
55954
55955         * modules/ceill: New file.
55956         * lib/ceill.c: Replace entire file.
55957         * m4/ceill.m4: New file.
55958         * lib/math.in.h (ceill): Replace declaration.
55959         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
55960         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
55961         * doc/functions/ceill.texi: Mention the 'ceill' module.
55962         * modules/mathl (Files): Remove lib/ceill.c.
55963         (Depends-on): Add ceill.
55964
55965 2007-10-04  Bruno Haible  <bruno@clisp.org>
55966
55967         * modules/ceilf-tests: New file.
55968         * tests/test-ceilf.c: New file.
55969
55970         * modules/ceilf: New file.
55971         * lib/ceil.c: New file.
55972         * lib/ceilf.c: New file.
55973         * m4/ceilf.m4: New file.
55974         * lib/math.in.h (ceilf): New declaration.
55975         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
55976         HAVE_DECL_CEILF.
55977         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
55978         HAVE_DECL_CEILF.
55979         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
55980
55981 2007-10-04  Bruno Haible  <bruno@clisp.org>
55982
55983         * modules/floorl-tests: New file.
55984         * tests/test-floorl.c: New file.
55985
55986         * modules/floorl: New file.
55987         * lib/floorl.c: Replace entire file.
55988         * m4/floorl.m4: New file.
55989         * lib/math.in.h (floorl): Replace declaration.
55990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
55991         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
55992         * doc/functions/floorl.texi: Mention the 'floorl' module.
55993         * modules/mathl (Files): Remove lib/floorl.c.
55994         (Depends-on): Add floorl.
55995
55996 2007-10-04  Bruno Haible  <bruno@clisp.org>
55997
55998         * modules/floorf-tests: New file.
55999         * tests/test-floorf.c: New file.
56000
56001         * modules/floorf: New file.
56002         * lib/floor.c: New file.
56003         * lib/floorf.c: New file.
56004         * m4/floorf.m4: New file.
56005         * lib/math.in.h (floorf): New declaration.
56006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
56007         HAVE_DECL_FLOORF.
56008         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
56009         HAVE_DECL_FLOORF.
56010         * doc/functions/floorf.texi: Mention the 'floorf' module.
56011
56012 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
56013             Bruno Haible  <bruno@clisp.org>
56014
56015         Advertise for the Git server instead of the CVS server.
56016         * doc/gnulib-intro.texi (Steady Development): Mention the Git
56017         repository instead of the CVS one.
56018         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
56019         about all VCS systems generically.
56020         * doc/gnulib.texi (Introduction): Capitalize `Git'.
56021
56022 2007-10-04  Bruno Haible  <bruno@clisp.org>
56023
56024         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
56025         means.
56026         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
56027
56028 2007-10-04  Bruno Haible  <bruno@clisp.org>
56029
56030         * modules/truncl-tests: New file.
56031         * tests/test-truncl.c: New file.
56032
56033         * modules/truncl: New file.
56034         * lib/truncl.c: New file.
56035         * m4/truncl.m4: New file.
56036         * lib/math.in.h (truncl): New declaration.
56037         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
56038         HAVE_DECL_TRUNCL.
56039         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
56040         HAVE_DECL_TRUNCL.
56041         * doc/functions/truncl.texi: Mention the 'truncl' module.
56042
56043 2007-10-04  Bruno Haible  <bruno@clisp.org>
56044
56045         * modules/truncf-tests: New file.
56046         * tests/test-truncf.c: New file.
56047
56048         * modules/truncf: New file.
56049         * lib/trunc.c: Make paramerizable through USE_* macros.
56050         * lib/truncf.c: New file.
56051         * m4/truncf.m4: New file.
56052         * lib/math.in.h (truncf): New declaration.
56053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
56054         HAVE_DECL_TRUNCF.
56055         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
56056         HAVE_DECL_TRUNCF.
56057         * doc/functions/truncf.texi: Mention the 'truncf' module.
56058
56059 2007-10-03  Bruno Haible  <bruno@clisp.org>
56060
56061         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
56062         augmentation also for tests modules.
56063         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
56064         * modules/atexit-tests (Makefile.am): Likewise.
56065         * modules/binary-io-tests (Makefile.am): Likewise.
56066         * modules/c-strcase-tests (Makefile.am): Likewise.
56067         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
56068         * modules/canonicalize-tests (Makefile.am): Likewise.
56069         * modules/closein-tests (Makefile.am): Likewise.
56070         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56071         * modules/freadahead-tests (Makefile.am): Likewise.
56072         * modules/fseek-tests (Makefile.am): Likewise.
56073         * modules/fseeko-tests (Makefile.am): Likewise.
56074         * modules/ftell-tests (Makefile.am): Likewise.
56075         * modules/ftello-tests (Makefile.am): Likewise.
56076         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
56077         * modules/isnanl-tests (Makefile.am): Likewise.
56078         * modules/lseek-tests (Makefile.am): Likewise.
56079         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56080         * modules/mbscasestr-tests (Makefile.am): Likewise.
56081         * modules/mbschr-tests (Makefile.am): Likewise.
56082         * modules/mbscspn-tests (Makefile.am): Likewise.
56083         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56084         * modules/mbspbrk-tests (Makefile.am): Likewise.
56085         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56086         * modules/mbsrchr-tests (Makefile.am): Likewise.
56087         * modules/mbsspn-tests (Makefile.am): Likewise.
56088         * modules/mbsstr-tests (Makefile.am): Likewise.
56089         * modules/printf-posix-tests (Makefile.am): Likewise.
56090         * modules/snprintf-posix-tests (Makefile.am): Likewise.
56091         * modules/sprintf-posix-tests (Makefile.am): Likewise.
56092         * modules/tsearch-tests (Makefile.am): Likewise.
56093         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56094         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56095         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56096         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56097         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56098         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56099         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56100         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56101         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
56102         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
56103         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56104         * modules/xstrtol-tests (Makefile.am): Likewise.
56105         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56106         * modules/yesno-tests (Makefile.am): Likewise.
56107
56108 2007-10-03  Bruno Haible  <bruno@clisp.org>
56109
56110         * modules/trunc-tests: New file.
56111         * tests/test-trunc.c: New file.
56112
56113         * modules/trunc: New file.
56114         * lib/trunc.c: New file.
56115         * m4/trunc.m4: New file.
56116         * lib/math.in.h (trunc): New declaration.
56117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
56118         HAVE_DECL_TRUNC.
56119         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
56120         HAVE_DECL_TRUNC.
56121         * doc/functions/trunc.texi: Mention the 'trunc' module.
56122
56123 2007-10-03  Bruno Haible  <bruno@clisp.org>
56124
56125         * tests/test-fpending.c: New file, mostly copied
56126         from coreutils/lib/t-fpending.c.
56127         * modules/fpending-tests: New file.
56128
56129 2007-10-03  Bruno Haible  <bruno@clisp.org>
56130
56131         Port the stdio extensions to QNX (untested).
56132         * lib/fseterr.c (fseterr): Add support for QNX.
56133         * lib/fbufmode.c (fbufmode): Likewise.
56134         * lib/freadable.c (freadable): Likewise.
56135         * lib/fwritable.c (fwritable): Likewise.
56136         * lib/freading.c (freading): Likewise.
56137         * lib/fwriting.c (fwriting): Likewise.
56138         * lib/freadahead.c (freadahed): Likewise.
56139         * lib/fpurge.c (fpurge): Likewise.
56140         * lib/fseeko.c (rpl_fseeko): Likewise.
56141
56142 2007-10-03  Bruno Haible  <bruno@clisp.org>
56143             Jim Meyering  <jim@meyering.net>
56144             Eric Blake  <ebb9@byu.net>
56145
56146         * doc/relocatable.texi: Use @command instead of @program.
56147
56148 2007-10-02  Jim Meyering  <jim@meyering.net>
56149
56150         Perform one more "_.h" -> ".in.h" substitution.
56151         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
56152         instead of unistd_.h here, too.
56153
56154 2007-10-01  Bruno Haible  <bruno@clisp.org>
56155
56156         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
56157         Needed for the alloca-opt module.
56158
56159 2007-09-30  Bruno Haible  <bruno@clisp.org>
56160
56161         * lib/alloca.in.h: Renamed from lib/alloca_.h.
56162         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
56163         alloca_.h.
56164         * lib/argz.in.h: Renamed from lib/argz_.h.
56165         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
56166         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
56167         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
56168         byteswap_.h.
56169         * lib/dirent.in.h: Renamed from lib/dirent_.h.
56170         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
56171         dirent_.h.
56172         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
56173         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
56174         fcntl_.h.
56175         * lib/float.in.h: Renamed from lib/float_.h.
56176         * modules/float (Files, Makefile.am): Use float.in.h instead of
56177         float_.h.
56178         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
56179         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
56180         fnmatch_.h.
56181         * lib/getopt.in.h: Renamed from lib/getopt_.h.
56182         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
56183         getopt_.h.
56184         * lib/glob.in.h: Renamed from lib/glob_.h.
56185         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
56186         * lib/iconv.in.h: Renamed from lib/iconv_.h.
56187         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
56188         iconv_.h.
56189         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
56190         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
56191         inttypes_.h.
56192         * lib/locale.in.h: Renamed from lib/locale_.h.
56193         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
56194         locale_.h.
56195         * lib/math.in.h: Renamed from lib/math_.h.
56196         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
56197         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
56198         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
56199         of netinet_in_.h. Add dependency.
56200         * lib/poll.in.h: Renamed from lib/poll_.h.
56201         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
56202         * lib/search.in.h: Renamed from lib/search_.h.
56203         * modules/search (Files, Makefile.am): Use search.in.h instead of
56204         search_.h.
56205         * lib/signal.in.h: Renamed from lib/signal_.h.
56206         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
56207         _signal.h.
56208         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
56209         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
56210         stdbool_.h.
56211         * lib/stdint.in.h: Renamed from lib/stdint_.h.
56212         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
56213         stdint_.h.
56214         * lib/stdio.in.h: Renamed from lib/stdio_.h.
56215         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
56216         stdio_.h.
56217         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
56218         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
56219         stdlib_.h.
56220         * lib/string.in.h: Renamed from lib/string_.h.
56221         * modules/string (Files, Makefile.am): Use string.in.h instead of
56222         string_.h.
56223         * doc/gnulib-tool.texi (Initial import): Update.
56224         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
56225         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
56226         of sys_select_.h. Add dependency.
56227         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
56228         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
56229         of sys_socket_.h.
56230         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
56231         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
56232         sys_stat_.h.
56233         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
56234         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
56235         sys_time_.h.
56236         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
56237         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
56238         sysexits_.h.
56239         * lib/time.in.h: Renamed from lib/time_.h.
56240         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
56241         * lib/unistd.in.h: Renamed from lib/unistd_.h.
56242         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
56243         unistd_.h.
56244         * lib/wchar.in.h: Renamed from lib/wchar_.h.
56245         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
56246         wchar_.h.
56247         * lib/wctype.in.h: Renamed from lib/wctype_.h.
56248         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
56249         wctype_.h.
56250         * build-aux/bootstrap (slurp): Update.
56251         * lib/.cppi-disable: Update.
56252
56253 2007-09-30  Bruno Haible  <bruno@clisp.org>
56254
56255         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
56256         Needed on BeOS.
56257
56258 2007-09-30  Bruno Haible  <bruno@clisp.org>
56259
56260         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
56261
56262 2007-09-29  Bruno Haible  <bruno@clisp.org>
56263
56264         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
56265
56266 2007-09-29  Bruno Haible  <bruno@clisp.org>
56267
56268         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
56269         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
56270         * build-aux/install-reloc: Compile also areadlink.c.
56271         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
56272
56273 2007-09-29  Bruno Haible  <bruno@clisp.org>
56274
56275         * gnulib-tool (func_emit_initmacro_done): Indentation.
56276
56277 2007-09-29  Bruno Haible  <bruno@clisp.org>
56278
56279         * README: Add CVS checkout update instructions.
56280         Info from Bob Proulx <bob@proulx.com>.
56281
56282 2007-09-28  Eric Blake  <ebb9@byu.net>
56283
56284         Provide move-if-change.
56285         * build-aux/move-if-change: New file, based on best practice
56286         rather than any canonical upstream location.
56287
56288 2007-09-28  Jim Meyering  <jim@meyering.net>
56289
56290         Fix canonicalize loop-detection corner case.
56291         Do not attempt to stat the symlink values stored via seen_triple.
56292         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
56293         on linux-2.6.18, (but not 2.6.22).
56294         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
56295         triple_compare.  The former compares dev,ino,filename, while the latter
56296         would actually stat dirname(filename) when dev and ino were equal.
56297         * lib/hash-triple.c: Install <string.h>.
56298         (STREQ): Define.
56299         (triple_compare_ino_str): New function.
56300         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
56301
56302 2007-09-28  Eric Blake  <ebb9@byu.net>
56303
56304         Enforce that AC_REPLACE_FUNCS files exist.
56305         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
56306         override check for typos.
56307
56308         Fix test-closein on Solaris 10.
56309         * tests/test-closein.c (main): Don't assume stdin can be inherited
56310         closed on all systems.
56311         * tests/test-closein.sh: Likewise.
56312         Reported by Piotr Tarnowski.
56313
56314 2007-09-28  Jim Meyering  <jim@meyering.net>
56315
56316         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
56317
56318 2007-09-27  Jim Meyering  <jim@meyering.net>
56319
56320         canonicalize: Avoid a false-positive cycle failure.
56321         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
56322         Sort.  Remove cycle-check.
56323         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
56324         not cycle-check.h.
56325         (seen_triple): New function.
56326         (canonicalize_filename_mode): Use it instead of cycle-check.
56327         * tests/test-canonicalize.c: Add a test for this bug.
56328         * tests/test-canonicalize.sh: Set up and run the test.
56329
56330         New module, file-set, from coreutils.
56331         * modules/file-set: Define it.
56332         * lib/file-set.c, lib/file-set.h: Implement.
56333
56334         New module, hash-triple, from coreutils.
56335         * modules/hash-triple: Define it.
56336         * lib/hash-triple.c, lib/hash-triple.h: Implement.
56337
56338 2007-09-25  Eric Blake  <ebb9@byu.net>
56339
56340         Fix strerror on Interix.
56341         * lib/string_.h (strerror): Declare replacement.
56342         * doc/functions/strerror.texi (strerror): Document the Interix
56343         shortcoming.
56344         * modules/string (Makefile.am): Support new hooks.
56345         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
56346         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
56347         gl_FUNC_STRERROR_SEPARATE.
56348         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
56349         * lib/strerror.c (rpl_strerror): Provide replacement.
56350         * modules/strerror (Depends-on): Add string.
56351         (configure.ac): Detect use of module.
56352         * tests/test-strerror.c: New file.
56353         * modules/strerror-tests: New test module.
56354         * modules/argp (Depends-on): Add strerror.
56355         * modules/error (Depends-on): Likewise.
56356         Reported by Martin Koeppe.
56357
56358 2007-09-24  Bruno Haible  <bruno@clisp.org>
56359
56360         * README: Update git instructions.
56361
56362 2007-09-24  Eric Blake  <ebb9@byu.net>
56363
56364         Revert fpending breakage from 2007-09-08.
56365         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
56366         __fpending.c.
56367
56368 2007-09-24  Jim Meyering  <jim@meyering.net>
56369
56370         filenamecat.c: Add a test.
56371         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
56372         showing how the function works when DIR is the empty string.
56373
56374 2007-09-21  Simon Josefsson  <simon@josefsson.org>
56375
56376         * tests/test-canonicalize.sh: Turn on executable bit.
56377
56378 2007-09-19  Eric Blake  <ebb9@byu.net>
56379
56380         * README: Update CVS instructions.
56381
56382 2007-09-18  Bruno Haible  <bruno@clisp.org>
56383
56384         * modules/areadlink: New file.
56385         * lib/areadlink.h (areadlink): New declaration.
56386         * lib/areadlink.c: New file, based on lib/xreadlink.c.
56387
56388 2007-09-17  Jim Meyering  <jim@meyering.net>
56389
56390         * lib/savewd.c (ESTALE) [!defined]: Define.
56391         Reported to be required on Interix by Martin Koeppe.
56392
56393 2007-09-17  Bruno Haible  <bruno@clisp.org>
56394
56395         * gnulib-tool (func_version): Use $version.
56396
56397 2007-09-16  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
56400         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
56401         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
56402         Reported by Greg Schafer <gschafer@zip.com.au>.
56403
56404 2007-09-15  Bruno Haible  <bruno@clisp.org>
56405
56406         * gnulib-tool (sed): Try a little harder to make bash understand the
56407         alias.
56408         Reported by Bruce Korb <bruce.korb@gmail.com>.
56409
56410 2007-09-13  Eric Blake  <ebb9@byu.net>
56411
56412         * ChangeLog: Remove conflict markers.
56413
56414 2007-09-13  Simon Josefsson  <simon@josefsson.org>
56415
56416         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
56417         Reported by Bruno Haible <bruno@clisp.org>.
56418
56419 2007-09-12  Bruno Haible  <bruno@clisp.org>
56420
56421         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
56422         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
56423         is not defined.
56424
56425 2007-09-12  Eric Blake  <ebb9@byu.net>
56426
56427         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
56428         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
56429         Autoconf definition.
56430         * modules/euidaccess (Depends-on): Add extensions, for
56431         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
56432         * modules/fnmatch (Depends-on): Likewise.
56433         * modules/getaddrinfo (Depends-on): Likewise.
56434         * modules/getdelim (Depends-on): Likewise.
56435         * modules/getline (Depends-on): Likewise.
56436         * modules/getsubopt (Depends-on): Likewise.
56437         * modules/gettext (Depends-on): Likewise.
56438         * modules/group-member (Depends-on): Likewise.
56439         * modules/mbchar (Depends-on): Likewise.
56440         * modules/memmem (Depends-on): Likewise.
56441         * modules/mempcpy (Depends-on): Likewise.
56442         * modules/memrchr (Depends-on): Likewise.
56443         * modules/pagealign_alloc (Depends-on): Likewise.
56444         * modules/readutmp (Depends-on): Likewise.
56445         * modules/stpcpy (Depends-on): Likewise.
56446         * modules/stpncpy (Depends-on): Likewise.
56447         * modules/strchrnul (Depends-on): Likewise.
56448         * modules/strndup (Depends-on): Likewise.
56449         * modules/strsep (Depends-on): Likewise.
56450         * modules/strverscmp (Depends-on): Likewise.
56451         * modules/vasprintf (Depends-on): Likewise.
56452         * modules/wcwidth (Depends-on): Likewise.
56453         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
56454         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
56455         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
56456         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
56457         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56458         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56459         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
56460         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56461         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
56462         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56463         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56464         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
56465         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
56466         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
56467         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
56468         * m4/readutmp.m4 (gl_READUTMP): Likewise.
56469         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56470         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
56471         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56472         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
56473         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56474         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
56475         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
56476         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
56477         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
56478         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56479         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
56480         so that lock.m4 can be used in gettext without extensions module.
56481
56482 2007-09-11  Bruno Haible  <bruno@clisp.org>
56483
56484         * m4/isc-posix.m4: Remove file.
56485         Suggested by Eric Blake.
56486
56487 2007-09-11  Eric Blake  <ebb9@byu.net>
56488
56489         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
56490
56491 2007-09-10  Bruno Haible  <bruno@clisp.org>
56492
56493         * posix-modules: Fix typo in error message.
56494         Reported by Matt <mkraai@beckman.com>.
56495
56496 2007-09-09  Bruno Haible  <bruno@clisp.org>
56497
56498         * doc/functions/getdelim.texi: Update list of platforms lacking the
56499         function.
56500         * doc/functions/getline.texi: Likewise.
56501
56502 2007-09-09  Jim Meyering  <jim@meyering.net>
56503
56504         * lib/hash.c (hash_initialize): Detect calloc failure.
56505         Reported by Bruno Haible.
56506
56507 2007-09-09  Bruno Haible  <bruno@clisp.org>
56508
56509         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
56510         malloc or realloc fails.
56511
56512 2007-09-09  Bruno Haible  <bruno@clisp.org>
56513
56514         * modules/getcwd (Depends-on): Add malloc-posix.
56515         * modules/glob (Depends-on): Likewise.
56516         * modules/putenv (Depends-on): Likewise.
56517         * modules/strdup (Depends-on): Likewise.
56518         * modules/getdelim (Depends-on): Add realloc-posix.
56519         * modules/read-file (Depends-on): Likewise.
56520
56521 2007-09-09  Bruno Haible  <bruno@clisp.org>
56522
56523         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
56524         (gl_FUNC_MALLOC_POSIX): Require it.
56525         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
56526         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
56527         * modules/realloc (Files): Add m4/malloc.m4.
56528         * modules/calloc (Files): Likewise.
56529
56530 2007-09-09  Bruno Haible  <bruno@clisp.org>
56531
56532         * modules/malloc-posix: New file.
56533         * modules/malloc (Depends-on): Add malloc-posix.
56534         * lib/malloc.c: Include errno.h.
56535         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
56536         and a POSIX-compatible malloc into a single function. Set ENOMEM
56537         when returning NULL.
56538         * m4/malloc.m4: New file.
56539         * doc/functions/malloc.texi: Mention the malloc-posix module.
56540         * lib/stdlib_.h (malloc): New declaration.
56541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56542         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
56543         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
56544         and HAVE_MALLOC_POSIX.
56545
56546 2007-09-09  Bruno Haible  <bruno@clisp.org>
56547
56548         * modules/realloc-posix: New file.
56549         * modules/realloc (Depends-on): Add realloc-posix.
56550         * lib/realloc.c: Include errno.h.
56551         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
56552         and a POSIX-compatible realloc into a single function. Set ENOMEM
56553         when returning NULL.
56554         * m4/realloc.m4: New file.
56555         * doc/functions/realloc.texi: Mention the realloc-posix module.
56556         * lib/stdlib_.h (realloc): New declaration.
56557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56558         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
56559         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
56560         and HAVE_REALLOC_POSIX.
56561
56562 2007-09-09  Bruno Haible  <bruno@clisp.org>
56563
56564         * modules/calloc-posix: New file.
56565         * modules/calloc (Depends-on): Add calloc-posix.
56566         * lib/calloc.c: Include errno.h.
56567         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
56568         and a POSIX-compatible calloc into a single function. Set ENOMEM
56569         when returning NULL.
56570         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
56571         * doc/functions/calloc.texi: Mention the calloc-posix module.
56572         * lib/stdlib_.h (calloc): New declaration.
56573         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
56574         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
56575         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
56576         and HAVE_CALLOC_POSIX.
56577
56578 2007-09-09  Bruno Haible  <bruno@clisp.org>
56579
56580         Allow for modules to show an arbitrary notice.
56581         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
56582         * gnulib-tool: New option --extract-notice.
56583         (func_usage): Document it.
56584         (sed_extract_prog): Update.
56585         (func_get_notice): New function.
56586         (func_modules_notice): New function.
56587         (func_import, func_create_testdir): Invoke it.
56588         Suggested by Jim Meyering.
56589
56590 2007-09-09  Bruno Haible  <bruno@clisp.org>
56591
56592         * gnulib-tool: New options --verbose, --quiet.
56593         (func_usage): Document them.
56594         (verbose): New variable.
56595         (func_execute_command): New function.
56596         (func_import): Don't show the module list and the file list if
56597         $verbose < 0.
56598         (func_create_testdir): Likewise. Use func_execute_command.
56599         (func_create_megatestdir): Use func_execute_command.
56600
56601 2007-09-08  Bruno Haible  <bruno@clisp.org>
56602
56603         * gnulib-tool (func_import): Prefer rsync over wget when available,
56604         for fetching the PO files.
56605
56606 2007-09-08  Bruno Haible  <bruno@clisp.org>
56607
56608         * posix-modules: New file. Portions copied from gnulib-tool.
56609         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
56610
56611 2007-09-08  Jim Meyering  <jim@meyering.net>
56612
56613         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
56614         * lib/fpending.h: Rename from __fpending.h.
56615         * lib/fpending.c: Rename from __fpending.c.
56616         Include "fpending.h", not "__fpending.h".
56617         * lib/__fpending.h, lib/__fpending.c: Remove files.
56618         * modules/fpending (Files): Reflect new file names.
56619         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
56620
56621 2007-09-08  Bruno Haible  <bruno@clisp.org>
56622
56623         * m4/inttypes-h.m4: Remove stub file.
56624
56625 2007-09-07  Simon Josefsson  <simon@josefsson.org>
56626
56627         * doc/headers/stdint.texi: Discuss #include_next issue.
56628
56629 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56630
56631         * build-aux/bootstrap: Remove obsolete comment about wget --help.
56632
56633 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56634
56635         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
56636         in variable name.
56637
56638 2007-09-03  Jim Meyering  <jim@meyering.net>
56639
56640         New module: git-version-gen.
56641         * modules/git-version-gen: New file.
56642
56643         Import changes from coreutils for bootstrap script.
56644
56645         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
56646
56647         bootstrap: uses rsync to download the .po files
56648         * build-aux/bootstrap (po_download_command_format): New global.
56649         (download_po_files): Use rsync.
56650         (update_po_files): Don't remove .po files after download,
56651         so future rsync runs can take advantage of the copies.
56652
56653         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
56654
56655         Solve the unnecessary-.po-file-regeneration problem once and for all.
56656         * build-aux/bootstrap (download_po_files): New function, renamed from
56657         get_translations.  Now, downloads, but doesn't update LINGUAS.
56658         (update_po_files): New function.
56659
56660         bootstrap: Ignore more.
56661         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
56662         uniwidth to e.g., lib/.gitignore.
56663         (slurp): Handle the sys_stat_.h -> sys mapping, too.
56664
56665         * build-aux/bootstrap: New setting: vc_ignore.
56666         (insert_sorted_if_absent): Create $file if absent.
56667         Adapt to new, possibly empty, list: $vc_ignore.
56668
56669         bootstrap: generate more ignorable names
56670         * build-aux/bootstrap (slurp): When generating ignorable names,
56671         also map .sin to .sed, .gperf to .c, and .y to .c.
56672
56673 2007-09-03  Jim Meyering  <jim@meyering.net>
56674
56675         * build-aux/git-version-gen: New file, from coreutils.  For details, see
56676         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
56677
56678 2007-09-02  Bruno Haible  <bruno@clisp.org>
56679
56680         Fix mis-recognition of 'mcs' on QNX 6.
56681         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
56682         output contains the string "Mono".
56683         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
56684         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
56685
56686 2007-09-01  Bruno Haible  <bruno@clisp.org>
56687
56688         Fix collision between uniwidth/* and linebreak modules.
56689         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
56690         u32_width): Remove declarations.
56691         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
56692         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
56693         streq3, streq2, streq1, streq0): Remove functions.
56694         (STREQ): Remove macro.
56695         (is_cjk_encoding): Remove function.
56696         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
56697         (uc_width, u8_width, u16_width, u32_width): Remove functions.
56698         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
56699         * NEWS: Document the change.
56700
56701 2007-09-01  Bruno Haible  <bruno@clisp.org>
56702
56703         * lib/streq.h: Add double-inclusion guard.
56704
56705 2007-09-01  Karl Berry  <karl@gnu.org>
56706
56707         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
56708
56709 2007-08-28  Jim Meyering  <jim@meyering.net>
56710
56711         Rename mreadlink_with_size to areadlink_with_size.
56712         * NEWS: Document the change.
56713         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
56714         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
56715         * lib/mreadlink.h: Rename this to...
56716         * lib/areadlink.h: ...this.
56717         * modules/mreadlink-with-size: Rename this to...
56718         * modules/areadlink-with-size: ...this.
56719         * lib/canonicalize.c: Reflect the renaming.
56720         * modules/canonicalize: Likewise.
56721
56722 2007-08-26  Bruno Haible  <bruno@clisp.org>
56723
56724         * gnulib-tool (func_import): When deciding which files to remove,
56725         consider also dangling symbolic links.
56726         Reported by Eric Blake.
56727
56728 2007-08-26  Bruno Haible  <bruno@clisp.org>
56729
56730         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
56731
56732 2007-08-23  Simon Josefsson  <simon@josefsson.org>
56733
56734         * lib/readline.c: Don't include getline.h, the prototype is now
56735         found in stdio.h.
56736
56737 2007-08-23  Jim Meyering  <jim@meyering.net>
56738
56739         Getdelim touchup.
56740         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
56741         around the funlockfile call, since funlockfile never sets errno.
56742         Don't set errno upon failed realloc.
56743
56744 2007-08-22  Eric Blake  <ebb9@byu.net>
56745
56746         Getline touchups.
56747         * lib/getdelim.c (getdelim): Revert regression that required *n to
56748         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
56749         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
56750         getdelim, rather than whether implementation is missing.
56751         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
56752         * lib/stdio_.h (getline): Also declare if replacement is
56753         required.
56754         * doc/functions/getdelim.texi: New file.
56755         * doc/functions/getline.texi: Likewise.
56756         * doc/gnulib.texi (Function Substitutes): Add new files.
56757         Reported by Bruno Haible.
56758
56759 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
56760
56761         * users.txt: Add Guile.
56762
56763 2007-08-22  Eric Blake  <ebb9@byu.net>
56764
56765         * tests/test-getdelim.c (main): Use remove, not unlink.
56766         * tests/test-getline.c (main): Likewise.
56767
56768         Move getline and getdelim into stdio.h, per POSIX 200x.
56769         * modules/getline (Files): Remove getline.h.
56770         (Depends-on): Add stdio.
56771         (configure.ac): Add module indicator.
56772         * modules/getdelim (Files): Remove getdelim.h.
56773         (Depends-on): Add stdio.
56774         (configure.ac): Add module indicator.
56775         * modules/stdio (Makefile.am): Work with new indicators.
56776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
56777         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
56778         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56779         * lib/getdelim.h: Delete.
56780         * lib/getline.h: Delete.
56781         * lib/stdio_.h (getdelim, getline): Declare.
56782         * modules/getdelim-tests: New module.
56783         * modules/getline-tests: Likewise.
56784         * tests/test-getdelim.c: New file.
56785         * tests/test-getline.c: Likewise.
56786         * NEWS: Document the change.
56787         * lib/getline.c: Update choice of header.
56788         * lib/csharpcomp.c: Likewise.
56789         * lib/getpass.c: Likewise.
56790         * lib/javacomp.c: Likewise.
56791         * lib/javaversion.c: Likewise.
56792         * lib/yesno.c: Likewise.
56793         * lib/getdelim.c: Likewise.
56794         (getdelim): Set errno on failure, and avoid memory leak.
56795
56796 2007-08-19  Bruno Haible  <bruno@clisp.org>
56797
56798         * modules/closein (Depends-on): Add freadahead.
56799         * lib/closein.c: Include freadahead.h.
56800         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
56801         is zero.
56802
56803 2007-08-19  Bruno Haible  <bruno@clisp.org>
56804
56805         * modules/freadahead-tests: New file.
56806         * tests/test-freadahead.sh: New file.
56807         * tests/test-freadahead.c: New file.
56808
56809         * modules/freadahead: New file.
56810         * lib/freadahead.h: New file.
56811         * lib/freadahead.c: New file.
56812         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
56813         fbufmode, fpurge, freadable, fwritable.
56814
56815 2007-08-19  Eric Blake  <ebb9@byu.net>
56816
56817         Test yesno in combination with closein.
56818         * lib/yesno.c (yesno): Document use of stdin.
56819         * modules/yesno-tests (Files): New module.
56820         * tests/test-yesno.c (main): New file.
56821         * tests/test-yesno.sh: Likewise.
56822
56823 2007-08-19  Bruno Haible  <bruno@clisp.org>
56824
56825         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
56826         * lib/fseeko.c (rpl_fseeko): Likewise.
56827         * lib/fseterr.c (fseterr): Likewise.
56828
56829 2007-08-19  Bruno Haible  <bruno@clisp.org>
56830
56831         * tests/test-lseek.c (main): Disable a test for BeOS.
56832         * doc/functions/lseek.texi: Document the BeOS bug.
56833
56834 2007-08-19  Bruno Haible  <bruno@clisp.org>
56835             Eric Blake  <ebb9@byu.net>
56836
56837         * lib/lseek.c: Include <sys/stat.h>.
56838         (rpl_lseek): Add workaround code also for Unix platforms.
56839         Needed for BeOS.
56840         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
56841         * doc/functions/lseek.texi: Document BeOS definiency.
56842
56843 2007-08-18  Bruno Haible  <bruno@clisp.org>
56844
56845         * modules/fstrcmp-tests: New file.
56846         * tests/test-fstrcmp.c: New file.
56847
56848 2007-08-18  Bruno Haible  <bruno@clisp.org>
56849
56850         * modules/fstrcmp: New file, from GNU gettext with modifications.
56851         * lib/fstrcmp.h: New file, from GNU gettext.
56852         * lib/fstrcmp.c: New file, from GNU gettext.
56853         * MODULES.html.sh (String handling): Add fstrcmp.
56854
56855 2007-08-18  Bruno Haible  <bruno@clisp.org>
56856
56857         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
56858         'bool'.
56859         (diag, compareseq): Remove const from the ctxt argument.
56860         (USE_HEURISTIC): Undefine at the end.
56861
56862 2007-08-18  Jim Meyering  <jim@meyering.net>
56863
56864         New file: lib/idcache.h
56865         * NEWS: Mention the addition.
56866         * modules/idcache (Files): Add lib/idcache.h
56867         * lib/idcache.c: Include "idcache.h".
56868         Don't include <sys/types.h>.
56869         Add a FIXME comment.
56870         Move file-scoped "static" declarations to the top.
56871         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
56872
56873 2007-08-17  Bruno Haible  <bruno@clisp.org>
56874         and Paul Eggert  <eggert@cs.ucla.edu>
56875
56876         * MODULES.html.sh: Add diffseq.
56877         * modules/diffseq: New file.
56878         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
56879         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
56880
56881 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56882
56883         Import changes from coreutils for bootstrap script.
56884
56885         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
56886
56887         * build-aux/bootstrap (slurp): Work even in environments where
56888         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
56889         current code does not slurp files whose names start with ".", and
56890         this looks like it might be a troublesome area.
56891
56892         2007-07-11  Jim Meyering  <jim@meyering.net>
56893
56894         If there's a GPL vN copyright comment, require that N == 3.
56895
56896         2007-07-08  Jim Meyering  <jim@meyering.net>
56897
56898         Run the coreutils-specific code only if tests/Makefile.am.in exists.
56899         * build-aux/bootstrap (mam_template): Move definition out of loop.
56900
56901         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
56902
56903         * build-aux/bootstrap (symlink_to_dir): Rename function from
56904         symlink_to_gnulib.  Add a directory parameter.  Update all
56905         callers.
56906         (cp_mark_as_generated): Also check for -- and link to -- files in
56907         gl/.
56908
56909         2007-07-08  Jim Meyering  <jim@meyering.net>
56910
56911         Adapt to deeper hierarchy in gnulib.
56912         * build-aux/bootstrap (symlink_to_dir): If the destination
56913         directory doesn't exist, create it. This is required at least for
56914         "lib/uniwidth/cjk.h".
56915
56916         2007-05-15  Jim Meyering  <jim@meyering.net>
56917
56918         * build-aux/bootstrap: Now that generated Makefile.am files
56919         are no longer under version control, they must be created at
56920         bootstrap time.
56921
56922 2007-08-14  Ben Pfaff  <blp@gnu.org>
56923
56924         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
56925
56926 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
56927
56928         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
56929         given the changes below.
56930         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
56931         even on hosts that have padding bits beyond the supported 64.
56932
56933 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
56934
56935         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
56936         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
56937         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
56938         depends on it.
56939         (xstrtol_error): Remove.
56940         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
56941         but with a different signature.
56942         (ATTRIBUTE_NORETURN, __attribute__): New macros.
56943         * lib/xstrtol-error.c: Include exitfail.h.
56944         (xstrtol_fatal): New function, with a different signature from the
56945         old xstrtol_error, so that the caller need not worry about passing
56946         in an exit status, or about storage management of the option argument.
56947         (xstrtol_error): Now a static function.  Redo signature to
56948         implement xstrtol_fatal.  Output the correct number of hyphens in
56949         front of the option so that the caller need not worry about
56950         storage management.
56951         (N_): New macro.
56952         (_): Remove; not used now.
56953         * modules/xstrtol: Depend on getopt.
56954         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
56955         of old STRTOL_FATAL_ERROR macro.
56956         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
56957         of test program.
56958         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
56959         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
56960
56961 2007-08-08  Eric Blake  <ebb9@byu.net>
56962
56963         * lib/xstrtol-error.c: Add missing include.
56964
56965         Move xstrtol messages into gnulib domain, when --pobase is used.
56966         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
56967         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
56968         * modules/xstrtol (Files): Distribute new file.
56969         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
56970         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
56971         * tests/test-xstrtol.c: ...into new file.
56972         * tests/test-xstrtoul.c: Also test xstrtoul.
56973         * tests/test-xstrtoimax.c: Also test xstrtoimax.
56974         * tests/test-xstrtoumax.c: Also test xstrtoumax.
56975         * tests/test-xstrtol.sh: Drive the tests.
56976         * tests/test-xstrtoimax.sh: Likewise.
56977         * tests/test-xstrtoumax.sh: Likewise.
56978         * modules/xstrtol-tests: New module.
56979         * modules/xstrtoimax-tests: Likewise.
56980         * modules/xstrtoumax-tests: Likewise.
56981
56982 2007-08-08  Jim Meyering  <jim@meyering.net>
56983
56984         New function: mfile_name_concat.
56985         * lib/filenamecat.c (mfile_name_concat): New function, just like
56986         file_name_concat, but return NULL upon failure rather than exiting
56987         with a diagnostic.
56988         * lib/filenamecat.h: Declare it.
56989
56990 2007-08-07  Bruno Haible  <bruno@clisp.org>
56991
56992         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
56993         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
56994         warning from gcc.
56995         Reported by Eric Blake.
56996
56997 2007-08-07  Simon Josefsson  <simon@josefsson.org>
56998
56999         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
57000         * modules/crypto/arcfour (License): Likewise.
57001         * modules/crypto/des-tests (License): Likewise.
57002         * modules/crypto/gc-arctwo-tests (License): Likewise.
57003         * modules/crypto/gc-des-tests (License): Likewise.
57004         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
57005         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
57006         * modules/crypto/gc-md2-tests (License): Likewise.
57007         * modules/crypto/gc-md4-tests (License): Likewise.
57008         * modules/crypto/gc-md5-tests (License): Likewise.
57009         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
57010         * modules/crypto/gc-rijndael-tests (License): Likewise.
57011         * modules/crypto/gc-sha1-tests (License): Likewise.
57012         * modules/crypto/gc-tests (License): Likewise.
57013         * modules/crypto/hmac-md5 (License): Likewise.
57014         * modules/crypto/hmac-sha1 (License): Likewise.
57015         * modules/crypto/md2-tests (License): Likewise.
57016         * modules/crypto/md4-tests (License): Likewise.
57017         * modules/crypto/md5 (License): Likewise.
57018         * modules/crypto/rijndael (License): Likewise.
57019         * modules/crypto/sha1 (License): Likewise.
57020         * modules/memxor (License): Likewise.
57021
57022 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57023         and Bruno Haible  <bruno@clisp.org>
57024
57025         * NEWS: Describe interface changes to human, xstrtol.
57026         * lib/human.h: Include <xstrtol.h>.
57027         (human_options): Return enum strtol_error, not int.  Remove
57028         bool arg; take int * instead.
57029         * lib/human.c: Don't include "gettext.h".
57030         (_): Remove; no longer used.
57031         Don't include <xstrtol.h>, since human.h does it.
57032         (human_options): Adjust to abovementioned interface changes.
57033         Do not report error to stderr; that's now the caller's
57034         responsibility.
57035         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
57036         interface change.
57037         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
57038         Str, Argument_type_string.  All uses changed.  Put " argument"
57039         in diagnostics to make them clearer.  Change wording of suffix
57040         message for clarity.
57041         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
57042         Argument_type_string.
57043         (STRTOL_FATAL_WARN): Remove; no longer used.
57044         * modules/human (Depends-on): Remove gettext-h.
57045
57046 2007-08-06  Simon Josefsson  <simon@josefsson.org>
57047
57048         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
57049
57050 2007-07-31  Bruno Haible  <bruno@clisp.org>
57051
57052         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
57053         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
57054         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
57055
57056 2007-07-31  Bruno Haible  <bruno@clisp.org>
57057
57058         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
57059         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
57060
57061 2007-07-30  Bruno Haible  <bruno@clisp.org>
57062
57063         * modules/base64 (License): Use the synonymous term "LGPLv2+".
57064         * modules/c-ctype (License): Likewise.
57065         * modules/c-strcase (License): Likewise.
57066         * modules/check-version (License): Likewise.
57067         * modules/iconv (License): Likewise.
57068         * modules/iconv_open (License): Likewise.
57069         * modules/read-file (License): Likewise.
57070         * modules/striconv (License): Likewise.
57071         * modules/strverscmp (License): Likewise.
57072         * modules/vasprintf (License): Likewise.
57073         * modules/crypto/des (License): Likewise.
57074         * modules/crypto/gc (License): Likewise.
57075         * modules/crypto/gc-arcfour (License): Likewise.
57076         * modules/crypto/gc-arctwo (License): Likewise.
57077         * modules/crypto/gc-des (License): Likewise.
57078         * modules/crypto/gc-hmac-md5 (License): Likewise.
57079         * modules/crypto/gc-hmac-sha1 (License): Likewise.
57080         * modules/crypto/gc-md2 (License): Likewise.
57081         * modules/crypto/gc-md4 (License): Likewise.
57082         * modules/crypto/gc-md5 (License): Likewise.
57083         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
57084         * modules/crypto/gc-random (License): Likewise.
57085         * modules/crypto/gc-rijndael (License): Likewise.
57086         * modules/crypto/gc-sha1 (License): Likewise.
57087         * modules/crypto/md2 (License): Likewise.
57088         * modules/crypto/md4 (License): Likewise.
57089
57090 2007-07-30  Jim Meyering  <jim@meyering.net>
57091
57092         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
57093         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
57094         it has valid stat data.  This bug would cause du not to count the
57095         sizes of inaccessible directories.
57096         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
57097         in <http://bugzilla.redhat.com/250077>.
57098
57099 2007-07-25  Peter O'Gorman  <peter@pogma.com>
57100             Bruno Haible  <bruno@clisp.org>
57101
57102         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
57103         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
57104         #include_next, gives a diagnostic about it, but reports no error in
57105         the exit code.
57106         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
57107
57108 2007-07-24  Ben Pfaff  <blp@gnu.org>
57109
57110         Improve name: "count-one-bits" is better than "popcount".
57111         * MODULES.html.sh: Update name.
57112         * lib/popcount.h: Renamed lib/count-one-bits.h.
57113         (popcount): Renamed count_one_bits.
57114         (popcountl): Renamed count_one_bits_l.
57115         (popcountll): Renamed count_one_bits_ll.
57116         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
57117         * modules/popcount: Renamed module/count-one-bits.
57118         * modules/popcount-tests: Renamed module/count-one-bits-tests.
57119         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
57120
57121 2007-07-23  Ben Pfaff  <blp@gnu.org>
57122
57123         * lib/popcount.h (popcount32): Reduce size of constants, to allow
57124         better code generation, and add U to large constants to avoid
57125         warnings, in non-GCC case.
57126         Suggested by Bruno Haible.
57127
57128 2007-07-23  Ben Pfaff  <blp@gnu.org>
57129
57130         * lib/popcount.h: Use verify_true instead of if...abort.
57131         * modules/popcount: Depend on verify module.
57132         Suggested by Jim Meyering.
57133
57134 2007-07-23  Bruno Haible  <bruno@clisp.org>
57135
57136         * gnulib-tool (func_import): Create a .cvsignore file also when the
57137         directory is not yet in CVS but the toplevel directory is. When
57138         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
57139         Reported by Karl Berry.
57140
57141 2007-07-22  Ben Pfaff  <blp@gnu.org>
57142
57143         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
57144         case.
57145         Suggested by Eric Blake.
57146
57147 2007-07-22  Ben Pfaff  <blp@gnu.org>
57148
57149         New module: popcount.
57150         * MODULES.html.sh: Add popcount.
57151         * modules/popcount: New file.
57152         * modules/popcount-tests: New file.
57153         * tests/test-popcount.c: New file.
57154         * lib/popcount.h: New file.
57155         * m4/popcount.m4: New file.
57156
57157 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
57158
57159         * build-aux/announce-gen: Update to GPLv3.
57160
57161         * build-aux/config.guess: Update from config.
57162
57163 2007-07-21  Bruno Haible  <bruno@clisp.org>
57164
57165         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
57166         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
57167
57168 2007-07-20  Jim Meyering  <jim@meyering.net>
57169
57170         * check-module: Diagnose a self-dependency.
57171
57172 2007-07-19  Bruno Haible  <bruno@clisp.org>
57173
57174         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
57175         empty.
57176         Reported by Eric Blake.
57177
57178 2007-07-18  Bruno Haible  <bruno@clisp.org>
57179
57180         * gnulib-tool: New options --po-base, --po-domain.
57181         (func_usage): Document them.
57182         (pobase, po_domain): New variables.
57183         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
57184         DEFAULT_TEXT_DOMAIN.
57185         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
57186         (func_import): Consider pobase and po_domain. Create a po/ directory.
57187         (func_create_testdir): Set pobase and po_domain to empty.
57188         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
57189         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
57190
57191 2007-07-18  Bruno Haible  <bruno@clisp.org>
57192
57193         * gnulib-tool (func_get_automake_snippet): Synthesize also an
57194         EXTRA_DIST augmentation for files in build-aux/.
57195
57196 2007-07-16  Bruno Haible  <bruno@clisp.org>
57197
57198         * modules/lseek (License): Use the synonymous term "LGPLv2+".
57199         * modules/getdelim (License): Likewise.
57200
57201 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57202
57203         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
57204         * modules/d-type (License): Likewise.
57205         * modules/extensions (License): Likewise.
57206         * modules/fnmatch (License): Likewise.
57207         * modules/fseeko (License): Likewise.
57208         * modules/getaddrinfo (License): Likewise.
57209         * modules/getline (License): Likewise.
57210         * modules/getlogin_r (License): Likewise.
57211         * modules/getpass (License): Likewise.
57212         * modules/gettimeofday (License): Likewise.
57213         * modules/glob (License): Likewise.
57214         * modules/inet_ntop (License): Likewise.
57215         * modules/malloc (License): Likewise.
57216         * modules/malloca (License): Likewise.
57217         * modules/memmem (License): Likewise.
57218         * modules/mempcpy (License): Likewise.
57219         * modules/memset (License): Likewise.
57220         * modules/minmax (License): Likewise.
57221         * modules/mktime (License): Likewise.
57222         * modules/netinet_in (License): Likewise.
57223         * modules/pathmax (License): Likewise.
57224         * modules/poll (License): Likewise.
57225         * modules/regex (License): Likewise.
57226         * modules/snprintf (License): Likewise.
57227         * modules/stdbool (License): Likewise.
57228         * modules/stdint (License): Likewise.
57229         * modules/stdio (License): Likewise.
57230         * modules/strcase (License): Likewise.
57231         * modules/strcasestr (License): Likewise.
57232         * modules/strdup (License): Likewise.
57233         * modules/string (License): Likewise.
57234         * modules/strndup (License): Likewise.
57235         * modules/strnlen (License): Likewise.
57236         * modules/strpbrk (License): Likewise.
57237         * modules/strptime (License): Likewise.
57238         * modules/strsep (License): Likewise.
57239         * modules/sys_select (License): Likewise.
57240         * modules/sys_socket (License): Likewise.
57241         * modules/sys_stat (License): Likewise.
57242         * modules/sys_time (License): Likewise.
57243         * modules/time (License): Likewise.
57244         * modules/time_r (License): Likewise.
57245         * modules/timegm (License): Likewise.
57246         * modules/unistd (License): Likewise.
57247         * modules/vsnprintf (License): Likewise.
57248         * modules/wctype (License): Likewise.
57249
57250 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57251
57252         * modules/argz (License): LGPLv2+.
57253
57254 2007-07-15  Karl Berry  <karl@gnu.org>
57255
57256         * doc/gnulib.texi: revise node structure per new fdl.texi.
57257
57258 2007-07-14  Bruno Haible  <bruno@clisp.org>
57259
57260         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
57261         the output file.
57262         * lib/uniname/uninames.h: Regenerated.
57263
57264 2007-07-14  Karl Berry  <karl@gnu.org>
57265
57266         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
57267         omitting sectioning and index commands.
57268
57269 2007-07-13  Bruno Haible  <bruno@clisp.org>
57270
57271         New gnulib-tool option --more-symlinks.
57272         * gnulib-tool (func_usage): Document --more-symlinks.
57273         (do_copyrights): New variable.
57274         Recognize option --more-symlinks.
57275         (func_import): Don't add a copyright notice transform to
57276         sed_transform_lib_file if do_copyrights is empty.
57277
57278 2007-07-13  Bruno Haible  <bruno@clisp.org>
57279
57280         * lib/vasnprintf.c (decimal_point_char): Define also if
57281         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
57282         && !NEED_PRINTF_DIRECTIVE_A.
57283         Reported by Clemens Koller <clemens.koller@anagramm.de> via
57284         Gary V. Vaughan <gary@gnu.org>.
57285
57286 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
57287
57288         * lib/inttypes_.h: Undo previous change, since it was fixed
57289         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
57290
57291 2007-07-13  Bruno Haible  <bruno@clisp.org>
57292
57293         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
57294         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
57295
57296 2007-07-13  Jim Meyering  <jim@meyering.net>
57297
57298         df: Don't fail for Tru64's "file-on-file mount".
57299         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
57300         so we fall through and use statfs instead.  Details here:
57301         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
57302         Reported by Albert Chin.
57303
57304 2007-07-13  Bruno Haible  <bruno@clisp.org>
57305
57306         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
57307         * modules/configmake (License): Likewise.
57308         * modules/gettext (License): Likewise.
57309         * modules/gettext-h (License): Likewise.
57310         * modules/include_next (License): Likewise.
57311         * modules/link-warning (License): Likewise.
57312         * modules/localcharset (License): Likewise.
57313         * modules/localename (License): Likewise.
57314         * modules/lock (License): Likewise.
57315         * modules/relocatable-lib-lgpl (License): Likewise.
57316         * modules/size_max (License): Likewise.
57317         * modules/vasnprintf (License): Likewise.
57318         * modules/wchar (License): Likewise.
57319         * modules/xsize (License): Likewise.
57320
57321 2007-07-13  Bruno Haible  <bruno@clisp.org>
57322
57323         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
57324         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
57325
57326 2007-07-12  Bruno Haible  <bruno@clisp.org>
57327
57328         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
57329         in the modules files.
57330
57331 2007-07-11  Karl Berry  <karl@gnu.org>
57332
57333         * MODULES.html.sh (func_module): use
57334          sed -e '\|^'"${includefile}"'$|d'
57335          instead of /.../d, to avoid errors on $includefile's containing /.
57336
57337 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57338
57339         * gnulib-tool (func_import): Avoid duplication of --avoid
57340         statements
57341         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
57342         names to `_' in variable names.
57343
57344 2007-07-10  Eric Blake  <ebb9@byu.net>
57345
57346         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57347         * NEWS: Document this change.
57348
57349 2007-07-08  Bruno Haible  <bruno@clisp.org>
57350
57351         Update to Unicode 5.0.
57352         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
57353         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
57354         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
57355         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
57356         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
57357         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
57358         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
57359         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
57360         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
57361         U+10A3F, U+1D242..U+1D244.
57362         (nonspacing_table_ind): Update.
57363         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
57364         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
57365
57366 2007-07-08  Bruno Haible  <bruno@clisp.org>
57367
57368         Update to Unicode 5.0.
57369         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
57370         code transform. Extend the name index field of unicode_name_to_code and
57371         unicode_code_to_name from 16 to 24 bits.
57372         * lib/uniname/uniname.c (unicode_character_name,
57373         unicode_name_character): Add the range 0x12xxx to the code transform.
57374         * lib/uniname/uninames.h: Regenerated.
57375         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
57376
57377 2007-07-07  Bruno Haible  <bruno@clisp.org>
57378
57379         * modules/wcwidth-tests: New file.
57380         * tests/test-wcwidth.c: New file.
57381
57382         Work around MacOS X wcwidth() bug.
57383         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
57384         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
57385         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
57386         original wcwidth in non-UTF-8 locales.
57387         * modules/wcwidth (Depends-on): Add localcharset, streq,
57388         uniwidth/width.
57389         * doc/functions/wcwidth.texi: Update.
57390
57391 2007-07-07  Bruno Haible  <bruno@clisp.org>
57392
57393         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
57394         (wcwidth): New declaration.
57395         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
57396         macros.
57397         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
57398         here. Prepare for creating <wchar.h> unconditionally.
57399         * modules/wchar (Depends-on): Add link-warning.
57400         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
57401         REPLACE_WCWIDTH, and GL_LINK_WARNING.
57402         * lib/wcwidth.h: Remove file.
57403         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
57404         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
57405         * modules/wcwidth (Files): Remove lib/wcwidth.h.
57406         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
57407         (Include): Replace wcwidth.h with <wchar.h>.
57408         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
57409         * lib/mbchar.h: Don't include wcwidth.h.
57410         * lib/mbswidth.c: Likewise.
57411         * NEWS: Mention the change.
57412
57413 2007-07-07  Bruno Haible  <bruno@clisp.org>
57414
57415         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
57416         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
57417         definition with an external declaration.
57418         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
57419         defined as a function. Remove AC_C_INLINE requirement.
57420         * modules/wcwidth (Files): Add lib/wcwidth.c.
57421         (Makefile.am): Remove redundant statement.
57422
57423 2007-07-07  Bruno Haible  <bruno@clisp.org>
57424
57425         * MODULES.html.sh (Unicode string functions): Add the new modules.
57426
57427         * tests/uniwidth/test-u32-strwidth.c: New file.
57428         * modules/uniwidth/u32-strwidth-tests: New file.
57429
57430         * lib/uniwidth/u32-strwidth.c: New file.
57431         * modules/uniwidth/u32-strwidth: New file.
57432
57433         * tests/uniwidth/test-u16-strwidth.c: New file.
57434         * modules/uniwidth/u16-strwidth-tests: New file.
57435
57436         * lib/uniwidth/u16-strwidth.c: New file.
57437         * modules/uniwidth/u16-strwidth: New file.
57438
57439         * tests/uniwidth/test-u8-strwidth.c: New file.
57440         * modules/uniwidth/u8-strwidth-tests: New file.
57441
57442         * lib/uniwidth/u8-strwidth.c: New file.
57443         * modules/uniwidth/u8-strwidth: New file.
57444
57445         * tests/uniwidth/test-u32-width.c: New file.
57446         * modules/uniwidth/u32-width-tests: New file.
57447
57448         * lib/uniwidth/u32-width.c: New file.
57449         * modules/uniwidth/u32-width: New file.
57450
57451         * tests/uniwidth/test-u16-width.c: New file.
57452         * modules/uniwidth/u16-width-tests: New file.
57453
57454         * lib/uniwidth/u16-width.c: New file.
57455         * modules/uniwidth/u16-width: New file.
57456
57457         * tests/uniwidth/test-u8-width.c: New file.
57458         * modules/uniwidth/u8-width-tests: New file.
57459
57460         * lib/uniwidth/u8-width.c: New file.
57461         * modules/uniwidth/u8-width: New file.
57462
57463         * tests/uniwidth/test-uc_width.c: New file.
57464         * modules/uniwidth/width-tests: New file.
57465
57466         * lib/uniwidth/width.c: New file, from GNU libiconv.
57467         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
57468         * modules/uniwidth/width: New file.
57469
57470         * lib/uniwidth.h: New file, from GNU libiconv.
57471         * modules/uniwidth/base: New file.
57472
57473 2007-07-07  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/uniname.h: New file, from GNU gettext.
57476         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
57477         * lib/uniname/uninames.h: New file, from GNU gettext.
57478         * lib/uniname/uniname.c: New file, from GNU gettext.
57479         * tests/uniname/test-uninames.sh: New file.
57480         * tests/uniname/test-uninames.c: New file, from GNU gettext.
57481         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
57482         * modules/uniname/base: New file.
57483         * modules/uniname/uniname: New file.
57484         * modules/uniname/uniname-tests: New file.
57485         * MODULES.html.sh (Unicode string functions): Add the new modules.
57486
57487 2007-07-06  Bruno Haible  <bruno@clisp.org>
57488
57489         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
57490
57491 2007-07-06  Bruno Haible  <bruno@clisp.org>
57492
57493         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
57494         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
57495         includes <cygwin/sys_time.h> which includes <sys/select.h> which
57496         include <sys/time.h>.
57497         Reported by Eric Blake.
57498
57499 2007-07-06  Eric Blake  <ebb9@byu.net>
57500
57501         Fix testing canonicalize on cygwin.
57502         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57503         Revert patch from 2007-06-19.
57504         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
57505         canonicalize module is also in use.
57506         * tests/test-canonicalize.c: New file.
57507         * tests/test-canonicalize.sh: Likewise.
57508         * modules/canonicalize-tests: Likewise.
57509
57510 2007-07-06  Jim Meyering  <jim@meyering.net>
57511
57512         * lib/getugroups.c (getugroups): Detect getgrent failure.
57513         Adjust comment to reflect reality: this function may return -1.
57514
57515 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
57516
57517         * build-aux/bootstrap (TP_URL,get_translations): Update to use
57518         the new TP address.
57519         (usage): Fix typo
57520         (gnulib_mk): New variable.
57521
57522 2007-07-05  Jim Meyering  <jim@meyering.net>
57523
57524         Don't let endgrent clobber errno, no matter how improbable.
57525         * lib/getugroups.c (getugroups): Save and restore errno around
57526         endgrent call.
57527
57528         Close the group DB even when failing with 2^31 or more members.
57529         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
57530
57531 2007-07-04  Jim Meyering  <jim@meyering.net>
57532
57533         * lib/getugroups.h: New file.
57534         * lib/getugroups.c: Include "getugroups.h".
57535         Remove uses of "register" keyword.
57536         Move local variable, "cp", down into scope where used.
57537         Give "username" parameter the "const" attribute.
57538         * modules/getugroups (Files): Add lib/getugroups.h
57539
57540 2007-07-04  Karl Berry  <karl@gnu.org>
57541
57542         * MODULES.html.sh (func_all_modules): Complete rename of
57543         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
57544
57545 2007-07-02  Bruno Haible  <bruno@clisp.org>
57546
57547         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
57548         mode, when inttypes.h comes from gnulib.
57549         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57550
57551 2007-07-02  Simon Josefsson  <simon@josefsson.org>
57552
57553         * NEWS: Mention lgpl module name change.
57554
57555         * modules/lgpl-2.1: Renamed from lgpl.
57556
57557         * NEWS: Mention gpl module name change.
57558
57559         * modules/gpl-3.0: New file, based on gpl-2.0.
57560
57561         * modules/gpl-2.0: Renamed from gpl.
57562
57563         * modules/gpl: Fix filename, doc/gpl.texi is now found at
57564         doc/gpl-2.0.texi.
57565
57566 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
57567
57568         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
57569         #define __STDC_LIMIT_MACROS temporarily while including
57570         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
57571         Problem reported by Joel E. Denny in
57572         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
57573
57574 2007-07-01  Bruno Haible  <bruno@clisp.org>
57575
57576         * lib/unistdio.h: New file.
57577         * lib/unistdio/u-asnprintf.h: New file.
57578         * lib/unistdio/u-asprintf.h: New file.
57579         * lib/unistdio/u-printf-args.c: New file.
57580         * lib/unistdio/u-printf-args.h: New file.
57581         * lib/unistdio/u-printf-parse.h: New file.
57582         * lib/unistdio/u-snprintf.h: New file.
57583         * lib/unistdio/u-sprintf.h: New file.
57584         * lib/unistdio/u-vasprintf.h: New file.
57585         * lib/unistdio/u-vsnprintf.h: New file.
57586         * lib/unistdio/u-vsprintf.h: New file.
57587         * lib/unistdio/ulc-asnprintf.c: New file.
57588         * lib/unistdio/ulc-asprintf.c: New file.
57589         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
57590         * lib/unistdio/ulc-printf-parse.c: New file.
57591         * lib/unistdio/ulc-snprintf.c: New file.
57592         * lib/unistdio/ulc-sprintf.c: New file.
57593         * lib/unistdio/ulc-vasnprintf.c: New file.
57594         * lib/unistdio/ulc-vasprintf.c: New file.
57595         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
57596         * lib/unistdio/ulc-vsnprintf.c: New file.
57597         * lib/unistdio/ulc-vsprintf.c: New file.
57598         * lib/unistdio/u8-asnprintf.c: New file.
57599         * lib/unistdio/u8-asprintf.c: New file.
57600         * lib/unistdio/u8-printf-parse.c: New file.
57601         * lib/unistdio/u8-snprintf.c: New file.
57602         * lib/unistdio/u8-sprintf.c: New file.
57603         * lib/unistdio/u8-vasnprintf.c: New file.
57604         * lib/unistdio/u8-vasprintf.c: New file.
57605         * lib/unistdio/u8-vsnprintf.c: New file.
57606         * lib/unistdio/u8-vsprintf.c: New file.
57607         * lib/unistdio/u8-u8-asnprintf.c: New file.
57608         * lib/unistdio/u8-u8-asprintf.c: New file.
57609         * lib/unistdio/u8-u8-snprintf.c: New file.
57610         * lib/unistdio/u8-u8-sprintf.c: New file.
57611         * lib/unistdio/u8-u8-vasnprintf.c: New file.
57612         * lib/unistdio/u8-u8-vasprintf.c: New file.
57613         * lib/unistdio/u8-u8-vsnprintf.c: New file.
57614         * lib/unistdio/u8-u8-vsprintf.c: New file.
57615         * lib/unistdio/u16-asnprintf.c: New file.
57616         * lib/unistdio/u16-asprintf.c: New file.
57617         * lib/unistdio/u16-printf-parse.c: New file.
57618         * lib/unistdio/u16-snprintf.c: New file.
57619         * lib/unistdio/u16-sprintf.c: New file.
57620         * lib/unistdio/u16-vasnprintf.c: New file.
57621         * lib/unistdio/u16-vasprintf.c: New file.
57622         * lib/unistdio/u16-vsnprintf.c: New file.
57623         * lib/unistdio/u16-vsprintf.c: New file.
57624         * lib/unistdio/u16-u16-asnprintf.c: New file.
57625         * lib/unistdio/u16-u16-asprintf.c: New file.
57626         * lib/unistdio/u16-u16-snprintf.c: New file.
57627         * lib/unistdio/u16-u16-sprintf.c: New file.
57628         * lib/unistdio/u16-u16-vasnprintf.c: New file.
57629         * lib/unistdio/u16-u16-vasprintf.c: New file.
57630         * lib/unistdio/u16-u16-vsnprintf.c: New file.
57631         * lib/unistdio/u16-u16-vsprintf.c: New file.
57632         * lib/unistdio/u32-asnprintf.c: New file.
57633         * lib/unistdio/u32-asprintf.c: New file.
57634         * lib/unistdio/u32-printf-parse.c: New file.
57635         * lib/unistdio/u32-snprintf.c: New file.
57636         * lib/unistdio/u32-sprintf.c: New file.
57637         * lib/unistdio/u32-vasnprintf.c: New file.
57638         * lib/unistdio/u32-vasprintf.c: New file.
57639         * lib/unistdio/u32-vsnprintf.c: New file.
57640         * lib/unistdio/u32-vsprintf.c: New file.
57641         * lib/unistdio/u32-u32-asnprintf.c: New file.
57642         * lib/unistdio/u32-u32-asprintf.c: New file.
57643         * lib/unistdio/u32-u32-snprintf.c: New file.
57644         * lib/unistdio/u32-u32-sprintf.c: New file.
57645         * lib/unistdio/u32-u32-vasnprintf.c: New file.
57646         * lib/unistdio/u32-u32-vasprintf.c: New file.
57647         * lib/unistdio/u32-u32-vsnprintf.c: New file.
57648         * lib/unistdio/u32-u32-vsprintf.c: New file.
57649         * tests/unistdio/test-ulc-asnprintf1.c: New file.
57650         * tests/unistdio/test-ulc-asnprintf1.h: New file.
57651         * tests/unistdio/test-ulc-printf1.h: New file.
57652         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
57653         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
57654         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
57655         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
57656         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
57657         * tests/unistdio/test-ulc-vasprintf1.c: New file.
57658         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
57659         * tests/unistdio/test-ulc-vsprintf1.c: New file.
57660         * tests/unistdio/test-u8-asnprintf1.c: New file.
57661         * tests/unistdio/test-u8-asnprintf1.h: New file.
57662         * tests/unistdio/test-u8-printf1.h: New file.
57663         * tests/unistdio/test-u8-vasnprintf1.c: New file.
57664         * tests/unistdio/test-u8-vasnprintf2.c: New file.
57665         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
57666         * tests/unistdio/test-u8-vasnprintf3.c: New file.
57667         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
57668         * tests/unistdio/test-u8-vasprintf1.c: New file.
57669         * tests/unistdio/test-u8-vsnprintf1.c: New file.
57670         * tests/unistdio/test-u8-vsprintf1.c: New file.
57671         * tests/unistdio/test-u16-asnprintf1.c: New file.
57672         * tests/unistdio/test-u16-asnprintf1.h: New file.
57673         * tests/unistdio/test-u16-printf1.h: New file.
57674         * tests/unistdio/test-u16-vasnprintf1.c: New file.
57675         * tests/unistdio/test-u16-vasnprintf2.c: New file.
57676         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
57677         * tests/unistdio/test-u16-vasnprintf3.c: New file.
57678         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
57679         * tests/unistdio/test-u16-vasprintf1.c: New file.
57680         * tests/unistdio/test-u16-vsnprintf1.c: New file.
57681         * tests/unistdio/test-u16-vsprintf1.c: New file.
57682         * tests/unistdio/test-u32-asnprintf1.c: New file.
57683         * tests/unistdio/test-u32-asnprintf1.h: New file.
57684         * tests/unistdio/test-u32-printf1.h: New file.
57685         * tests/unistdio/test-u32-vasnprintf1.c: New file.
57686         * tests/unistdio/test-u32-vasnprintf2.c: New file.
57687         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
57688         * tests/unistdio/test-u32-vasnprintf3.c: New file.
57689         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
57690         * tests/unistdio/test-u32-vasprintf1.c: New file.
57691         * tests/unistdio/test-u32-vsnprintf1.c: New file.
57692         * tests/unistdio/test-u32-vsprintf1.c: New file.
57693         * modules/unistdio/base: New file.
57694         * modules/unistdio/u-printf-args: New file.
57695         * modules/unistdio/ulc-asnprintf: New file.
57696         * modules/unistdio/ulc-asprintf: New file.
57697         * modules/unistdio/ulc-fprintf: New file.
57698         * modules/unistdio/ulc-printf-parse: New file.
57699         * modules/unistdio/ulc-snprintf: New file.
57700         * modules/unistdio/ulc-sprintf: New file.
57701         * modules/unistdio/ulc-vasnprintf: New file.
57702         * modules/unistdio/ulc-vasprintf: New file.
57703         * modules/unistdio/ulc-vfprintf: New file.
57704         * modules/unistdio/ulc-vsnprintf: New file.
57705         * modules/unistdio/ulc-vsprintf: New file.
57706         * modules/unistdio/u8-asnprintf: New file.
57707         * modules/unistdio/u8-asprintf: New file.
57708         * modules/unistdio/u8-printf-parse: New file.
57709         * modules/unistdio/u8-snprintf: New file.
57710         * modules/unistdio/u8-sprintf: New file.
57711         * modules/unistdio/u8-vasnprintf: New file.
57712         * modules/unistdio/u8-vasprintf: New file.
57713         * modules/unistdio/u8-vsnprintf: New file.
57714         * modules/unistdio/u8-vsprintf: New file.
57715         * modules/unistdio/u8-u8-asnprintf: New file.
57716         * modules/unistdio/u8-u8-asprintf: New file.
57717         * modules/unistdio/u8-u8-snprintf: New file.
57718         * modules/unistdio/u8-u8-sprintf: New file.
57719         * modules/unistdio/u8-u8-vasnprintf: New file.
57720         * modules/unistdio/u8-u8-vasprintf: New file.
57721         * modules/unistdio/u8-u8-vsnprintf: New file.
57722         * modules/unistdio/u8-u8-vsprintf: New file.
57723         * modules/unistdio/u16-asnprintf: New file.
57724         * modules/unistdio/u16-asprintf: New file.
57725         * modules/unistdio/u16-printf-parse: New file.
57726         * modules/unistdio/u16-snprintf: New file.
57727         * modules/unistdio/u16-sprintf: New file.
57728         * modules/unistdio/u16-vasnprintf: New file.
57729         * modules/unistdio/u16-vasprintf: New file.
57730         * modules/unistdio/u16-vsnprintf: New file.
57731         * modules/unistdio/u16-vsprintf: New file.
57732         * modules/unistdio/u16-u16-asnprintf: New file.
57733         * modules/unistdio/u16-u16-asprintf: New file.
57734         * modules/unistdio/u16-u16-snprintf: New file.
57735         * modules/unistdio/u16-u16-sprintf: New file.
57736         * modules/unistdio/u16-u16-vasnprintf: New file.
57737         * modules/unistdio/u16-u16-vasprintf: New file.
57738         * modules/unistdio/u16-u16-vsnprintf: New file.
57739         * modules/unistdio/u16-u16-vsprintf: New file.
57740         * modules/unistdio/u32-asnprintf: New file.
57741         * modules/unistdio/u32-asprintf: New file.
57742         * modules/unistdio/u32-printf-parse: New file.
57743         * modules/unistdio/u32-snprintf: New file.
57744         * modules/unistdio/u32-sprintf: New file.
57745         * modules/unistdio/u32-vasnprintf: New file.
57746         * modules/unistdio/u32-vasprintf: New file.
57747         * modules/unistdio/u32-vsnprintf: New file.
57748         * modules/unistdio/u32-vsprintf: New file.
57749         * modules/unistdio/u32-u32-asnprintf: New file.
57750         * modules/unistdio/u32-u32-asprintf: New file.
57751         * modules/unistdio/u32-u32-snprintf: New file.
57752         * modules/unistdio/u32-u32-sprintf: New file.
57753         * modules/unistdio/u32-u32-vasnprintf: New file.
57754         * modules/unistdio/u32-u32-vasprintf: New file.
57755         * modules/unistdio/u32-u32-vsnprintf: New file.
57756         * modules/unistdio/u32-u32-vsprintf: New file.
57757         * modules/unistdio/ulc-asnprintf-tests: New file.
57758         * modules/unistdio/ulc-vasnprintf-tests: New file.
57759         * modules/unistdio/ulc-vasprintf-tests: New file.
57760         * modules/unistdio/ulc-vsnprintf-tests: New file.
57761         * modules/unistdio/ulc-vsprintf-tests: New file.
57762         * modules/unistdio/u8-asnprintf-tests: New file.
57763         * modules/unistdio/u8-vasnprintf-tests: New file.
57764         * modules/unistdio/u8-vasprintf-tests: New file.
57765         * modules/unistdio/u8-vsnprintf-tests: New file.
57766         * modules/unistdio/u8-vsprintf-tests: New file.
57767         * modules/unistdio/u16-asnprintf-tests: New file.
57768         * modules/unistdio/u16-vasnprintf-tests: New file.
57769         * modules/unistdio/u16-vasprintf-tests: New file.
57770         * modules/unistdio/u16-vsnprintf-tests: New file.
57771         * modules/unistdio/u16-vsprintf-tests: New file.
57772         * modules/unistdio/u32-asnprintf-tests: New file.
57773         * modules/unistdio/u32-vasnprintf-tests: New file.
57774         * modules/unistdio/u32-vasprintf-tests: New file.
57775         * modules/unistdio/u32-vsnprintf-tests: New file.
57776         * modules/unistdio/u32-vsprintf-tests: New file.
57777         * MODULES.html.sh (Unicode string functions): Add the new modules.
57778
57779 2007-07-01  Bruno Haible  <bruno@clisp.org>
57780
57781         * lib/sprintf.c (sprintf): Limit the available length estimation,
57782         to avoid address wraparound.
57783         * lib/vsprintf.c (vsprintf): Likewise.
57784         * modules/sprintf-posix (Dependencies): Add stdint.
57785         * modules/vsprintf-posix (Dependencies): Likewise.
57786
57787 2007-07-01  Bruno Haible  <bruno@clisp.org>
57788
57789         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
57790         Windows PATH as well. Conservative double-quoting. Comments.
57791
57792 2007-07-01  Bruno Haible  <bruno@clisp.org>
57793             Eric Blake  <ebb9@byu.net>
57794             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57795
57796         * gnulib-tool (self_abspathname): Fix algorithm to cope with
57797         empty components in $PATH, denoting '.'.
57798
57799 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57800
57801         * gnulib-tool: Fix indentation.
57802         (func_create_megatestdir): Likewise.
57803         Report by Bruno Haible.
57804
57805 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57806
57807         Sync from Automake.
57808         * build-aux/gnupload: Fix shell portability issues with for loops.
57809         Report by Karl Berry.
57810
57811 2007-06-29  Simon Josefsson  <simon@josefsson.org>
57812
57813         * build-aux/maint.mk (POURL): Use translationproject.org.
57814
57815 2007-06-27  Simon Josefsson  <simon@josefsson.org>
57816             Bruno Haible  <bruno@clisp.org>
57817
57818         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
57819         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
57820         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
57821         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
57822         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
57823
57824 2007-06-27  Bruno Haible  <bruno@clisp.org>
57825
57826         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
57827         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
57828
57829 2007-06-26  Karl Berry  <karl@gnu.org>
57830
57831         * MODULES.html.sh: remove xreadlink-with-size.
57832
57833 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57834
57835         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
57836         method that I hope also handles the double-include problem noted
57837         by Bruno Haible in
57838         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
57839
57840 2007-06-23  Bruno Haible  <bruno@clisp.org>
57841
57842         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57843         Don't let the 'mostlyclean' target fail if the last subdirectory could
57844         not be removed.
57845         Reported by Karl Berry.
57846
57847 2007-06-23  Bruno Haible  <bruno@clisp.org>
57848
57849         * gnulib-tool (echo): Add a speedier workaround for ksh.
57850         * tests/test-echo.sh: Likewise.
57851
57852 2007-06-23  Bruno Haible  <bruno@clisp.org>
57853
57854         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
57855         * tests/test-echo.sh: Likewise.
57856
57857 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57858
57859         * gnulib-tool (IFS): Initialize early, so we don't set it to
57860         empty later.
57861         (self_abspathname): Rewrite algorithm to set it, reindent.
57862         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
57863         (func_create_megatestdir): Merge some sed scripts.
57864
57865 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57866
57867         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
57868         exposed by Sun Studio 11 cc on Solaris 8.
57869
57870 2007-06-22  Bruno Haible  <bruno@clisp.org>
57871
57872         * gnulib-tool (echo): Ensure the echo primitive does not interpret
57873         backslashes.
57874         * tests/test-echo.sh: New file.
57875
57876 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57877
57878         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
57879         simplify `sed_replace_build_aux' scripts, they are portable but
57880         echoing them with `echo' is not.
57881         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
57882
57883 2007-06-21  Karl Berry  <karl@gnu.org>
57884
57885         * config/srclist.txt: guess we can't handle the licenses via
57886         srclist at the moment.
57887
57888 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57889
57890         * MODULES.html.sh: Add include_next.
57891         * modules/include_next: New file.
57892
57893 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57894
57895         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
57896         INCLUDE_NEXT.
57897         (gl_CHECK_NEXT_HEADERS): New macro.
57898         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
57899         the obsolescent gl_ABSOLUTE_HEADER.
57900         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
57901         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
57902         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
57903         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57904         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
57905         * m4/math_h.m4 (gl_MATH_H): Likewise.
57906         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57907         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57908         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
57909         * m4/stdint.m4 (gl_STDINT_H): Likewise.
57910         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
57911         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
57912         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
57913         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57914         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57915         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
57916         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57917         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
57918         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
57919         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57920         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
57921         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
57922         * m4/inttypes.m4 (gl_INTTYPES_H): Define
57923         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
57924         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
57925         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
57926         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
57927         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
57928         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
57929         * lib/float_.h: Likewise.
57930         * lib/inttypes_.h: Likewise.
57931         * lib/math_.h: Likewise.
57932         * lib/search_.h: Likewise.
57933         * lib/signal_.h: Likewise.
57934         * lib/stdint_.h: Likewise.
57935         * lib/stdio_.h: Likewise.
57936         * lib/stdlib_.h: Likewise.
57937         * lib/string_.h: Likewise.
57938         * lib/sys_stat_.h: Likewise.
57939         * lib/sys_time_.h: Likewise.
57940         * lib/time_.h: Likewise.
57941         * lib/unistd_.h: Likewise.
57942         * lib/wchar_.h: Likewise.
57943         * lib/wctype_.h: Likewise.
57944         * lib/dirent_.h: Likewise.
57945         * lib/iconv_.h: Likewise.
57946         * lib/locale_.h: Likewise.
57947         * lib/netinet_in_.h: Likewise.
57948         * lib/sys_select_.h: Likewise.
57949         * lib/sys_socket_.h: Likewise.
57950         * lib/sysexits_.h: Likewise.
57951         * modules/fcntl (Depends-on): Depend on include_next, not
57952         absolute_header.
57953         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
57954         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
57955         * modules/fchdir: Likewise.
57956         * modules/float: Likewise.
57957         * modules/iconv_open: Likewise.
57958         * modules/inttypes: Likewise.
57959         * modules/locale: Likewise.
57960         * modules/math: Likewise.
57961         * modules/netinet_in: Likewise.
57962         * modules/search: Likewise.
57963         * modules/signal: Likewise.
57964         * modules/stdint: Likewise.
57965         * modules/stdio: Likewise.
57966         * modules/stdlib: Likewise.
57967         * modules/string: Likewise.
57968         * modules/sys_select: Likewise.
57969         * modules/sys_socket: Likewise.
57970         * modules/sys_stat: Likewise.
57971         * modules/sys_time: Likewise.
57972         * modules/sysexits: Likewise.
57973         * modules/time: Likewise.
57974         * modules/unistd: Likewise.
57975         * modules/wchar: Likewise.
57976         * modules/wctype: Likewise.
57977         * modules/sys_stat: Change maintainer to "all".
57978         * modules/unistd: Likewise.
57979
57980 2007-06-20  Karl Berry  <karl@gnu.org>
57981
57982         * config/srclist.txt: track www changes in license files.
57983
57984 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
57985
57986         * build-aux/bootstrap: Remove stray dot.
57987         Make sure build_aux settings are honored when linking
57988         gnulib_extra_files.
57989
57990 2007-06-19  Eric Blake  <ebb9@byu.net>
57991
57992         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
57993         Allow compilation on cygwin.
57994
57995 2007-06-19  Jim Meyering  <jim@meyering.net>
57996
57997         xreadlink-with-size: Remove module.  No longer used.
57998         Ex-callers now use xreadlink or mreadlink-with-size.
57999         * modules/xreadlink-with-size: Remove module.
58000         * lib/xreadlink-with-size.c: Remove file.
58001         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
58002         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
58003         just before the function definition *is* accurate.
58004
58005         Eliminate one way canonicalize_filename_mode could exit.
58006         * lib/canonicalize.c (canonicalize_filename_mode):
58007         Use mreadlink_with_size, not xreadlink_with_size.
58008
58009 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
58010
58011         Detect porting problems to FreeBSD/arm, which has time_t wider than
58012         long int.  Original problem reported for GNU diff by Xin Li in
58013         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
58014         * modules/getdate (Depends-on): Add intprops, verify.
58015         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
58016         is an integer type no wider than long int.
58017
58018 2007-06-18  Jim Meyering  <jim@meyering.net>
58019
58020         New module: mreadlink-with-size.
58021         * MODULES.html.sh: Add mreadlink-with-size.
58022         * modules/mreadlink-with-size: New module
58023         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
58024         not xreadlink-with-size.
58025         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
58026
58027 2007-06-16  Bruno Haible  <bruno@clisp.org>
58028
58029         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
58030         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
58031         Reported by Gary V. Vaughan <gary@gnu.org>.
58032
58033 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
58034
58035         Revamp lchown so that it lives in unistd.h where it belongs.
58036         * lib/lchown.h: Remove.
58037         * lib/dirchownmod.c: Don't include lib/lchown.h.
58038         * lib/fchownat.c: Likewise.
58039         * lib/openat.c: Likewise.
58040         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
58041         does not follow symlinks.
58042         (EOPNOTSUPP): Define if not defined.
58043         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
58044         is defined to 0.
58045         (lchown): New decl.
58046         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
58047         Do not check for lchown decl.
58048         Set REPLACE_LCHOWN.
58049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
58050         REPLACE_LCHOWN.
58051         * modules/chown: Make it clear it follows symlinks.
58052         * modules/lchown: Make it clear it doesn't follow symlinks.
58053         (Files): Remove lib/lchown.h
58054         (Depends-on): Add unistd.
58055         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
58056         (Include): Include <unistd.h>, not "lchown.h".
58057         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
58058         REPLACE_LCHOWN.
58059
58060 2007-06-15  Jim Meyering  <jim@meyering.net>
58061
58062         Change license (GPL to LGPL) of fsusage and dependents.
58063         * modules/fsusage (License): Change to LGPL.
58064         * modules/full-read (License): Likewise.
58065         * modules/full-write (License): Likewise.
58066         * modules/safe-read (License): Likewise.
58067         * modules/safe-write (License): Likewise.
58068
58069 2007-06-14  Ben Pfaff  <blp@gnu.org>
58070
58071         Missing part of allocsa -> malloca transition.
58072         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
58073         gl_MALLOCA.
58074
58075 2007-06-12  Bruno Haible  <bruno@clisp.org>
58076
58077         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
58078         to ia64, x86_64, i386.
58079         Reported by Eric Blake.
58080
58081 2007-06-12  Bruno Haible  <bruno@clisp.org>
58082
58083         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
58084         cross-compiling to x86_64.
58085
58086 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
58087
58088         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
58089         glitch reported by Ralf Wildenhues in
58090         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
58091
58092         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
58093         Vin Shelton.
58094
58095 2007-06-11  Bruno Haible  <bruno@clisp.org>
58096
58097         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
58098         replacement string.
58099         Reported by Eric Blake.
58100
58101 2007-06-10  Bruno Haible  <bruno@clisp.org>
58102
58103         Prepare vasnprintf code for use with Unicode strings.
58104         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
58105         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
58106         TYPE_U32_STRING.
58107         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
58108         a_u32_string variants.
58109         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58110         * lib/printf-args.c: Don't include config.h and the specification
58111         header if PRINTF_FETCHARGS is already defined.
58112         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
58113         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
58114         TYPE_U16_STRING, TYPE_U32_STRING.
58115         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
58116         u16_directive, u16_directives, u32_directive, u32_directives): New
58117         types.
58118         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
58119         New declarations.
58120         * lib/printf-parse.c: Don't include config.h and the specification
58121         header if PRINTF_PARSE is already defined. Eliminate the set of
58122         parameters for WIDE_CHAR_VERSION; the user of this file must provide
58123         them now. Include c-ctype.h.
58124         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
58125         directive and CHAR_T_ONLY_ASCII.
58126         * lib/vasnprintf.c: Don't include config.h and the specification header
58127         if VASNPRINTF is already defined.
58128         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
58129         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
58130         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
58131         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
58132         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
58133         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
58134         code accordingly.
58135         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
58136         pad_ourselves also in this case, with the 'c' and 's' directives, and
58137         with a different notion of "width".
58138         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
58139
58140 2007-06-10  Bruno Haible  <bruno@clisp.org>
58141
58142         * modules/unistr/u32-mbsnlen: New file.
58143         * lib/unistr/u32-mbsnlen.c: New file.
58144
58145         * modules/unistr/u16-mbsnlen: New file.
58146         * lib/unistr/u16-mbsnlen.c: New file.
58147
58148         * modules/unistr/u8-mbsnlen: New file.
58149         * lib/unistr/u8-mbsnlen.c: New file.
58150
58151         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
58152         declarations.
58153
58154 2007-06-10  Bruno Haible  <bruno@clisp.org>
58155
58156         * lib/string_.h (mbsnlen): New declaration.
58157         * lib/mbsnlen.c: New file.
58158         * m4/mbsnlen.m4: New file.
58159         * modules/mbsnlen: New file.
58160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
58161         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
58162         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
58163
58164 2007-06-10  Bruno Haible  <bruno@clisp.org>
58165
58166         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
58167
58168 2007-06-10  Bruno Haible  <bruno@clisp.org>
58169
58170         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
58171         * lib/mbuiter.h: Likewise.
58172
58173 2007-06-10  Bruno Haible  <bruno@clisp.org>
58174
58175         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
58176         declaration.
58177
58178 2007-06-10  Karl Berry  <karl@gnu.org>
58179
58180         * config/srclist.txt: remove gettext entries, Bruno prefers
58181         to update individually.
58182
58183 2007-06-10  Bruno Haible  <bruno@clisp.org>
58184
58185         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
58186         'maxlen'. Ensure only length + width bytes are allocated, not
58187         length + 1 + width.
58188
58189 2007-06-09  Bruno Haible  <bruno@clisp.org>
58190
58191         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
58192         (CHAR_T): Remove macro.
58193         (VASNPRINTF): Update.
58194
58195 2007-06-09  Bruno Haible  <bruno@clisp.org>
58196
58197         * MODULES.html.sh (Unicode string functions): Add the new modules.
58198
58199         * modules/uniconv/u32-conv-to-enc: New file.
58200         * lib/uniconv/u32-conv-to-enc.c: New file.
58201         * modules/uniconv/u32-conv-to-enc-tests: New file.
58202         * tests/uniconv/test-u32-conv-to-enc.c: New file.
58203
58204         * modules/uniconv/u16-conv-to-enc: New file.
58205         * lib/uniconv/u16-conv-to-enc.c: New file.
58206         * lib/uniconv/u-conv-to-enc.h: New file.
58207         * modules/uniconv/u16-conv-to-enc-tests: New file.
58208         * tests/uniconv/test-u16-conv-to-enc.c: New file.
58209
58210         * modules/uniconv/u8-conv-to-enc: New file.
58211         * lib/uniconv/u8-conv-to-enc.c: New file.
58212         * modules/uniconv/u8-conv-to-enc-tests: New file.
58213         * tests/uniconv/test-u8-conv-to-enc.c: New file.
58214
58215         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
58216         u32_conv_to_encoding): New declarations.
58217
58218 2007-06-09  Bruno Haible  <bruno@clisp.org>
58219
58220         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
58221
58222 2007-06-09  Bruno Haible  <bruno@clisp.org>
58223
58224         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
58225         * modules/malloca: Renamed from modules/allocsa, updated.
58226         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
58227         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
58228         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
58229         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
58230         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
58231         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
58232         * modules/xmalloca: Renamed from modules/xallocsa, updated.
58233         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
58234         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
58235         * modules/c-strcasestr (Depends-on): Update.
58236         * lib/c-strcasestr.c: Update.
58237         * modules/c-strstr (Depends-on): Update.
58238         * lib/c-strstr.c: Update.
58239         * modules/canonicalize-lgpl (Depends-on): Update.
58240         * lib/canonicalize-lgpl.c: Update.
58241         * modules/clean-temp (Depends-on): Update.
58242         * lib/clean-temp.c: Update.
58243         * modules/csharpcomp (Depends-on): Update.
58244         * lib/csharpcomp.c: Update.
58245         * modules/csharpexec (Depends-on): Update.
58246         * lib/csharpexec.c: Update.
58247         * modules/javacomp (Depends-on): Update.
58248         * lib/javacomp.c: Update.
58249         * modules/javaexec (Depends-on): Update.
58250         * lib/javaexec.c: Update.
58251         * modules/mbscasestr (Depends-on): Update.
58252         * lib/mbscasestr.c: Update.
58253         * modules/mbsstr (Depends-on): Update.
58254         * lib/mbsstr.c: Update.
58255         * modules/setenv (Depends-on): Update.
58256         * lib/setenv.c: Update.
58257         * modules/strcasestr (Depends-on): Update.
58258         * lib/strcasestr.c: Update.
58259         * modules/striconveha (Depends-on): Update.
58260         * lib/striconveha.c: Update.
58261         * modules/relocatable-prog-wrapper (Files): Update.
58262         * lib/relocwrapper.c: Update.
58263         * build-aux/install-reloc: Update.
58264         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
58265
58266 2007-06-08  Bruno Haible  <bruno@clisp.org>
58267
58268         Port to uClibc.
58269         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
58270         * lib/fpurge.c (fpurge): Likewise.
58271         * lib/freading.c (freading): Likewise.
58272         * lib/fseeko.c (rpl_fseeko): Likewise.
58273         * lib/fseterr.c (fseterr): Likewise.
58274         * lib/fwriting.c (fwriting): Likewise.
58275         * tests/test-fflush.c (main): Avoid a failure on uClibc.
58276
58277 2007-06-08  Bruno Haible  <bruno@clisp.org>
58278
58279         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
58280         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
58281         * modules/gettext (Files): Add m4/intlmacosx.m4.
58282
58283 2007-06-07  Bruno Haible  <bruno@clisp.org>
58284
58285         * modules/localename-tests: New file.
58286         * tests/test-localename.c: New file.
58287
58288         New module 'localename'.
58289         * lib/localename.h: New file.
58290         * lib/localename.c: New file, from GNU gettext.
58291         * m4/localename.m4: New file.
58292         * modules/localename: New file.
58293
58294 2007-06-07  Bruno Haible  <bruno@clisp.org>
58295
58296         Work around the lack of <wchar.h> on some builds of uClibc.
58297         * doc/headers/wchar.texi: Update.
58298         * lib/wchar_.h: Include <wchar.h> only if it exists.
58299         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
58300         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
58301         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
58302         doesn't exist.
58303         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
58304         * modules/mbfile (Depends-on): Add wchar.
58305         * modules/mbiter (Depends-on): Likewise.
58306         * modules/mbuiter (Depends-on): Likewise.
58307         Reported by Simon Josefsson.
58308
58309 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58310
58311         Work around problem reported by Steven M. Schweda in
58312         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
58313         Tru64 5.1B with the Compaq compiler environment installed declares
58314         an 'isblank' function but does not define it in the C library.
58315         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
58316         * lib/regex_internal.h (isblank): Likewise.
58317         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
58318         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58319
58320 2007-06-05  Bruno Haible  <bruno@clisp.org>
58321
58322         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
58323         ia64.
58324         * modules/printf-safe: New file.
58325         * modules/fprintf-posix (Depends-on): Add printf-safe.
58326         * modules/printf-posix (Depends-on): Likewise.
58327         * modules/snprintf-posix (Depends-on): Likewise.
58328         * modules/sprintf-posix (Depends-on): Likewise.
58329         * modules/vasnprintf-posix (Depends-on): Likewise.
58330         * modules/vasprintf-posix (Depends-on): Likewise.
58331         * modules/vfprintf-posix (Depends-on): Likewise.
58332         * modules/vprintf-posix (Depends-on): Likewise.
58333         * modules/vsnprintf-posix (Depends-on): Likewise.
58334         * modules/vsprintf-posix (Depends-on): Likewise.
58335         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
58336         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
58337         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
58338         "no" on i386, x86_64, ia64.
58339         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
58340         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58341         on i386, x86_64, ia64.
58342         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
58343         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58344         on i386, x86_64, ia64.
58345         * tests/test-vasnprintf-posix.c: Include float.h.
58346         (LDBL80_WORDS): New macro.
58347         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58348         on i386, x86_64, ia64.
58349         * tests/test-vasprintf-posix.c: Include float.h.
58350         (LDBL80_WORDS): New macro.
58351         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
58352         on i386, x86_64, ia64.
58353         * tests/test-snprintf-posix.c: Include float.h.
58354         * tests/test-sprintf-posix.c: Likewise.
58355         * tests/test-vsnprintf-posix.c: Likewise.
58356         * tests/test-vsprintf-posix.c: Likewise.
58357
58358 2007-06-05  Bruno Haible  <bruno@clisp.org>
58359
58360         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
58361         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
58362         non-IEEE numbers on i386, x86_64, ia64.
58363         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
58364         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
58365         * tests/test-isnanl.h: Include float.h.
58366         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
58367
58368 2007-06-05  Bruno Haible  <bruno@clisp.org>
58369
58370         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
58371         also the %a / %A. Handle the %a / %A code before this extra handling.
58372
58373 2007-06-05  Bruno Haible  <bruno@clisp.org>
58374
58375         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
58376         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
58377
58378 2007-06-05  Bruno Haible  <bruno@clisp.org>
58379
58380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
58381         typo in variable name.
58382
58383 2007-06-05  Eric Blake  <ebb9@byu.net>
58384
58385         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
58386         Reported by Simon Josefsson.
58387
58388 2007-06-04  Bruno Haible  <bruno@clisp.org>
58389
58390         Avoid test failures on some PowerPC platforms.
58391         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
58392         Define differently for PowerPC.
58393         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
58394         Reported by Gary V. Vaughan <gary@gnu.org>.
58395
58396 2007-06-02  Bruno Haible  <bruno@clisp.org>
58397
58398         Fix test-stdint failure on FreeBSD/ia64.
58399         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
58400         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
58401         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
58402         * doc/headers/stdint.texi: Update.
58403
58404 2007-06-01  Bruno Haible  <bruno@clisp.org>
58405
58406         * tests/test-binary-io.c (main): Pass a third argument to open().
58407         Reported by Gary V. Vaughan <gary@gnu.org>.
58408
58409 2007-06-01  Bruno Haible  <bruno@clisp.org>
58410
58411         * doc/functions/frexpl.texi: Update for mingw.
58412
58413 2007-06-01  Bruno Haible  <bruno@clisp.org>
58414
58415         * tests/test-lseek.c (main): Disable test of errno for invalid third
58416         argument.
58417         * doc/functions/lseek.texi: Update.
58418         Reported by Gary V. Vaughan <gary@gnu.org>.
58419
58420 2007-05-28  Bruno Haible  <bruno@clisp.org>
58421
58422         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
58423
58424 2007-05-31  Eric Blake  <ebb9@byu.net>
58425
58426         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
58427         cross compiling.
58428
58429 2007-05-30  Eric Blake  <ebb9@byu.net>
58430         and Bruno Haible  <bruno@clisp.org>
58431
58432         Work around mingw test failures exposed by m4-1.4.9b.
58433         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
58434         * tests/test-unistd.c: Disable uid_t and git_t tests for the
58435         moment.
58436
58437 2007-05-30  Bruno Haible  <bruno@clisp.org>
58438
58439         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
58440         assuming that they are closed. Needed on HP-UX 11.
58441
58442 2007-05-29  Bruno Haible  <bruno@clisp.org>
58443
58444         Fix a problem with #include_next.
58445         * lib/dirent_.h: Split the double-inclusion guard.
58446         * lib/fcntl_.h: Likewise.
58447         * lib/float_.h: Likewise.
58448         * lib/iconv_.h: Likewise.
58449         * lib/inttypes_.h: Likewise.
58450         * lib/locale_.h: Likewise.
58451         * lib/math_.h: Likewise.
58452         * lib/netinet_in_.h: Likewise.
58453         * lib/search_.h: Likewise.
58454         * lib/signal_.h: Likewise.
58455         * lib/stdint_.h: Likewise.
58456         * lib/stdio_.h: Likewise.
58457         * lib/stdlib_.h: Likewise.
58458         * lib/string_.h: Likewise.
58459         * lib/sys_select_.h: Likewise.
58460         * lib/sys_socket_.h: Likewise.
58461         * lib/sys_stat_.h: Likewise.
58462         * lib/sys_time_.h: Likewise.
58463         * lib/sysexits_.h: Likewise.
58464         * lib/time_.h: Likewise.
58465         * lib/unistd_.h: Likewise.
58466         * lib/wchar_.h: Likewise.
58467         * lib/wctype_.h: Likewise.
58468
58469 2007-05-29  Bruno Haible  <bruno@clisp.org>
58470
58471         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
58472         for the moment.
58473
58474 2007-05-29  Bruno Haible  <bruno@clisp.org>
58475
58476         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
58477         invocation.
58478         Reported by Eric Blake.
58479
58480 2007-05-29  Bruno Haible  <bruno@clisp.org>
58481
58482         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
58483         compiling case.
58484
58485 2007-05-29  Eric Blake  <ebb9@byu.net>
58486             Bruno Haible  <bruno@clisp.org>
58487
58488         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
58489         cross compiles.
58490
58491 2007-05-28  Eric Blake  <ebb9@byu.net>
58492
58493         * modules/closein-tests (test_closein_LDADD): Support test on
58494         cygwin with libtool.
58495
58496 2007-05-28  Bruno Haible  <bruno@clisp.org>
58497
58498         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
58499         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58500         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58501         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58502         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58503         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58504         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58505         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58506         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58507
58508 2007-05-28  Eric Blake  <ebb9@byu.net>
58509
58510         Unconditionally include <config.h> in unit tests.
58511         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
58512         * tests/test-allocsa.c, tests/test-arcfour.c,
58513         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
58514         tests/test-array_list.c, tests/test-array_oset.c,
58515         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
58516         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
58517         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
58518         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
58519         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
58520         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
58521         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
58522         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
58523         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
58524         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
58525         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
58526         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
58527         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
58528         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
58529         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
58530         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
58531         test-md5.c, test-memmem.c, test-printf-posix.c,
58532         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
58533         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
58534         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
58535         test-strcasestr.c, test-striconv.c, test-striconveh.c,
58536         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
58537         test-vasnprintf-posix2.c, test-vasnprintf.c,
58538         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
58539         test-vfprintf-posix.c, test-vprintf-posix.c,
58540         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
58541         test-xvasprintf.c: Likewise.
58542
58543 2007-05-28  Bruno Haible  <bruno@clisp.org>
58544
58545         * gnulib-tool (func_import): Remember the --with-tests command-line
58546         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
58547         Reported by Eric Blake.
58548
58549 2007-05-28  Bruno Haible  <bruno@clisp.org>
58550
58551         * modules/ftell-tests: New file.
58552         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
58553         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
58554
58555         * lib/ftell.c: New file.
58556         * modules/ftell: New file.
58557         * m4/ftell.m4: New file.
58558         * doc/functions/ftell.texi: Update.
58559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
58560         REPLACE_FTELL.
58561         * lib/stdio_.h (rpl_ftell): New declaration.
58562         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
58563         REPLACE_FTELL.
58564
58565 2007-05-28  Eric Blake  <ebb9@byu.net>
58566
58567         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
58568
58569 2007-05-28  Bruno Haible  <bruno@clisp.org>
58570
58571         * modules/fseek-tests: New file.
58572         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
58573         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
58574
58575         * lib/fseek.c: New file.
58576         * modules/fseek: New file.
58577         * m4/fseek.m4: New file.
58578         * doc/functions/fseek.texi: Update.
58579         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
58580         REPLACE_FSEEK.
58581         * lib/stdio_.h (rpl_fseek): New declaration.
58582         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
58583         REPLACE_FSEEK.
58584
58585 2007-05-28  Bruno Haible  <bruno@clisp.org>
58586
58587         * lib/stdio_.h (fflush): More comments.
58588
58589 2007-05-28  Bruno Haible  <bruno@clisp.org>
58590
58591         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
58592         runtime test.
58593
58594 2007-05-28  Eric Blake  <ebb9@byu.net>
58595
58596         Improve lseek module.
58597         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
58598         * lib/unistd_.h (lseek): Scale back link warning message.
58599         * tests/test-lseek.c: Beef up test.
58600         * tests/test-lseek.sh: Exercise more facets of lseek.
58601         Reported by Bruno Haible.
58602
58603 2007-05-28  Bruno Haible  <bruno@clisp.org>
58604
58605         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
58606         to define.
58607
58608 2007-05-27  Bruno Haible  <bruno@clisp.org>
58609
58610         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
58611
58612 2007-05-27  Bruno Haible  <bruno@clisp.org>
58613
58614         * modules/openmp: New file.
58615         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
58616         Noah Misch.
58617
58618 2007-05-26  Bruno Haible  <bruno@clisp.org>
58619
58620         * modules/chdir-long (Depends-on): Add fchdir.
58621         * modules/chdir-safer (Depends-on): Likewise.
58622         * modules/fts (Depends-on): Likewise.
58623         * modules/fts-lgpl (Depends-on): Likewise.
58624         * modules/openat (Depends-on): Likewise.
58625         * modules/savewd (Depends-on): Likewise.
58626
58627 2007-05-24  Eric Blake  <ebb9@byu.net>
58628
58629         Fix lseek on mingw.
58630         * modules/lseek: New module.
58631         * m4/lseek.m4: New file.
58632         * lib/lseek.c: New file.
58633         * modules/lseek-tests: New file.
58634         * tests/test-lseek.c: New file.
58635         * tests/test-lseek.sh: New file.
58636         * MODULES.html.sh: Document lseek module.
58637         * modules/fflush (Depends-on): Add lseek, fseeko.
58638         * modules/fseeko (Depends-on): Likewise.
58639         * modules/ftello (Depends-on): Likewise.
58640         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
58641         broken.
58642         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
58643         broken.
58644         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
58645         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
58646         * lib/ftello.c (rpl_ftello): Likewise.
58647         * tests/test-fseeko.c (main): Test this.
58648         * tests/test-fseeko.sh: Likewise.
58649         * tests/test-ftello.c (main): Likewise.
58650         * tests/test-ftello.sh: Likewise.
58651         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
58652         implies replacing fseek.
58653         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
58654         HAVE_FTELLO.
58655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
58656         * modules/unistd (Makefile.am): Likewise.
58657         * lib/unistd_.h (lseek): Declare a replacement.
58658         * doc/functions/lseek.texi (lseek): Document this fix.
58659         * doc/functions/fseek.texi (fseek): Likewise.
58660         * doc/functions/ftell.texi (ftell): Likewise.
58661
58662 2007-05-24  Bruno Haible  <bruno@clisp.org>
58663
58664         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
58665         in the printed representation of a NaN.
58666         * tests/test-vasprintf-posix.c (test_function): Likewise.
58667         * tests/test-snprintf-posix.h (test_function): Likewise.
58668         * tests/test-sprintf-posix.h (test_function): Likewise.
58669         Reported by Eric Blake.
58670
58671 2007-05-23  Eric Blake  <ebb9@byu.net>
58672
58673         Fix fseeko/ftello on cygwin 1.5.24.
58674         * doc/functions/fseeko.texi (fseeko): Document the fix.
58675         * doc/functions/ftello.texi (ftello): Document the fix.
58676         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
58677         * doc/functions/stdout.text (stdout): New file.
58678         * doc/functions/stderr.text (stderr): New file.
58679         * doc/gnulib.texi (Function Substitutes): Use new files.
58680         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
58681         prior to 1.7.0.
58682         * tests/test-ftello.c (main): Likewise for ftello.
58683         * tests/test-fseeko.sh: New file.
58684         * tests/test-ftello.sh: New file.
58685         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
58686         with seekable stdin.
58687         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
58688         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
58689         (gl_REPLACE_FSEEKO): New macro.
58690         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
58691         * modules/fseeko (Files): Distribute fseeko.c.
58692         * modules/ftello (Files): Distribute ftello.c.
58693         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
58694         mode.
58695         * lib/ftello.c (rpl_ftello): New file.
58696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
58697         fseeko, ftello.
58698         (gl_STDIN_LARGE_OFFSET): New macro.
58699         * modules/stdio (Makefile.am): Perform the replacement.
58700         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
58701
58702 2007-05-23  Bruno Haible  <bruno@clisp.org>
58703
58704         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
58705         GNULIB_POSIXCHECK is defined.
58706
58707 2007-05-21  Bruno Haible  <bruno@clisp.org>
58708
58709         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
58710         Check also the output for NaN arguments. When cross-compiling, guess
58711         no on IRIX.
58712         * lib/vasnprintf.c: Update comments.
58713         * tests/test-vasnprintf-posix.c (strisnan): New function.
58714         (test_function): Use it.
58715         * tests/test-vasprintf-posix.c (strisnan): New function.
58716         (test_function): Use it.
58717         * tests/test-snprintf-posix.h (strisnan): New function.
58718         (test_function): Use it.
58719         * tests/test-sprintf-posix.h (strisnan): New function.
58720         (test_function): Use it.
58721         Reported by Eric Blake.
58722
58723 2007-05-20  Bruno Haible  <bruno@clisp.org>
58724
58725         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
58726         numbers that fails on BeOS.
58727         * doc/functions/frexpl.texi: Update.
58728
58729 2007-05-20  Jim Meyering  <jim@meyering.net>
58730
58731         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
58732         forced upon us by glibc-2.6.
58733
58734 2007-05-20  Bruno Haible  <bruno@clisp.org>
58735
58736         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
58737         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
58738         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
58739         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
58740         NEED_PRINTF_INFINITE.
58741         (is_infinitel): New function.
58742         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
58743         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
58744         gl_PREREQ_VASNPRINTF_INFINITE.
58745         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
58746         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58747         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
58748         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
58749         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
58750         gl_PREREQ_VASNPRINTF_INFINITE.
58751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58752         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58753         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58754         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58755         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58756         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58758         * doc/functions/fprintf.texi: Update.
58759         * doc/functions/printf.texi: Update.
58760         * doc/functions/snprintf.texi: Update.
58761         * doc/functions/sprintf.texi: Update.
58762         * doc/functions/vfprintf.texi: Update.
58763         * doc/functions/vprintf.texi: Update.
58764         * doc/functions/vsnprintf.texi: Update.
58765         * doc/functions/vsprintf.texi: Update.
58766
58767 2007-05-20  Bruno Haible  <bruno@clisp.org>
58768
58769         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
58770         was not found in libc.
58771         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
58772
58773 2007-05-20  Bruno Haible  <bruno@clisp.org>
58774
58775         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58776         printed as "-nan" instead of "nan".
58777         * tests/test-vasprintf-posix.c (test_function): Likewise.
58778         * tests/test-snprintf-posix.h (test_function): Likewise.
58779         * tests/test-sprintf-posix.h (test_function): Likewise.
58780         Needed for HP-UX 11.
58781
58782 2007-05-20  Jim Meyering  <jim@meyering.net>
58783
58784         Fix buggy test for the fchownat-deref bug.
58785         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
58786         symlink required for the run-test.  Without it, this test would
58787         always declare that fchownat doesn't work, and client code would
58788         unnecessarily use the replacement function with fixed libc.
58789         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
58790         Reported by Greg Schafer.
58791
58792 2007-05-19  Bruno Haible  <bruno@clisp.org>
58793
58794         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
58795         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
58796         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
58797         Needed for IRIX 6.5 and Solaris 2.5.1.
58798
58799 2007-05-19  Bruno Haible  <bruno@clisp.org>
58800
58801         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
58802         (test_function): Skip tests involving -0.0 on platforms where
58803         -0.0 = 0.0.
58804         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
58805         (test_function): Skip tests involving -0.0 on platforms where
58806         -0.0 = 0.0.
58807         * tests/test-snprintf-posix.h (have_minus_zero): New function.
58808         (test_function): Skip tests involving -0.0 on platforms where
58809         -0.0 = 0.0.
58810         * tests/test-sprintf-posix.h (have_minus_zero): New function.
58811         (test_function): Skip tests involving -0.0 on platforms where
58812         -0.0 = 0.0.
58813         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
58814         tests.
58815         * tests/test-printf-posix.h (test_function): Likewise.
58816         * tests/test-printf-posix.output: Remove all -0.0 related results.
58817         Needed for IRIX 6.5.
58818
58819 2007-05-19  Bruno Haible  <bruno@clisp.org>
58820
58821         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
58822         printed as "nan0x7fffffff" instead of "nan".
58823         * tests/test-vasprintf-posix.c (test_function): Likewise.
58824         * tests/test-snprintf-posix.h (test_function): Likewise.
58825         * tests/test-sprintf-posix.h (test_function): Likewise.
58826         * tests/test-fprintf-posix.h (NaN): Remove macro.
58827         (test_function): Remove all NaN related tests.
58828         * tests/test-printf-posix.h (NaN): Remove macro.
58829         (test_function): Remove all NaN related tests.
58830         * tests/test-printf-posix.output: Remove all NaN related results.
58831         Needed for IRIX 6.5.
58832
58833 2007-05-19  Bruno Haible  <bruno@clisp.org>
58834
58835         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
58836         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
58837
58838 2007-05-19  Bruno Haible  <bruno@clisp.org>
58839
58840         * lib/float_.h: New file.
58841         * m4/float_h.m4: New file.
58842         * modules/float: New file.
58843         * modules/isnanl (Dependencies): Add float.
58844         * modules/isnanl-nolibm (Dependencies): Likewise.
58845         * modules/mathl (Dependencies): Likewise.
58846         * modules/printf-frexpl (Dependencies): Likewise.
58847         * modules/signbit (Dependencies): Likewise.
58848         * modules/vasnprintf (Dependencies): Likewise.
58849         * doc/headers/float.texi: Update.
58850
58851 2007-05-19  Jim Meyering  <jim@meyering.net>
58852
58853         * lib/utimens.c (gl_futimens): Rename from futimens,
58854         now that glibc-2.6 declares futimens.
58855         * lib/utimens.h: Likewise.
58856
58857 2007-05-19  Bruno Haible  <bruno@clisp.org>
58858
58859         Avoid test failures on mingw.
58860         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
58861         * tests/test-printf-posix.sh: Likewise.
58862         * tests/test-vfprintf-posix.sh: Likewise.
58863         * tests/test-vprintf-posix.sh: Likewise.
58864
58865 2007-05-19  Bruno Haible  <bruno@clisp.org>
58866
58867         Fix *printf result for NaN, Inf, -0.0 on mingw.
58868         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
58869         * lib/vasnprintf.c: Include math.h and isnan.h.
58870         (is_infinite_or_zero): New function.
58871         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
58872         values in the %f, %F, %e, %E, %g, %G directives.
58873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
58874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58875         gl_PRINTF_INFINITE and test its result. Invoke
58876         gl_PREREQ_VASNPRINTF_INFINITE.
58877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58884         * doc/functions/fprintf.texi: Update.
58885         * doc/functions/printf.texi: Update.
58886         * doc/functions/snprintf.texi: Update.
58887         * doc/functions/sprintf.texi: Update.
58888         * doc/functions/vfprintf.texi: Update.
58889         * doc/functions/vprintf.texi: Update.
58890         * doc/functions/vsnprintf.texi: Update.
58891         * doc/functions/vsprintf.texi: Update.
58892
58893 2007-05-19  Bruno Haible  <bruno@clisp.org>
58894
58895         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
58896         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
58897         Instead of multiplying with 10^k, set extra_zeroes to k.
58898         (scale10_round_long_double): Remove function.
58899
58900 2007-05-18  Bruno Haible  <bruno@clisp.org>
58901
58902         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
58903         introduced on 2007-05-06.
58904
58905 2007-05-18  Bruno Haible  <bruno@clisp.org>
58906
58907         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
58908         %g directives.
58909         * tests/test-vasprintf-posix.c (test_function): Likewise.
58910         * tests/test-snprintf-posix.h (test_function): Likewise.
58911         * tests/test-sprintf-posix.h (test_function): Likewise.
58912
58913 2007-05-18  Bruno Haible  <bruno@clisp.org>
58914
58915         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
58916         (strmatch): New function.
58917         (test_function): Test the %f directive on numbers of various exponents.
58918         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
58919         (strmatch): New function.
58920         (test_function): Test the %f directive on numbers of various exponents.
58921         * tests/test-snprintf-posix.h (strmatch): New function.
58922         (test_function): Test the %f directive on numbers of various exponents.
58923         * tests/test-sprintf-posix.h (strmatch): New function.
58924         (test_function): Test the %f directive on numbers of various exponents.
58925         * tests/test-snprintf-posix.c (SIZEOF): New macro.
58926         * tests/test-sprintf-posix.c (SIZEOF): New macro.
58927         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
58928         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
58929
58930 2007-05-18  Bruno Haible  <bruno@clisp.org>
58931
58932         Add support for 'long double' number output.
58933         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
58934         * lib/vasnprintf.c: Include math.h and float+.h.
58935         (mp_limb_t): New type.
58936         (GMP_LIMB_BITS): New macro.
58937         (mp_twolimb_t): New type.
58938         (GMP_TWOLIMB_BITS): New macro.
58939         (mpn_t): New type.
58940         (multiply, divide, convert_to_decimal, decode_long_double,
58941         scale10_round_long_double, scale10_round_decimal_long_double,
58942         floorlog10l): New functions.
58943         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
58944         for the %f, %F, %e, %E, %g, %G directives.
58945         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
58946         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58947         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
58948         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
58949         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58950         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58951         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58952         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58953         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58954         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58955         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58956         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
58957         * modules/snprintf-posix (Depends-on): Likewise.
58958         * modules/sprintf-posix (Depends-on): Likewise.
58959         * modules/vasnprintf-posix (Depends-on): Likewise.
58960         * modules/vasprintf-posix (Depends-on): Likewise.
58961         * modules/vfprintf-posix (Depends-on): Likewise.
58962         * modules/vsnprintf-posix (Depends-on): Likewise.
58963         * modules/vsprintf-posix (Depends-on): Likewise.
58964         * modules/vasnprintf (Files): Add lib/float+.h.
58965         * doc/functions/fprintf.texi: Update.
58966         * doc/functions/printf.texi: Update.
58967         * doc/functions/snprintf.texi: Update.
58968         * doc/functions/sprintf.texi: Update.
58969         * doc/functions/vfprintf.texi: Update.
58970         * doc/functions/vprintf.texi: Update.
58971         * doc/functions/vsnprintf.texi: Update.
58972         * doc/functions/vsprintf.texi: Update.
58973
58974 2007-05-18  Bruno Haible  <bruno@clisp.org>
58975
58976         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
58977
58978 2007-05-18  Bruno Haible  <bruno@clisp.org>
58979
58980         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
58981         for printing 64-bit integers. Needed for mingw.
58982
58983 2007-05-18  Bruno Haible  <bruno@clisp.org>
58984
58985         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58986         gl_FUNC_FREXPL_WORKS.
58987         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
58988
58989 2007-05-18  Bruno Haible  <bruno@clisp.org>
58990
58991         * modules/frexpl-nolibm-tests: New file.
58992
58993         * modules/frexpl-nolibm: New file.
58994         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
58995
58996 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58997
58998         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
58999         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59000         GCC 4.2, which otherwise issues a lot of warnings.
59001         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
59002         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
59003         Likewise.
59004         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
59005         * modules/iconv_open (iconv.h): Likewise.
59006         * modules/locale (locale.h): Likewise.
59007         * modules/netinet_in (netinet/in.h): Likewise.
59008         * modules/sys_select (sys_select.h): Likewise.
59009         * modules/sys_socket (sys/socket.h): Likewise.
59010         * modules/sys_stat (sys/stat.h): Likewise.
59011         * modules/sysexits (sysexits.h): Likewise.
59012         * modules/unistd (unistd.h): Likewise.
59013
59014 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59015
59016         * modules/closein-tests (Makefile.am): Distribute
59017         `test-closein.sh'.
59018
59019 2007-05-17  Bruno Haible  <bruno@clisp.org>
59020
59021         * tests/test-printf-posix.output: Renamed from
59022         tests/test-fprintf-posix.out.
59023         * modules/fprintf-posix-tests: Update.
59024         * modules/printf-posix-tests: Update.
59025         * modules/vfprintf-posix-tests: Update.
59026         * modules/vprintf-posix-tests: Update.
59027         * tests/test-fprintf-posix.sh: Update.
59028         * tests/test-printf-posix.sh: Update.
59029         * tests/test-vfprintf-posix.sh: Update.
59030         * tests/test-vprintf-posix.sh: Update.
59031         Reported by Ralf Wildenhues.
59032
59033 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59034
59035         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
59036         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
59037         GCC 4.2, which otherwise issues a lot of warnings.
59038         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
59039         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
59040         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
59041         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
59042         it should no longer be needed.
59043         * lib/string_.h: Likewise.
59044         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
59045         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
59046         * modules/inttypes (inttypes.h): Likewise.
59047         * modules/math (math.h): Likewise.
59048         * modules/search (search.h): Likewise.
59049         * modules/signal (signal.h): Likewise.
59050         * modules/stdint (stdint.h): Likewise.
59051         * modules/stdio (stdio.h): Likewise.
59052         * modules/stdlib (stdlib.h): Likewise.
59053         * modules/string (string.h): Likewise.
59054         * modules/sys_time (sys/time.h): Likewise.
59055         * modules/time (time.h): Likewise.
59056         * modules/wchar (wchar.h): Likewise.
59057         * modules/wctype (wtype.h): Likewise.
59058
59059 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59060
59061         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
59062
59063 2007-05-13  Bruno Haible  <bruno@clisp.org>
59064
59065         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
59066         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59067         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
59068         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59069         (gl_PREREQ_STRTOK_R): Don't require it here.
59070
59071 2007-05-13  Bruno Haible  <bruno@clisp.org>
59072
59073         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
59074         when used in C++ mode.
59075
59076 2007-05-12  Bruno Haible  <bruno@clisp.org>
59077
59078         * lib/linebuffer.h: Tweak doc.
59079         * lib/linebuffer.c: Likewise.
59080
59081 2007-05-12  James Youngman  <jay@gnu.org>
59082
59083         * lib/linebuffer.c (readlinebuffer_delim): New function,
59084         like readlinebuffer, but use a caller-specified delimiter.
59085         (readlinebuffer): Just call readlinebuffer_delim with '\n'
59086         as the delimiter.
59087         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
59088
59089 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59090
59091         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
59092         * modules/openat (Files): Remove openat-die.c.
59093         (Depends-on): Add openat-die.
59094         * modules/openat-die: New module.
59095
59096 2007-05-06  Bruno Haible  <bruno@clisp.org>
59097
59098         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
59099         Update with info about Cygwin.
59100         * doc/functions/fprintf.texi: Update.
59101         * doc/functions/printf.texi: Update.
59102         * doc/functions/snprintf.texi: Update.
59103         * doc/functions/sprintf.texi: Update.
59104         * doc/functions/vfprintf.texi: Update.
59105         * doc/functions/vprintf.texi: Update.
59106         * doc/functions/vsnprintf.texi: Update.
59107         * doc/functions/vsprintf.texi: Update.
59108         Reported by Eric Blake.
59109
59110 2007-05-06  Bruno Haible  <bruno@clisp.org>
59111
59112         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
59113         padding ourselves for the floating-point directives.
59114         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
59115         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
59116         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59117         gl_PRINTF_FLAG_ZERO and test its result. Invoke
59118         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
59119         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59120         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59121         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59122         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59123         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59124         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59125         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59126         * tests/test-snprintf-posix.h (test_function): Also check the width
59127         and some flags in the %f directive.
59128         * tests/test-sprintf-posix.h (test_function): Likewise.
59129         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59130         * tests/test-vasprintf-posix.c (test_function): Likewise.
59131         * doc/functions/fprintf.texi: Update.
59132         * doc/functions/printf.texi: Update.
59133         * doc/functions/snprintf.texi: Update.
59134         * doc/functions/sprintf.texi: Update.
59135         * doc/functions/vfprintf.texi: Update.
59136         * doc/functions/vprintf.texi: Update.
59137         * doc/functions/vsnprintf.texi: Update.
59138         * doc/functions/vsprintf.texi: Update.
59139
59140 2007-05-06  Bruno Haible  <bruno@clisp.org>
59141
59142         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
59143         pass the ' flag character to sprintf or snprintf.
59144         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
59145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
59146         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59147         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
59148         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
59149         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59150         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
59151         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59152         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59153         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59156         * tests/test-snprintf-posix.h (test_function): Also check the grouping
59157         flag.
59158         * tests/test-sprintf-posix.h (test_function): Likewise.
59159         * tests/test-vasnprintf-posix.c (test_function): Likewise.
59160         * tests/test-vasprintf-posix.c (test_function): Likewise.
59161         * doc/functions/fprintf.texi: Update.
59162         * doc/functions/printf.texi: Update.
59163         * doc/functions/snprintf.texi: Update.
59164         * doc/functions/sprintf.texi: Update.
59165         * doc/functions/vfprintf.texi: Update.
59166         * doc/functions/vprintf.texi: Update.
59167         * doc/functions/vsnprintf.texi: Update.
59168         * doc/functions/vsprintf.texi: Update.
59169
59170 2007-05-01  Bruno Haible  <bruno@clisp.org>
59171
59172         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
59173
59174 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
59175
59176         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
59177         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
59178
59179 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59180
59181         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
59182         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
59183         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
59184
59185 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
59186
59187         * lib/argp-help.c (struct hol_entry): New member `ord'.
59188         (HOL_ENTRY_PTRCMP): Use ord for comparison
59189         (hol_sort): Initialize ord.
59190
59191 2007-05-01  Bruno Haible  <bruno@clisp.org>
59192
59193         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
59194         Reported by Eric Blake.
59195         * doc/gnulib.texi (Function Substitutes): Update.
59196
59197 2007-05-01  Bruno Haible  <bruno@clisp.org>
59198
59199         * doc/functions.texi: Remove file, now redundant through
59200         doc/functions/*.texi.
59201
59202 2007-05-01  Bruno Haible  <bruno@clisp.org>
59203
59204         * modules/argp (Depends-on): Add sleep.
59205
59206 2007-05-01  Bruno Haible  <bruno@clisp.org>
59207
59208         * modules/sleep-tests: New file.
59209         * tests/test-sleep.c: New file.
59210
59211         * modules/sleep: New file.
59212         * lib/sleep.c: New file.
59213         * m4/sleep.m4: New file.
59214         * lib/unistd_.h (sleep): New declaration.
59215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
59216         HAVE_SLEEP.
59217         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
59218         * doc/functions/sleep.texi: Document the sleep module.
59219
59220 2007-05-01  Bruno Haible  <bruno@clisp.org>
59221
59222         * lib/sigprocmask.h: Remove file.
59223         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
59224         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
59225         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
59226         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
59227         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
59228         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
59229         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
59230         HAVE_SIGSET_T as a shell variable.
59231         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
59232         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
59233         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
59234         (Depends-on): Add signal. Remove verify.
59235         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
59236         (Include): Mention <signal.h> instead of sigprocmask.h.
59237         * NEWS: Mention the change.
59238         * lib/fatal-signal.c: Don't include sigprocmask.h.
59239
59240 2007-05-01  Bruno Haible  <bruno@clisp.org>
59241
59242         * modules/signal: New file.
59243         * lib/signal_.h: New file.
59244         * m4/signal_h.m4: New file.
59245
59246 2007-05-01  Bruno Haible  <bruno@clisp.org>
59247
59248         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
59249         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
59250         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
59251         HAVE_WCTYPE_CTMP_BUG into wctype.h.
59252
59253 2007-05-01  Bruno Haible  <bruno@clisp.org>
59254
59255         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
59256         configure time.
59257         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
59258         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
59259         * modules/sys_stat (Makefile.am): Substitute their values into
59260         sys/stat.h.
59261
59262 2007-05-01  Bruno Haible  <bruno@clisp.org>
59263
59264         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
59265         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
59266         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
59267
59268 2007-05-01  Bruno Haible  <bruno@clisp.org>
59269
59270         * doc/header/assert.texi: Undo last change: don't mention the gnulib
59271         'assert' module here.
59272
59273 2007-05-01  Bruno Haible  <bruno@clisp.org>
59274
59275         * doc/functions/*.texi: New files.
59276         * doc/functions/google-ranking.txt: New file.
59277         * doc/gnulib.texi (Function Substitutes): New chapter.
59278         (ctime, inet_ntoa): Remove sections.
59279         * doc/ctime.texi: Remove file.
59280         * doc/inet_ntoa.texi: Remove file.
59281         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
59282         dependencies.
59283         (%.info): New rule, specifying a --reference-limit.
59284
59285 2007-05-01  Bruno Haible  <bruno@clisp.org>
59286
59287         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
59288
59289 2007-05-01  Bruno Haible  <bruno@clisp.org>
59290
59291         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
59292         the portability of 'mkdir' to mingw systems.
59293
59294 2007-05-01  Bruno Haible  <bruno@clisp.org>
59295
59296         * doc/headers/google-ranking.txt: New file.
59297
59298 2007-04-30  Eric Blake  <ebb9@byu.net>
59299
59300         Prefer fseeko to fseek.
59301         * modules/getpass (Depends-on): Add fseeko.
59302         * lib/getpass.c (getpass): Use fseeko, not fseek.
59303
59304 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
59305
59306         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
59307         assumes the sorting is stable, while most qsort implementations
59308         are not.  Use argument addresses to ensure they never compare as
59309         equal.
59310
59311         * tests/test-argp-2.sh (usage-indent test): Fix output
59312         (func_compare): Restore diff options
59313         * tests/test-argp.c: Restore #include "progname.h"
59314
59315 2007-04-29  Bruno Haible  <bruno@clisp.org>
59316
59317         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
59318         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59319         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
59320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59321         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
59322         (configure.ac): Define CHECK_SNPRINTF_POSIX.
59323         (TESTS, check_PROGRAMS): Add test-snprintf.
59324         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
59325         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
59326         (TESTS, check_PROGRAMS): Add test-vsnprintf.
59327         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
59328         assertions that fail on HP-UX, OSF/1, or IRIX.
59329         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
59330
59331 2007-04-29  Bruno Haible  <bruno@clisp.org>
59332
59333         * MODULES.html.sh (posix_functions): Remove 'contents'.
59334
59335 2007-04-29  Karl Berry  <karl@gnu.org>
59336
59337         * config/srclist.txt (gendocs_template_min): new entry.
59338
59339 2007-04-29  Bruno Haible  <bruno@clisp.org>
59340
59341         Work around fpurge bug on BSD systems.
59342         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
59343         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
59344         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
59345         fpurge to rpl_fpurge if the system already has this function.
59346         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
59347         the case where the system already has this function. Correct invariants
59348         on BSD systems.
59349         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
59350         BSD systems.
59351
59352 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59353
59354         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
59355         proposed by Sven Verdoolaege.
59356
59357         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
59358         options.
59359         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
59360         (usage and help tests): Update
59361
59362 2007-04-29  Bruno Haible  <bruno@clisp.org>
59363
59364         * tests/test-fflush.c (main): Use a file of size 17, not 10.
59365         Print more information in case of failure. Disable a test on BeOS.
59366
59367 2007-04-29  Bruno Haible  <bruno@clisp.org>
59368
59369         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
59370         This helps debugging on systems on which no gdb is available.
59371
59372 2007-04-29  Bruno Haible  <bruno@clisp.org>
59373
59374         * lib/freading.h: Improve comments.
59375         * lib/fwriting.h: Likewise.
59376         * tests/test-freading.c (main): Don't check freading immediately after
59377         repositioning. Needed for glibc.
59378
59379 2007-04-29  Bruno Haible  <bruno@clisp.org>
59380
59381         * lib/freading.c (freading): Trivial simplification.
59382
59383 2007-04-28  Bruno Haible  <bruno@clisp.org>
59384
59385         * tests/test-fwriting.c (main): Also test the interaction between
59386         fflush and fwriting.
59387         * modules/fwriting-tests (Depends-on): Add fflush.
59388
59389         * tests/test-freading.c (main): Also test the interaction between
59390         fflush and freading.
59391         * modules/freading-tests (Depends-on): Add fflush.
59392
59393 2007-04-28  Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
59396         fseeko and ftello.
59397         Suggested by Eric Blake.
59398
59399 2007-04-28  Jim Meyering  <jim@meyering.net>
59400
59401         Avoid false-negative in gl_STDINT_H's C99 conformance test.
59402         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
59403         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
59404
59405 2007-04-27  Eric Blake  <ebb9@byu.net>
59406
59407         * doc/headers/assert.texi (assert.h): Document assert module use.
59408
59409 2007-04-27  Bruno Haible  <bruno@clisp.org>
59410
59411         * doc/headers/*.texi: New files.
59412         * doc/gnulib.texi (Header File Substitutes): New chapter.
59413         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
59414         dependencies.
59415         (standards.info ,standards.html, standards.dvi): Update dependencies.
59416         (mostlyclean, clean): New targets.
59417
59418 2007-04-27  Bruno Haible  <bruno@clisp.org>
59419
59420         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
59421         * modules/sysexits (Files, Makefile.am): Update.
59422
59423         * lib/sys_socket_.h: Renamed from lib/socket_.h.
59424         * modules/sys_socket (Files, Makefile.am): Update.
59425
59426         * lib/sys_stat_.h: Renamed from lib/stat_.h.
59427         * modules/sys_stat (Files, Makefile.am): Update.
59428
59429 2007-04-27  Eric Blake  <ebb9@byu.net>
59430
59431         * lib/freading.h: Improve comments.
59432         * lib/fwriting.h: Likewise.
59433         * lib/fflush.c: Likewise.
59434
59435         Fix closein for mingw.
59436         * modules/closein-tests: Add tests for closein.
59437         * tests/test-closein.c: New file.
59438         * tests/test-closein.sh: Likewise.
59439         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
59440         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
59441
59442 2007-04-27  Bruno Haible  <bruno@clisp.org>
59443
59444         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
59445         version is < 6.
59446         * lib/math_.h [__DECC]: Likewise.
59447         * lib/stdio_.h [__DECC]: Likewise.
59448         * lib/stdlib_.h [__DECC]: Likewise.
59449         * lib/string_.h [__DECC]: Likewise.
59450         * lib/time_.h [__DECC]: Likewise.
59451         * lib/wchar_.h [__DECC]: Likewise.
59452         * lib/wctype_.h [__DECC]: Likewise.
59453
59454 2007-04-27  Bruno Haible  <bruno@clisp.org>
59455
59456         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
59457
59458 2007-04-27  Bruno Haible  <bruno@clisp.org>
59459
59460         * lib/fflush.c: Add comments.
59461         * modules/fpurge-tests (Depends-on): Add fflush.
59462         * modules/freadable-tests (Depends-on): Likewise.
59463         * modules/fwritable-tests (Depends-on): Likewise.
59464
59465 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
59466
59467         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
59468         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
59469         Report by Bruno Haible <bruno@clisp.org>.
59470
59471 2007-04-26  Eric Blake  <ebb9@byu.net>
59472
59473         Fix fflush on mingw.
59474         * modules/fflush (Depends-on): Add freading.
59475         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
59476         but unread data.
59477
59478 2007-04-26  Eric Blake  <ebb9@byu.net>
59479         and Bruno Haible  <bruno@clisp.org>
59480
59481         Implement freading and fwriting.
59482         * lib/freading.c: New file.
59483         * lib/freading.h: Likewise.
59484         * m4/freading.m4: Likewise.
59485         * modules/freading: Likewise.
59486         * modules/freading-tests: Likewise.
59487         * tests/test-freading.c: Likewise.
59488         * lib/fwriting.c: New file.
59489         * lib/fwriting.h: Likewise.
59490         * m4/fwriting.m4: Likewise.
59491         * modules/fwriting: Likewise.
59492         * modules/fwriting-tests: Likewise.
59493         * tests/test-fwriting.c: Likewise.
59494         * MODULES.html.sh (File stream based Input/Output): Mention them.
59495
59496 2007-04-26  Bruno Haible  <bruno@clisp.org>
59497
59498         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
59499         'long' when we assume it.
59500         Suggested by Eric Blake.
59501
59502 2007-04-26  Bruno Haible  <bruno@clisp.org>
59503
59504         Ensure fseeko, ftello are declared on glibc systems.
59505         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
59506         * modules/fseeko (configure.ac-early): Likewise.
59507         * modules/ftello (configure.ac-early): Likewise.
59508         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
59509         AC_FUNC_FSEEKO for this.
59510         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
59511         (gl_CHECK_FSEEKO): Remove macro.
59512
59513 2007-04-26  Bruno Haible  <bruno@clisp.org>
59514
59515         * tests/test-fflush.c (main): Also check the ftell result after
59516         fflush and fseek/fseeko.
59517         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
59518         file descriptor position cache in the stream.
59519         * lib/fseeko.c (rpl_fseeko): Likewise.
59520
59521 2007-04-26  Bruno Haible  <bruno@clisp.org>
59522
59523         * modules/fflush-tests (Depends-on): Add fseeko.
59524
59525 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
59526             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59527
59528         * lib/argz_.h: ensure error_t definition is obtained in same
59529         mechanism system argz.h would have.
59530         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
59531         argz facilities are known bad.  Err on the side of caution if
59532         cross-compiling.
59533
59534 2007-04-25  Eric Blake  <ebb9@byu.net>
59535
59536         * lib/fpurge.c (includes): Use stdlib.h for free.
59537         * tests/test-fflush.c (main): Also test fflush-fseeko.
59538
59539 2007-04-25  Bruno Haible  <bruno@clisp.org>
59540
59541         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
59542         * lib/fseeko.c: New file.
59543         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
59544         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
59545         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
59546         gl_FUNC_FSEEKO.
59547         (gl_FUNC_FSEEKO): Invoke it.
59548         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
59549         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
59550         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
59551
59552 2007-04-25  Bruno Haible  <bruno@clisp.org>
59553
59554         * modules/fflush (Depends-on): Add ftello.
59555
59556 2007-04-25  Bruno Haible  <bruno@clisp.org>
59557
59558         * modules/ftello-tests: New file.
59559         * tests/test-ftello.c: New file.
59560
59561         * modules/ftello: New file.
59562         * m4/ftello.m4: New file.
59563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
59564         HAVE_FTELLO.
59565         * lib/stdio_.h (ftello): New declaration.
59566         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
59567         HAVE_FTELLO.
59568
59569 2007-04-25  Bruno Haible  <bruno@clisp.org>
59570
59571         * modules/fseeko-tests: New file.
59572         * tests/test-fseeko.c: New file.
59573
59574         * modules/fseeko: New file.
59575         * m4/fseeko.m4: New file.
59576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
59577         HAVE_FSEEKO.
59578         * lib/stdio_.h (fseeko): New declaration.
59579         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
59580         HAVE_FSEEKO.
59581
59582 2007-04-25  Bruno Haible  <bruno@clisp.org>
59583
59584         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
59585
59586 2007-04-25  Bruno Haible  <bruno@clisp.org>
59587
59588         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
59589         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
59590         * tests/test-unistd.c: Likewise.
59591         * tests/test-fcntl.c: Likewise.
59592
59593 2007-04-23  Eric Blake  <ebb9@byu.net>
59594
59595         * lib/fflush.c: Fix missing include.
59596         Reported by Bruno Haible.
59597
59598 2007-04-23  Bruno Haible  <bruno@clisp.org>
59599
59600         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
59601         Reported by Eric Blake.
59602
59603 2007-04-23  Bruno Haible  <bruno@clisp.org>
59604
59605         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
59606
59607 2007-04-23  Bruno Haible  <bruno@clisp.org>
59608
59609         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
59610
59611 2007-04-23  Bruno Haible  <bruno@clisp.org>
59612
59613         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
59614         Needed on HP-UX 11.
59615
59616 2007-04-16  Eric Blake  <ebb9@byu.net>
59617
59618         Make fflush rely on fpurge.
59619         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
59620         open coding all variants.
59621         * modules/fflush (Depends-on): Add fpurge and unistd.
59622         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
59623         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
59624
59625         Fix --with-tests compilation on cygwin.
59626         * modules/argmatch-tests (Makefile.am): List gnulib library first
59627         in LDADD.
59628         * modules/argp-tests (Makefile.am): Likewise.
59629         * modules/array-list-tests (Makefile.am): Likewise.
59630         * modules/array-oset-tests (Makefile.am): Likewise.
59631         * modules/avltree-list-tests (Makefile.am): Likewise.
59632         * modules/avltree-oset-tests (Makefile.am): Likewise.
59633         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59634         * modules/carray-list-tests (Makefile.am): Likewise.
59635         * modules/dirname-tests (Makefile.am): Likewise.
59636         * modules/frexp-tests (Makefile.am): Likewise.
59637         * modules/isnanl-tests (Makefile.am): Likewise.
59638         * modules/linked-list-tests (Makefile.am): Likewise.
59639         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59640         * modules/lock-tests (Makefile.am): Likewise.
59641         * modules/rbtree-list-tests (Makefile.am): Likewise.
59642         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59643         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59644         * modules/tls-tests (Makefile.am): Likewise.
59645         * modules/tsearch-tests (Makefile.am): Likewise.
59646         * modules/xvasprintf-tests (Makefile.am): Likewise.
59647
59648         Fix fpurge for cygwin.
59649         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
59650         value.
59651         * modules/fpurge-tests (Depends-on): Clean up trash.
59652
59653 2007-04-16  Simon Josefsson  <simon@josefsson.org>
59654
59655         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
59656
59657         * m4/autobuild.m4: Re-indent.
59658
59659 2007-04-13  Bruno Haible  <bruno@clisp.org>
59660
59661         * modules/fpurge-tests: New file.
59662         * tests/test-fpurge.c: New file.
59663
59664         * modules/fpurge: New file.
59665         * lib/fpurge.h: New file.
59666         * lib/fpurge.c: New file.
59667         * m4/fpurge.m4: New file.
59668
59669 2007-04-13  Bruno Haible  <bruno@clisp.org>
59670
59671         * modules/fbufmode-tests: New file.
59672         * tests/test-fbufmode.c: New file.
59673
59674         * modules/fbufmode: New file.
59675         * lib/fbufmode.h: New file.
59676         * lib/fbufmode.c: New file.
59677         * m4/fbufmode.m4: New file.
59678
59679 2007-04-13  Bruno Haible  <bruno@clisp.org>
59680
59681         * modules/fwritable-tests: New file.
59682         * tests/test-fwritable.c: New file.
59683
59684         * modules/fwritable: New file.
59685         * lib/fwritable.h: New file.
59686         * lib/fwritable.c: New file.
59687         * m4/fwritable.m4: New file.
59688
59689 2007-04-13  Bruno Haible  <bruno@clisp.org>
59690
59691         * modules/freadable-tests: New file.
59692         * tests/test-freadable.c: New file.
59693
59694         * modules/freadable: New file.
59695         * lib/freadable.h: New file.
59696         * lib/freadable.c: New file.
59697         * m4/freadable.m4: New file.
59698
59699 2007-04-13  Bruno Haible  <bruno@clisp.org>
59700
59701         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
59702         MOSTLYCLEANFILES.
59703
59704 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59705
59706         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
59707         gzip bootstrap.conf to avoid dragging in i18n machinery.
59708         (gnulib_tool_option): Use it.
59709
59710 2007-04-13  Bruno Haible  <bruno@clisp.org>
59711
59712         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
59713         %F directives.
59714         * tests/test-vasprintf-posix.c (test_function): Likewise.
59715         * tests/test-snprintf-posix.h (test_function): Likewise.
59716         * tests/test-sprintf-posix.h (test_function): Likewise.
59717         * tests/test-fprintf-posix.h (test_function): Likewise.
59718         * tests/test-printf-posix.h (test_function): Likewise.
59719         * tests/test-fprintf-posix.out: Likewise.
59720
59721 2007-04-13  Bruno Haible  <bruno@clisp.org>
59722
59723         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
59724         * modules/tls-tests (configure.ac): Likewise.
59725         Reported by Arto C. Nirkko <anirkko@insel.ch>.
59726
59727 2007-04-13  Bruno Haible  <bruno@clisp.org>
59728
59729         * lib/tls.c (glthread_tls_get): Fix return type.
59730         Patch by Arto C. Nirkko <anirkko@insel.ch>.
59731
59732 2007-04-12  Eric Blake  <ebb9@byu.net>
59733
59734         * modules/gettime (Depends-on): Remove gettime.
59735         Reported by Dmitry V. Levin.
59736
59737 2007-04-12  Bruno Haible  <bruno@clisp.org>
59738
59739         * modules/fflush (Include): Mention <stdio.h>.
59740         * modules/strtoimax (Include): Mention <inttypes.h>.
59741         * modules/strtoumax (Include): Likewise.
59742
59743 2007-04-12  Eric Blake  <ebb9@byu.net>
59744
59745         * .cvsignore: New file.
59746         * .gitignore: Likewise.
59747
59748 2007-04-12  Bruno Haible  <bruno@clisp.org>
59749
59750         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
59751         not before, since $(LDADD) often contains libgnu.a.
59752         * modules/striconv-tests (test_striconv_LDADD): Likewise.
59753         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
59754         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
59755         Needed on Cygwin.
59756
59757 2007-04-12  Eric Blake  <ebb9@byu.net>
59758
59759         Work around glibc's failure to flush stdin on fclose.
59760         * lib/closein.c (close_stdin): Flush stdin before closing.
59761
59762         Work around glibc's failure to reset seekable stdin on exit.
59763         * modules/closein: New module.
59764         * lib/closein.c: New file.
59765         * lib/closein.h: Likewise.
59766         * m4/closein.m4: Likewise.
59767         * MODULES.html.sh (File stream based Input/Output): Document it.
59768
59769 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59770
59771         * gnulib-tool: Rename generated 'autobuild' script to
59772         'do-autobuild' in --create-megatestdir output.
59773
59774         * doc/gnulib.texi (Build robot for gnulib): Fix.
59775
59776 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59777
59778         * modules/sysexits (Depends-on): Add absolute-header.
59779
59780 2007-04-12  Eric Blake  <ebb9@byu.net>
59781
59782         No need to preserve errno on success.
59783         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
59784         Reported by Bruno Haible.
59785
59786 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59787
59788         * MODULES.html.sh (Support for maintaining and releasing
59789         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
59790
59791 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59792
59793         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
59794
59795 2007-04-12  Simon Josefsson  <simon@josefsson.org>
59796
59797         * modules/autobuild: New module.
59798
59799         * m4/autobuild.m4: New file.
59800
59801 2007-04-11  Bruno Haible  <bruno@clisp.org>
59802
59803         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
59804         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
59805         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
59806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
59807         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59808         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59809         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59810         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59811         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59812         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59813         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
59814         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59815         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59816         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
59817         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59818         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59819         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
59820         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59821         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59822         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
59823         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59824         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59825         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
59826         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59827         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
59829         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
59830         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
59831         Reported by Eric Blake.
59832
59833 2007-04-11  Bruno Haible  <bruno@clisp.org>
59834
59835         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
59836
59837 2007-04-10  Bruno Haible  <bruno@clisp.org>
59838
59839         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
59840         for NaN and Infinity. Needed on FreeBSD 6.1.
59841         * tests/test-vasnprintf-posix.c (test_function): Undo last change
59842         regarding results for "%010a" of Infinity and NaN.
59843         * tests/test-vasprintf-posix.c (test_function): Likewise.
59844         * tests/test-snprintf-posix.h (test_function): Likewise.
59845         * tests/test-sprintf-posix.h (test_function): Likewise.
59846         * tests/test-fprintf-posix.h (test_function): Likewise.
59847         * tests/test-printf-posix.h (test_function): Likewise.
59848         * tests/test-fprintf-posix.out: Likewise.
59849
59850 2007-04-10  Bruno Haible  <bruno@clisp.org>
59851
59852         * modules/locale-tests: New file.
59853         * tests/test-locale.c: New file.
59854
59855         * modules/locale: New file.
59856         * lib/locale_.h: New file.
59857         * m4/locale_h.m4: New file.
59858
59859 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
59860             Bruno Haible  <bruno@clisp.org>
59861
59862         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
59863         be determined, test for availability of the copysignf, copysign,
59864         copysignl functions.
59865         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
59866         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
59867         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
59868
59869 2007-04-09  Eric Blake  <ebb9@byu.net>
59870
59871         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
59872         * modules/stdio (Makefile.am): Support fflush.
59873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59874         * modules/fflush: New file.
59875         * lib/fflush.c: Likewise.
59876         * m4/fflush.m4: Likewise.
59877         * modules/fflush-tests: New test.
59878         * tests/test-fflush.c: Likewise.
59879         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
59880
59881 2007-04-06  Bruno Haible  <bruno@clisp.org>
59882
59883         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
59884         (VASNPRINTF): Use signbit for faster determination whether to print a
59885         minus sign.
59886         * modules/vasnprintf (Files): Remove lib/float+.h.
59887         * modules/fprintf-posix (Depends-on): Add signbit.
59888         * modules/snprintf-posix (Depends-on): Likewise.
59889         * modules/sprintf-posix (Depends-on): Likewise.
59890         * modules/vasnprintf-posix (Depends-on): Likewise.
59891         * modules/vasprintf-posix (Depends-on): Likewise.
59892         * modules/vfprintf-posix (Depends-on): Likewise.
59893         * modules/vsnprintf-posix (Depends-on): Likewise.
59894         * modules/vsprintf-posix (Depends-on): Likewise.
59895
59896 2007-04-06  Bruno Haible  <bruno@clisp.org>
59897
59898         * tests/test-frexp.c (main): Test also the sign bit of zero results.
59899         * tests/test-frexpl.c (main): Likewise.
59900         * tests/test-ldexpl.c (main): Likewise.
59901         * modules/frexp-tests (Depends-on): Add signbit.
59902         * modules/frexpl-tests (Depdends-on): Likewise.
59903         * modules/ldexpl-tests (Depdends-on): Likewise.
59904
59905 2007-04-06  Bruno Haible  <bruno@clisp.org>
59906
59907         * modules/signbit-tests: New file.
59908         * tests/test-signbit.c: New file.
59909
59910         * modules/signbit: New file.
59911         * lib/signbitf.c: New file.
59912         * lib/signbitd.c: New file.
59913         * lib/signbitl.c: New file.
59914         * m4/signbit.m4: New file.
59915         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
59916         (signbit): New macro.
59917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
59918         REPLACE_SIGNBIT.
59919         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
59920         REPLACE_FREXPL into math.h.
59921
59922 2007-04-06  Bruno Haible  <bruno@clisp.org>
59923
59924         * modules/isnanf-nolibm-tests: New file.
59925         * tests/test-isnanf.c: New file.
59926
59927         * modules/isnanf-nolibm: New file.
59928         * lib/isnanf.h: New file.
59929         * lib/isnanf.c: New file.
59930         * lib/isnan.c: Consider the USE_FLOAT macro.
59931         * m4/isnanf.m4: New file.
59932
59933 2007-04-06  Bruno Haible  <bruno@clisp.org>
59934
59935         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
59936         (Link): New section.
59937
59938         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
59939
59940 2007-04-06  Bruno Haible  <bruno@clisp.org>
59941
59942         Assume the 'long double' type.
59943         * m4/longdouble.m4: Remove file.
59944         * config/srclist.txt: Don't mention longdouble.m4.
59945         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
59946         * lib/float+.h: Likewise.
59947         * lib/frexp.c: Likewise.
59948         * lib/printf-args.h: Likewise.
59949         * lib/printf-args.c: Likewise.
59950         * lib/printf-frexp.c: Likewise.
59951         * lib/printf-parse.c: Likewise.
59952         * lib/vasnprintf.c: Likewise.
59953         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
59954         * m4/intl.m4: Likewise.
59955         * m4/isnanl.m4: Likewise.
59956         * m4/printf.m4: Likewise.
59957         * m4/printf-frexpl.m4: Likewise.
59958         * m4/vasnprintf.m4: Likewise.
59959         * modules/allocsa (Files): Remove m4/longdouble.m4.
59960         * modules/gettext (Files): Likewise.
59961         * modules/relocatable-prog-wrapper (Files): Likewise.
59962         * modules/vasnprintf (Files): Likewise.
59963         * modules/isnanl (Files): Likewise.
59964         (Include): Simplify.
59965         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
59966         (Include): Simplify.
59967         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
59968         (Include): Simplify.
59969         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
59970         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59971         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
59972         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59973         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59974         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59975         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
59976         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59977         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
59978         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59979         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
59980         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
59981         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
59982         * tests/test-isnanl.c: Likewise.
59983         * tests/test-snprintf-posix.h: Likewise.
59984         * tests/test-sprintf-posix.h: Likewise.
59985         * tests/test-vasnprintf-posix.c: Likewise.
59986         * tests/test-vasnprintf-posix2.c: Likewise.
59987         * tests/test-vasprintf-posix.c: Likewise.
59988
59989 2007-04-06  Bruno Haible  <bruno@clisp.org>
59990
59991         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
59992         * lib/math_.h [__DECC]: Include the overridden include file through
59993         #include_next, outside the double-inclusion guard.
59994         * lib/stdio_.h [__DECC]: Likewise.
59995         * lib/stdlib_.h [__DECC]: Likewise.
59996         * lib/string_.h [__DECC]: Likewise.
59997         * lib/time_.h [__DECC]: Likewise.
59998         * lib/wchar_.h [__DECC]: Likewise.
59999         * lib/wctype_.h [__DECC]: Likewise.
60000         * lib/inttypes_.h [__DECC]: Likewise.
60001         Reported by Albert Chin <china@thewrittenword.com> in
60002         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
60003
60004 2007-04-04  Eric Blake  <ebb9@byu.net>
60005
60006         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
60007         1.5.x.
60008
60009 2007-04-04  Bruno Haible  <bruno@clisp.org>
60010
60011         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
60012         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
60013
60014 2007-04-04  Bruno Haible  <bruno@clisp.org>
60015
60016         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
60017         results for "%010a" of Infinity and NaN.
60018         * tests/test-vasprintf-posix.c (test_function): Likewise.
60019         * tests/test-snprintf-posix.h (test_function): Likewise.
60020         * tests/test-sprintf-posix.h (test_function): Likewise.
60021         * tests/test-fprintf-posix.h (test_function): Remove these tests.
60022         * tests/test-printf-posix.h (test_function): Likewise.
60023         * tests/test-fprintf-posix.out: Update.
60024         Needed for FreeBSD 6.1.
60025
60026 2007-04-04  Bruno Haible  <bruno@clisp.org>
60027
60028         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
60029         directly used by the gnulib modules nor by gnulib-tool.
60030
60031 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60032
60033         * DEPENDENCIES: Give overall description of version dependency
60034         desirability.  Use more-typical names for apps.
60035         Add shell, coreutils, diffutils, grep, tar, gzip.
60036
60037 2007-04-04  Simon Josefsson  <simon@josefsson.org>
60038
60039         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
60040
60041 2007-04-04  Karl Berry  <karl@gnu.org>
60042
60043         * MODULES.html.sh (func_module): missing '.
60044
60045 2007-04-03  Bruno Haible  <bruno@clisp.org>
60046
60047         * modules/argmatch-tests (Makefile.am): New variable
60048         test_argmatch_LDADD.
60049         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
60050         * modules/array-list-tests (Makefile.am): New variable
60051         test_array_list_LDADD.
60052         * modules/array-oset-tests (Makefile.am): New variable
60053         test_array_oset_LDADD.
60054         * modules/avltree-list-tests (Makefile.am): New variable
60055         test_avltree_list_LDADD.
60056         * modules/avltree-oset-tests (Makefile.am): New variable
60057         test_avltree_oset_LDADD.
60058         * modules/avltreehash-list-tests (Makefile.am): New variable
60059         test_avltreehash_list_LDADD.
60060         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
60061         test_canonicalize_lgpl_LDADD.
60062         * modules/carray-list-tests (Makefile.am): New variable
60063         test_carray_list_LDADD.
60064         * modules/dirname-tests (Makefile.am): New variable
60065         test_dirname_LDADD.
60066         * modules/linked-list-tests (Makefile.am): New variable
60067         test_linked_list_LDADD.
60068         * modules/linkedhash-list-tests (Makefile.am): New variable
60069         test_linkedhash_list_LDADD.
60070         * modules/rbtree-list-tests (Makefile.am): New variable
60071         test_rbtree_list_LDADD.
60072         * modules/rbtree-oset-tests (Makefile.am): New variable
60073         test_rbtree_oset_LDADD.
60074         * modules/rbtreehash-list-tests (Makefile.am): New variable
60075         test_rbtreehash_list_LDADD.
60076         * modules/xvasprintf-tests (Makefile.am): New variable
60077         test_xvasprintf_LDADD.
60078         Reported by Eric Blake.
60079
60080 2007-04-03  Eric Blake  <ebb9@byu.net>
60081
60082         * DEPENDENCIES: Weaken m4 requirements.
60083
60084 2007-04-03  Bruno Haible  <bruno@clisp.org>
60085
60086         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
60087         * modules/isnanl-tests (configure.ac): Likewise.
60088
60089 2007-04-03  Ben Pfaff  <blp@gnu.org>
60090
60091         * modules/iconv_open: Add $(srcdir)/ to source directory
60092         references in Makefile fragments that call gperf, to fix VPATH
60093         builds.
60094
60095 2007-04-03  Bruno Haible  <bruno@clisp.org>
60096
60097         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
60098         * lib/ldexpl.c: Undo last change.
60099
60100 2007-04-03  Bruno Haible  <bruno@clisp.org>
60101
60102         * modules/printf-frexpl (Depends-on): Undo last change.
60103         (Files): Add m4/ldexpl.m4.
60104
60105 2007-04-03  Bruno Haible  <bruno@clisp.org>
60106
60107         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
60108         * modules/isnanl (Link): New section.
60109
60110         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
60111         * modules/frexp (Link): New section.
60112
60113         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
60114         * modules/frexpl (Link): New section.
60115
60116         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
60117         * modules/ldexpl (Link): New section.
60118
60119 2007-04-03  Bruno Haible  <bruno@clisp.org>
60120
60121         * modules/TEMPLATE-EXTENDED: New file.
60122         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
60123
60124 2007-04-03  Bruno Haible  <bruno@clisp.org>
60125
60126         * DEPENDENCIES: New file.
60127         Suggested by Simon Josefsson.
60128
60129 2007-04-03  Bruno Haible  <bruno@clisp.org>
60130
60131         * doc/gnulib.texi: Escape @.
60132
60133 2007-04-03  James Youngman  <jay@gnu.org>
60134         and Paul Eggert  <eggert@cs.ucla.edu>
60135
60136         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
60137         birthtime on all systems that have birthtime, not just those which
60138         use st_birthtimensec rather than st_birthtim.  Putting zero in
60139         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
60140         that the birth time is not available for files on an NFS mount.
60141
60142 2007-04-03  Simon Josefsson  <simon@josefsson.org>
60143
60144         * modules/memxor: Move back from crypto/, suggested by Bruno.
60145         * modules/crypto/hmac-sha1: Fix memxor dependency.
60146
60147         * modules/crypto/gc: Moved from ../.
60148
60149 2007-04-02  Eric Blake  <ebb9@byu.net>
60150
60151         * lib/ldexpl.c (includes): Avoid libm.
60152
60153         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
60154
60155 2007-04-02  Bruno Haible  <bruno@clisp.org>
60156
60157         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
60158         on IRIX.
60159
60160 2007-04-02  Bruno Haible  <bruno@clisp.org>
60161
60162         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
60163         x86 or x86_64 platforms running MacOS X.
60164         Reported by Ryan Schmidt <@ryandesign.com>.
60165
60166 2007-04-02  Bruno Haible  <bruno@clisp.org>
60167
60168         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
60169         i386.
60170
60171 2007-04-01  Simon Josefsson  <simon@josefsson.org>
60172
60173         * modules/crypto/arcfour: Moved from ../.
60174         * modules/crypto/arcfour-tests: Moved from ../.
60175         * modules/crypto/arctwo: Moved from ../.
60176         * modules/crypto/arctwo-tests: Moved from ../.
60177         * modules/crypto/des: Moved from ../.
60178         * modules/crypto/des-tests: Moved from ../.
60179         * modules/crypto/gc-arcfour: Moved from ../.
60180         * modules/crypto/gc-arcfour-tests: Moved from ../.
60181         * modules/crypto/gc-arctwo: Moved from ../.
60182         * modules/crypto/gc-arctwo-tests: Moved from ../.
60183         * modules/crypto/gc-des: Moved from ../.
60184         * modules/crypto/gc-des-tests: Moved from ../.
60185         * modules/crypto/gc-hmac-md5: Moved from ../.
60186         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
60187         * modules/crypto/gc-hmac-sha1: Moved from ../.
60188         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
60189         * modules/crypto/gc-md2: Moved from ../.
60190         * modules/crypto/gc-md2-tests: Moved from ../.
60191         * modules/crypto/gc-md4: Moved from ../.
60192         * modules/crypto/gc-md4-tests: Moved from ../.
60193         * modules/crypto/gc-md5: Moved from ../.
60194         * modules/crypto/gc-md5-tests: Moved from ../.
60195         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
60196         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
60197         * modules/crypto/gc-random: Moved from ../.
60198         * modules/crypto/gc-rijndael: Moved from ../.
60199         * modules/crypto/gc-rijndael-tests: Moved from ../.
60200         * modules/crypto/gc-sha1: Moved from ../.
60201         * modules/crypto/gc-sha1-tests: Moved from ../.
60202         * modules/crypto/gc-tests: Moved from ../.
60203         * modules/crypto/hmac-md5: Moved from ../.
60204         * modules/crypto/hmac-md5-tests: Moved from ../.
60205         * modules/crypto/hmac-sha1: Moved from ../.
60206         * modules/crypto/hmac-sha1-tests: Moved from ../.
60207         * modules/crypto/md2: Moved from ../.
60208         * modules/crypto/md2-tests: Moved from ../.
60209         * modules/crypto/md4: Moved from ../.
60210         * modules/crypto/md4-tests: Moved from ../.
60211         * modules/crypto/md5: Moved from ../.
60212         * modules/crypto/md5-tests: Moved from ../.
60213         * modules/crypto/memxor: Moved from ../.
60214         * modules/crypto/rijndael: Moved from ../.
60215         * modules/crypto/rijndael-tests: Moved from ../.
60216         * modules/crypto/sha1: Moved from ../.
60217
60218 2007-03-30  James Youngman  <jay@gnu.org>
60219
60220         * tests/test-stat-time.c (prepare_test): use chmod() rather than
60221         rename() to change the ctime of a file (because ctime is unaffected
60222         by rename on jfs2 on AIX 5.1).
60223         (main): Start by doing cleanup, in case a previous run failed leaving
60224         test files behind.
60225
60226 2007-03-31  Bruno Haible  <bruno@clisp.org>
60227
60228         Support old proprietary implementations of iconv.
60229         * modules/iconv_open: New file.
60230         * lib/iconv_.h: New file.
60231         * m4/iconv_h.m4: New file.
60232         * lib/iconv_open.c: New file.
60233         * lib/iconv_open-aix.gperf: New file.
60234         * lib/iconv_open-hpux.gperf: New file.
60235         * lib/iconv_open-irix.gperf: New file.
60236         * lib/iconv_open-osf.gperf: New file.
60237         * m4/iconv_open.m4: New file.
60238         * modules/linebreak (Depends-on): Add iconv_open.
60239         * modules/striconv (Depends-on): Likewise.
60240         * modules/striconveh (Depends-on): Likewise.
60241         * modules/unicodeio (Depends-on): Likewise.
60242         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
60243         (iconv_t)(-1).
60244         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
60245         conversion if cd is (iconv_t)(-1).
60246         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
60247         is not possible.
60248
60249 2007-03-31  Bruno Haible  <bruno@clisp.org>
60250
60251         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60252         work on Solaris either. Protect also second use of "autodetect_jp".
60253
60254 2007-03-31  Bruno Haible  <bruno@clisp.org>
60255
60256         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
60257         the function is not present.
60258
60259 2007-03-31  Bruno Haible  <bruno@clisp.org>
60260
60261         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
60262         the function is not present.
60263
60264 2007-03-31  Bruno Haible  <bruno@clisp.org>
60265
60266         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
60267         a bug in HP-UX iconv_open().
60268
60269 2007-03-31  Bruno Haible  <bruno@clisp.org>
60270
60271         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
60272         (Mathematics <math.h>): New section, add fpieee.
60273         (Input/output <stdio.h>): Add fseterr.
60274         (Mathematics <math.h>): New section, add printf-frexp.
60275         (Container data structures): Add sublist.
60276         (Core language properties): Add fpucw, inline.
60277         (Functions for greatest-width integer types <inttypes.h>): Add
60278         imaxabs, imaxdiv, inttypes.
60279         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
60280         isnanl-nolibm, ldexp.
60281         (Mathematics <math.h>): New section, add printf-frexpl.
60282         (Support for systems lacking POSIX:2001): Add fprintf-posix,
60283         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
60284         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
60285         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
60286         (Unicode string functions): Add unistr/u*-mbtoucr.
60287         (Java): Add javacomp-script, javaexec-script.
60288         (C#): Add csharpcomp-script, csharpexec-script.
60289         (Support for building libraries and executables): Add havelib,
60290         relocatable-*.
60291         (Support for maintaining and releasing projects): Renamed from
60292         'Support for maintaining and release projects'. Add announce-gen.
60293
60294 2007-03-31  Bruno Haible  <bruno@clisp.org>
60295
60296         * README: Talk primarily about git.
60297         (git and CVS): Renamed from CVS.
60298         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
60299         gnulib is available through git.
60300         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
60301
60302 2007-03-30  Bruno Haible  <bruno@clisp.org>
60303
60304         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
60305         * lib/poll_.h: Likewise.
60306         * lib/stat_.h: Likewise.
60307         * lib/sys_time_.h: Likewise.
60308         * lib/sysexit_.h: Likewise.
60309         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
60310         * lib/stdbool_.h: Likewise.
60311         * lib/byteswap_.h: Add double-inclusion guard.
60312
60313 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
60314
60315         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
60316
60317 2007-03-30  Karl Berry  <karl@gnu.org>
60318
60319         * config/srclist-update: double space after USA in the license
60320         substitution, since that's how it's usually (?) written.
60321
60322 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60323
60324         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
60325         reported by Bruno Haible.
60326
60327 2007-03-29  Bruno Haible  <bruno@clisp.org>
60328
60329         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
60330         a bug in AIX iconv().
60331
60332 2007-03-29  Bruno Haible  <bruno@clisp.org>
60333
60334         * modules/ldexpl-tests: New file.
60335         * tests/test-ldexpl.c: New file.
60336
60337 2007-03-29  Bruno Haible  <bruno@clisp.org>
60338
60339         * lib/ldexpl.c: Include fpucw.h.
60340         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
60341         multiplication.
60342         * modules/ldexpl (Depends-on): Add fpucw.
60343
60344 2007-03-29  Bruno Haible  <bruno@clisp.org>
60345
60346         * modules/ldexpl: New file.
60347         * m4/ldexpl.m4: New file.
60348         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
60349         set.
60350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
60351         REPLACE_LDEXPL.
60352         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
60353         REPLACE_LDEXPL.
60354         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60355         gl_FUNC_LDEXPL_WORKS.
60356         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
60357         * modules/mathl (Files): Remove lib/ldexpl.c.
60358         (Depends-on): Add ldexpl.
60359
60360 2007-03-29  Bruno Haible  <bruno@clisp.org>
60361
60362         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
60363
60364 2007-03-29  Bruno Haible  <bruno@clisp.org>
60365
60366         * tests/test-striconveh.c (main): Don't assume that a direct conversion
60367         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
60368         and possibly also HP-UX.
60369         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
60370         work on AIX, IRIX, HP-UX, OSF/1.
60371         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60372         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60373         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60374         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60375         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
60376         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60377
60378 2007-03-29  Bruno Haible  <bruno@clisp.org>
60379
60380         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
60381
60382 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60383
60384         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
60385         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
60386
60387 2007-03-29  Eric Blake  <ebb9@byu.net>
60388
60389         * lib/acl-internal.h: Remove redundant include.
60390         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
60391         Cygwin when a file is locked.
60392
60393 2007-03-29  Bruno Haible  <bruno@clisp.org>
60394
60395         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
60396         file.
60397         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
60398
60399 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
60400
60401         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
60402         try to remove a parent directory if the child couldn't be removed
60403         (except for the first rmdir, which could fail because the child
60404         doesn't exist).  Problem reported by Jeff Blaine in
60405         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
60406
60407 2007-03-28  Bruno Haible  <bruno@clisp.org>
60408
60409         * lib/striconveh.c (utf8conv_carefully): New function.
60410         (mem_cd_iconveh_internal): Invoke it.
60411
60412 2007-03-28  Bruno Haible  <bruno@clisp.org>
60413
60414         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
60415         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
60416         input.
60417         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
60418         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
60419         unistr/u8-uctomb.
60420
60421 2007-03-28  Bruno Haible  <bruno@clisp.org>
60422
60423         * modules/unistr/u8-mbtoucr: New file.
60424         * lib/unistr/u8-mbtoucr.c: New file.
60425         * modules/unistr/u16-mbtoucr: New file.
60426         * lib/unistr/u16-mbtoucr.c: New file.
60427         * modules/unistr/u16-mbtoucr: New file.
60428         * lib/unistr/u16-mbtoucr.c: New file.
60429         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
60430
60431 2007-03-27  Simon Josefsson  <simon@josefsson.org>
60432             Bruno Haible  <bruno@clisp.org>
60433
60434         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
60435         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
60436         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
60437
60438         * m4/stdio_h.m4: Add stubs for vasprintf too.
60439
60440         * modules/stdio: Support vasprintf in sed command.
60441
60442         * modules/vasprintf: Depend on stdio for prototypes.  Remove
60443         vasprintf.h.  Add stdio module indicator.
60444
60445         * lib/stdio_.h: Declare asprintf and vasprintf, based on
60446         vasprintf.h.
60447
60448         * lib/vasprintf.h: File removed.
60449
60450         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
60451         * lib/vasprintf.c: Ditto.
60452         * lib/xvasprintf.c: Ditto.
60453         * tests/test-vasprintf-posix.c: Ditto.
60454         * tests/test-vasprintf.c: Ditto.
60455
60456 2007-03-27  Bruno Haible  <bruno@clisp.org>
60457
60458         Make vasnprintf multithread-safe.
60459         * lib/vasnprintf.c (decimal_point_char): New function.
60460         (VASNPRINTF): Use it.
60461         Suggested by Simon Josefsson.
60462
60463 2007-03-27  Eric Blake  <ebb9@byu.net>
60464
60465         Support sub-second birthtime on cygwin.
60466         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
60467         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
60468         (get_stat_birthtime): Also work with st_birthtim.
60469
60470 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
60471
60472         * lib/stat-time.h (USE_BIRTHTIME): Remove.
60473         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
60474         (get_stat_birthtime_ns): Do not try to use "spare" fields.
60475         (get_stat_birthtime_ns): Simplify compile-time tests.
60476         (get_stat_birthtime): Change the API to look like
60477         get_stat_mtime etc., except return a negative tv_nsec on error.
60478         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
60479         Don't check for "spare" fields.
60480         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
60481         or for struct stat.st_birthtime, as these tests aren't used.
60482         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
60483
60484 2007-03-27  Bruno Haible  <bruno@clisp.org>
60485
60486         * lib/stat-time.h: Include <sys/stat.h>.
60487
60488 2007-03-27  James Youngman  <jay@gnu.org>
60489
60490         * lib/stat-time.h (get_stat_birthtime): New function for
60491           retrieving st_birthtime as provided by UFS2 (hence *BSD).
60492         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
60493           and its variants.
60494         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
60495         * modules/stat-time-test: New file.
60496         * tests/test-stat-time.c: New test, devised by Bruno Haible.
60497
60498 2007-03-26  Bruno Haible  <bruno@clisp.org>
60499
60500         Better support of signalling NaNs.
60501         * lib/atanl.c: Include isnanl.h.
60502         (atanl): Perform test for NaN at the beginning of the function and
60503         through a call to isnanl.
60504         * lib/cosl.c: Include isnanl.h.
60505         (cosl): Perform test for NaN at the beginning of the function and
60506         through a call to isnanl.
60507         * lib/ldexpl.c: Include isnanl.h.
60508         (ldexpl): Perform test for NaN through a call to isnanl.
60509         * lib/logl.c: Include isnanl.h.
60510         (logl): Perform test for NaN at the beginning of the function and
60511         through a call to isnanl.
60512         * lib/sinl.c: Include isnanl.h.
60513         (sinl): Perform test for NaN at the beginning of the function and
60514         through a call to isnanl.
60515         * lib/sqrtl.c: Include isnanl.h.
60516         (sqrtl): Perform test for NaN at the beginning of the function and
60517         through a call to isnanl.
60518         * lib/tanl.c: Include isnanl.h.
60519         (tanl): Perform test for NaN at the beginning of the function and
60520         through a call to isnanl.
60521         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
60522         * modules/mathl (Depends-on): Add isnanl.
60523
60524 2007-03-26  Eric Blake  <ebb9@byu.net>
60525
60526         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
60527         regression in logic sense of previous patch.
60528
60529 2007-03-26  Bruno Haible  <bruno@clisp.org>
60530
60531         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
60532         unportable shell command "if ! ...".
60533         Reported by Ralf Wildenhues.
60534
60535 2007-03-25  Bruno Haible  <bruno@clisp.org>
60536
60537         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
60538         <sysexits.h> file, and only add EX_CONFIG.
60539         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
60540         absolute file name and whether it is sufficient. Substitute also
60541         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
60542         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
60543         ABSOLUTE_SYSEXITS_H into sysexits.h.
60544
60545 2007-03-25  Bruno Haible  <bruno@clisp.org>
60546
60547         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
60548         hints is NULL.
60549
60550 2007-03-25  Bruno Haible  <bruno@clisp.org>
60551
60552         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
60553         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
60554
60555 2007-03-25  Bruno Haible  <bruno@clisp.org>
60556
60557         * lib/vasnprintf.c: Include langinfo.h.
60558         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
60559         multithread-safe.
60560         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
60561         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
60562         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60563         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60565         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60566         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60567         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
60568         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60569         Reported by Simon Josefsson.
60570
60571 2007-03-25  Bruno Haible  <bruno@clisp.org>
60572
60573         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
60574         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
60575         * modules/vasnprintf (Depends-on): Add stdint.
60576
60577 2007-03-25  Bruno Haible  <bruno@clisp.org>
60578
60579         * modules/fpieee: New file.
60580         * m4/fpieee.m4: New file.
60581         * modules/isnan-nolibm (Depends-on): Add fpieee.
60582         * modules/isnanl-nolibm (Depends-on): Add fpieee.
60583         * modules/isnanl (Depends-on): Add fpieee.
60584
60585 2007-03-25  Bruno Haible  <bruno@clisp.org>
60586
60587         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
60588
60589 2007-03-25  Bruno Haible  <bruno@clisp.org>
60590
60591         Avoid test failures on IRIX 6.5.
60592         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
60593         (main): Use it.
60594         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
60595         macros.
60596         (main): Use them.
60597
60598 2007-03-25  Bruno Haible  <bruno@clisp.org>
60599
60600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
60601         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
60602         exists but doesn't work.
60603         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
60604         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
60605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
60606         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
60607         math.h.
60608
60609 2007-03-25  Bruno Haible  <bruno@clisp.org>
60610
60611         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
60612         returns inf. Needed on IRIX 6.5.
60613
60614 2007-03-25  Bruno Haible  <bruno@clisp.org>
60615
60616         * tests/test-frexpl.c: Include isnanl-nolibm.h.
60617         (main): Use isnanl instead of x != x idiom.
60618         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
60619
60620         * tests/test-frexp.c: Include isnan.h.
60621         (main): Use isnan instead of x != x idiom.
60622         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
60623
60624 2007-03-25  Bruno Haible  <bruno@clisp.org>
60625
60626         * tests/test-frexp.c (NaN): New function/macro.
60627         (main): Use it instead of 0.0 / 0.0.
60628         * tests/test-isnan.c (NaN): New function/macro.
60629         (main): Use it instead of 0.0 / 0.0.
60630         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
60631         (test_function): Use it instead of 0.0 / 0.0.
60632         * tests/test-vasprintf-posix.c (NaN): New function/macro.
60633         (test_function): Use it instead of 0.0 / 0.0.
60634         * tests/test-snprintf-posix.h (NaN): New function/macro.
60635         (test_function): Use it instead of 0.0 / 0.0.
60636         * tests/test-sprintf-posix.h (NaN): New function/macro.
60637         (test_function): Use it instead of 0.0 / 0.0.
60638         * tests/test-fprintf-posix.h (NaN): New function/macro.
60639         (test_function): Use it instead of 0.0 / 0.0.
60640         * tests/test-printf-posix.h (NaN): New function/macro.
60641         (test_function): Use it instead of 0.0 / 0.0.
60642
60643         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
60644
60645 2007-03-25  Bruno Haible  <bruno@clisp.org>
60646
60647         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
60648
60649 2007-03-25  Bruno Haible  <bruno@clisp.org>
60650
60651         * lib/regexec.c (merge_state_with_log): Make static.
60652
60653 2007-03-25  Bruno Haible  <bruno@clisp.org>
60654
60655         * lib/trigl.c (kernel_rem_pio2): Make static.
60656
60657 2007-03-25  Bruno Haible  <bruno@clisp.org>
60658
60659         * lib/sincosl.c (sincosl_table): Make static.
60660
60661 2007-03-25  Bruno Haible  <bruno@clisp.org>
60662
60663         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
60664         if the compiler does not support C99.
60665
60666 2007-03-25  Bruno Haible  <bruno@clisp.org>
60667
60668         * modules/time (Makefile.am): Ensure all rule action lines start with a
60669         tab.
60670
60671 2007-03-24  Bruno Haible  <bruno@clisp.org>
60672
60673         * modules/tsearch-tests: New file.
60674         * tests/test-tsearch.sh: New file.
60675         * tests/test-tsearch.c: New file, mostly copied from glibc.
60676
60677         * modules/search-tests: New file.
60678         * tests/test-search.c: New file.
60679
60680         * modules/search: New file.
60681         * lib/search_.h: New file, incorporating lib/tsearch.h.
60682         * m4/search_h.m4: New file.
60683         * lib/tsearch.h: Remove file.
60684         * lib/tsearch.c: Include search.h instead of tsearch.h.
60685         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
60686         HAVE_TSEARCH.
60687         * modules/tsearch (Files): Remove lib/tsearch.h.
60688         (Depends-on): Add search.
60689         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
60690         (Include): Change tsearch.h into search.h.
60691
60692 2007-03-24  Bruno Haible  <bruno@clisp.org>
60693
60694         * modules/fpucw: New file.
60695         * lib/fpucw.h: New file.
60696         * lib/frexp.c: Include fpucw.h.
60697         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60698         (FUNC): Use them.
60699         * lib/printf-frexp.c: Include fpucw.h.
60700         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
60701         (FUNC): Use them.
60702         * lib/vasnprintf.c: Include fpucw.h.
60703         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
60704         'long double' calculations.
60705         * tests/test-frexpl.c: Include fpucw.h.
60706         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60707         * tests/test-printf-frexpl.c: Include fpucw.h.
60708         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
60709         * modules/frexpl (Depends-on): Add fpucw.
60710         * modules/printf-frexpl (Depends-on): Likewise.
60711         * modules/fprintf-posix (Depends-on): Likewise.
60712         * modules/snprintf-posix (Depends-on): Likewise.
60713         * modules/sprintf-posix (Depends-on): Likewise.
60714         * modules/vasnprintf-posix (Depends-on): Likewise.
60715         * modules/vasprintf-posix (Depends-on): Likewise.
60716         * modules/vfprintf-posix (Depends-on): Likewise.
60717         * modules/vsnprintf-posix (Depends-on): Likewise.
60718         * modules/vsprintf-posix (Depends-on): Likewise.
60719         * modules/frexpl-tests (Depends-on): Likewise.
60720         * modules/printf-frexpl-tests (Depends-on): Likewise.
60721
60722 2007-03-24  Bruno Haible  <bruno@clisp.org>
60723
60724         * lib/float+.h: New file.
60725         * lib/isnan.c: Include float+.h.
60726         (SIZE): New macro.
60727         (FUNC): Compare only SIZE bytes of the value.
60728         * lib/vasnprintf.c: Include float+.h.
60729         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
60730         SIZEOF_LDBL or SIZEOF_DBL bytes.
60731         * modules/isnan-nolibm (Files): Add lib/float+.h.
60732         * modules/isnanl-nolibm (Files): Add lib/float+.h.
60733         * modules/isnanl (Files): Add lib/float+.h.
60734         * modules/vasnprintf (Files): Add lib/float+.h.
60735
60736 2007-03-24  Bruno Haible  <bruno@clisp.org>
60737
60738         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
60739         include isnanl-nolibm.h.
60740
60741 2007-03-24  Bruno Haible  <bruno@clisp.org>
60742
60743         * tests/test-read-file.c (main): Don't produce spurious output for
60744         expected situations. Make the test fail if it encountered unexpected
60745         results.
60746
60747 2007-03-24  Bruno Haible  <bruno@clisp.org>
60748
60749         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
60750         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
60751
60752 2007-03-24  Bruno Haible  <bruno@clisp.org>
60753
60754         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
60755
60756 2007-03-24  Bruno Haible  <bruno@clisp.org>
60757
60758         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
60759         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
60760
60761         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
60762         * modules/utf8-ucs4: Turn into a symbolic link to module
60763         unistr/u8-mbtouc.
60764
60765         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
60766         utf8-ucs4-unsafe.
60767         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
60768         unistr/u8-mbtouc-unsafe.
60769
60770         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
60771         * modules/utf16-ucs4: Turn into a symbolic link to module
60772         unistr/u16-mbtouc.
60773
60774         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
60775         utf16-ucs4-unsafe.
60776         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
60777         unistr/u16-mbtouc-unsafe.
60778
60779         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
60780         * modules/ucs4-utf8: Turn into a symbolic link to module
60781         unistr/u8-ubtomb.
60782
60783         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
60784         * modules/ucs4-utf16: Turn into a symbolic link to module
60785         unistr/u16-ubtomb.
60786
60787 2007-03-24  Bruno Haible  <bruno@clisp.org>
60788
60789         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
60790         Enable the function only if HAVE_INLINE.
60791         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
60792         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60793         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
60794         Enable the function only if HAVE_INLINE.
60795         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
60796         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
60797         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
60798         Enable the function only if HAVE_INLINE.
60799         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
60800         Enable the function only if HAVE_INLINE.
60801         * modules/utf8-ucs4: Update.
60802         * modules/utf8-ucs4-unsafe: Update.
60803         * modules/utf16-ucs4: Update.
60804         * modules/utf16-ucs4-unsafe: Update.
60805         * modules/ucs4-utf8: Update.
60806         * modules/ucs4-utf16: Update.
60807
60808 2007-03-24  Bruno Haible  <bruno@clisp.org>
60809
60810         * lib/utf8-ucs4.h: Remove file.
60811         * lib/utf8-ucs4-unsafe.h: Remove file.
60812         * lib/utf16-ucs4.h: Remove file.
60813         * lib/utf16-ucs4-unsafe.h: Remove file.
60814         * lib/ucs4-utf8.h: Remove file.
60815         * lib/ucs4-utf16.h: Remove file.
60816         * lib/unistr.h: Include their previous contents.
60817         * m4/utf-ucs4.m4: Remove file.
60818         * m4/ucs4-utf.m4: Remove file.
60819         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
60820         (Depends-on): Add unistr/base.
60821         (configure.ac): Remove gl_UTF_UCS4.
60822         (Makefile.am): Update.
60823         (Include): Change to unistr.h.
60824         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
60825         (Depends-on): Add unistr/base.
60826         (configure.ac): Remove gl_UTF_UCS4.
60827         (Makefile.am): Update.
60828         (Include): Change to unistr.h.
60829         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
60830         (Depends-on): Add unistr/base.
60831         (configure.ac): Remove gl_UTF_UCS4.
60832         (Makefile.am): Update.
60833         (Include): Change to unistr.h.
60834         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
60835         (Depends-on): Add unistr/base.
60836         (configure.ac): Remove gl_UTF_UCS4.
60837         (Makefile.am): Update.
60838         (Include): Change to unistr.h.
60839         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
60840         (Depends-on): Add unistr/base.
60841         (configure.ac): Remove gl_UCS4_UTF.
60842         (Makefile.am): Update.
60843         (Include): Change to unistr.h.
60844         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
60845         (Depends-on): Add unistr/base.
60846         (configure.ac): Remove gl_UCS4_UTF.
60847         (Makefile.am): Update.
60848         (Include): Change to unistr.h.
60849         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
60850         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
60851         utf8-ucs4-unsafe.h.
60852         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
60853         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
60854         utf16-ucs4-unsafe.h.
60855         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
60856         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
60857         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
60858         * lib/unistr/u8-strchr.c: Likewise.
60859         * lib/unistr/u8-strrchr.c: Likewise.
60860         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
60861         * lib/unistr/u16-strchr.c: Likewise.
60862         * lib/unistr/u16-strrchr.c: Likewise.
60863         * lib/striconveh.c: Update.
60864         * lib/linebreak.c: Update.
60865
60866 2007-03-24  Bruno Haible  <bruno@clisp.org>
60867
60868         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
60869         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
60870
60871 2007-03-22  Bruno Haible  <bruno@clisp.org>
60872
60873         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
60874
60875 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60876
60877         * MODULES.html.sh (File system functions): New module write-any-file.
60878         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
60879         * m4/write-any-file.m4: New files.
60880
60881 2007-03-23  Eric Blake  <ebb9@byu.net>
60882
60883         * gnulib-tool: Rearrange space-tab sequences, since some editors
60884         like to eat them.
60885
60886 2007-03-23  Eric Blake  <ebb9@byu.net>
60887
60888         * lib/version-etc.c (version_etc_va): Update license wording to
60889         be more concise.  Recommended by Richard Stallman.
60890
60891 2007-03-22  Bruno Haible  <bruno@clisp.org>
60892
60893         * lib/poll.c (MSG_PEEK): New fallback definition.
60894
60895 2007-03-22  Bruno Haible  <bruno@clisp.org>
60896
60897         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
60898         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
60899         (main): Update.
60900         Fixes a compilation error on BeOS.
60901
60902 2007-03-22  Bruno Haible  <bruno@clisp.org>
60903
60904         * modules/frexpl-tests: New file.
60905         * tests/test-frexpl.c: New file.
60906
60907         * modules/frexpl: New file.
60908         * m4/frexpl.m4: New file.
60909         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
60910         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
60911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
60912         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
60913         (Depends-on): Add frexpl. Remove isnanl-nolibm.
60914         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
60915
60916 2007-03-22  Bruno Haible  <bruno@clisp.org>
60917
60918         * lib/frexpl.c: Share code with lib/frexp.c.
60919         * modules/mathl (Files): Add lib/frexp.c.
60920         (Depends-on): Add isnanl-nolibm.
60921
60922 2007-03-22  Bruno Haible  <bruno@clisp.org>
60923
60924         * modules/printf-frexp (Files): Add m4/frexp.m4.
60925         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
60926         only if the found frexp function actually works.
60927
60928 2007-03-22  Bruno Haible  <bruno@clisp.org>
60929
60930         * lib/frexp.c: Remove older implementation that uses divisions.
60931
60932 2007-03-21  Bruno Haible  <bruno@clisp.org>
60933
60934         * modules/frexp-tests: New file.
60935         * tests/test-frexp.c: New file.
60936
60937         * modules/frexp: New file.
60938         * lib/frexp.c: New file.
60939         * m4/frexp.m4: New file.
60940         * lib/math_.h (frexp): New declaration.
60941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
60942         REPLACE_FREXP.
60943         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
60944
60945 2007-03-21  Bruno Haible  <bruno@clisp.org>
60946
60947         * modules/isnanl-tests: New file.
60948         * tests/test-isnanl.c: New file.
60949
60950         * modules/isnanl: New file.
60951         * lib/isnanl.h: New file.
60952         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
60953         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
60954         gl_FUNC_ISNANL_WORKS.
60955         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
60956         New macros.
60957
60958 2007-03-21  Bruno Haible  <bruno@clisp.org>
60959
60960         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
60961         lib/isnanl.h.
60962         (Include): Update.
60963         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
60964         * lib/vasnprintf.c: Update.
60965         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
60966         tests/test-isnanl.h, remove tests/test-isnanl.c.
60967         (Makefile.am): Update.
60968         * tests/test-isnanl-nolibm.c: New file.
60969         * tests/test-isnanl.h: New file.
60970         * tests/test-isnanl.c: Remove file.
60971
60972 2007-03-21  Jim Meyering  <jim@meyering.net>
60973
60974         When trying to open ".", treat ESTALE like EACCES.
60975         * lib/savewd.c (savewd_save): Resort to forking not just upon
60976         failure with EACCES, but also when errno is ESTALE.
60977
60978 2007-03-20  Bruno Haible  <bruno@clisp.org>
60979
60980         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
60981         Needed on AIX 5.1. Reported by Matthew Woehlke.
60982
60983 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
60984
60985         Suggestions by Bruno Haible:
60986         * lib/acl-internal.h: Include "gettext.h" rather than rolling
60987         our own.
60988         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
60989         * modules/acl (Depends-on): Add gettext.
60990
60991 2007-03-19  Bruno Haible  <bruno@clisp.org>
60992
60993         * modules/iconvme: Remove file.
60994         * lib/iconvme.h: Remove file.
60995         * lib/iconvme.c: Remove file.
60996         * m4/iconvme.m4: Remove file.
60997
60998 2007-03-19  Bruno Haible  <bruno@clisp.org>
60999
61000         * doc/relocatable-maint.texi: Break long shell script line.
61001         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61002
61003 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61004
61005         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
61006         handle file_has_acl.
61007         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
61008         * lib/acl.c: Move header inclusions and related macro defns into
61009         lib/acl-internal.h.
61010         (S_ISLNK): Remove defn, since that's now done for us.
61011         (file_has_acl): Move to lib/file-has-acl.c.
61012         Call acl_trivial if available.  This is the crucial part of the fix.
61013         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
61014         shared within the library.  Rewrite a bit, partly to make it compatible
61015         with the GNU coding style.
61016         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
61017         Remove unnecessary double-quotes.
61018         Don't test for acl_to_text; the build will catch that.
61019         Replace acl_entries if it doesn't exist and it is needed.
61020         Check for -lsec and acl_trivial (as used on Solaris 10).
61021         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
61022         lib/file-has-acl.c.
61023         (Depends-on): Add sys_stat, for S_ISLNK.
61024
61025 2007-03-19  Ben Pfaff  <blp@gnu.org>
61026
61027         * doc/gnulib.texi: Fix typos.
61028         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
61029
61030 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
61031
61032         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
61033         If size is zero here, buf must be zero.
61034
61035 2007-03-19  Simon Josefsson  <simon@josefsson.org>
61036
61037         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
61038         <bruno@clisp.org>.
61039
61040 2007-03-18  Bruno Haible  <bruno@clisp.org>
61041
61042         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
61043         Suggested by Eric Blake.
61044
61045 2007-03-18  Ben Pfaff  <blp@gnu.org>
61046
61047         * doc/relocatable.texi: Recommend using as prefix a directory
61048         that does not exist and will never be created.  Based on
61049         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
61050         and others.
61051
61052 2007-03-17  Bruno Haible  <bruno@clisp.org>
61053
61054         * lib/fchownat.c: Include lchown.h.
61055
61056 2007-03-17  Bruno Haible  <bruno@clisp.org>
61057
61058         Fix endless loop when the given allocated size was > INT_MAX.
61059         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
61060         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
61061         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
61062         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
61063         * lib/sprintf.c (sprintf): Likewise.
61064
61065 2007-03-17  Bruno Haible  <bruno@clisp.org>
61066
61067         * tests/test-argp-2.sh (func_compare): Output a context diff.
61068
61069 2007-03-17  Bruno Haible  <bruno@clisp.org>
61070
61071         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
61072         locale's decimal-point character.
61073
61074 2007-03-17  Bruno Haible  <bruno@clisp.org>
61075
61076         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
61077         before comparing it. Needed because on some platforms (e.g. x86) a
61078         'long double' occupies less bytes than sizeof (long double).
61079
61080 2007-03-17  Bruno Haible  <bruno@clisp.org>
61081
61082         * tests/test-crc.c (main): Make printf statements 64-bit clean.
61083         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
61084         * tests/test-getaddrinfo.c (simple): Likewise.
61085         * tests/test-read-file.c (main): Likewise.
61086
61087 2007-03-17  Bruno Haible  <bruno@clisp.org>
61088
61089         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
61090
61091 2007-03-17  Bruno Haible  <bruno@clisp.org>
61092
61093         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
61094         unused variable.
61095
61096 2007-03-17  Bruno Haible  <bruno@clisp.org>
61097
61098         * tests/test-c-strcasecmp.c: Include c-strcase.h.
61099         * tests/test-c-strncasecmp.c: Likewise.
61100
61101 2007-03-17  Bruno Haible  <bruno@clisp.org>
61102
61103         * modules/stdlib (Depends-on): Add unistd.
61104         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
61105         Needed for MacOS X 10.3.
61106
61107 2007-03-17  Bruno Haible  <bruno@clisp.org>
61108
61109         * lib/unistr/u-strdup.h: Include <stdlib.h>.
61110
61111 2007-03-17  Bruno Haible  <bruno@clisp.org>
61112
61113         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
61114
61115 2007-03-17  Bruno Haible  <bruno@clisp.org>
61116
61117         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
61118         to reflect files copied from gnulib (with or without modifications).
61119         Suggested by Jim Meyering.
61120
61121 2007-03-17  Eric Blake  <ebb9@byu.net>
61122
61123         * NEWS: Document stdlib change from 2007-02-18.
61124
61125 2007-03-17  Jim Meyering  <jim@meyering.net>
61126
61127         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
61128         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
61129         someone uses a name containing shell meta-characters.
61130         Reported by Alfred M. Szmidt.
61131
61132         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
61133
61134 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61135
61136         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
61137         and copy gettext configuration files only if configure.ac contains
61138         a use of AM_GNU_GETTEXT_VERSION.
61139
61140 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
61141
61142         * build-aux/bootstrap (gnulib_name): New variable.
61143         (gnulib_tool_options): Use it.
61144
61145 2007-03-13  Simon Josefsson  <simon@josefsson.org>
61146
61147         * tests/test-des.c: Use new namespace.
61148
61149 2007-03-15  Bruno Haible  <bruno@clisp.org>
61150
61151         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
61152         Reported by James Youngman <jay@gnu.org>.
61153
61154 2007-03-15  Bruno Haible  <bruno@clisp.org>
61155
61156         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
61157         declared prototype. Needed with cc on OSF/1 5.1.
61158
61159 2007-03-15  Bruno Haible  <bruno@clisp.org>
61160
61161         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
61162         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
61163         (struct gl_list_implementation): Add dispose_fn argument to the
61164         'create_empty', 'create' methods.
61165         (struct gl_list_impl_base): Add field 'dispose_fn'.
61166         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
61167         argument.
61168         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
61169         dispose_fn argument.
61170         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
61171         dispose_fn on the dropped values.
61172         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
61173         dispose_fn argument.
61174         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
61175         dropped values.
61176         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
61177         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61178         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
61179         (gl_tree_remove_node): Call dispose_fn on the dropped value.
61180         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
61181         argument.
61182         (gl_tree_list_free): Call dispose_fn on the dropped values.
61183         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
61184         the dropped values.
61185         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61186         Add dispose_fn argument.
61187         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
61188         Call dispose_fn on the dropped values.
61189         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
61190         Add dispose_fn argument.
61191         (gl_sublist_create): Initialize the 'dispose_fn' field.
61192         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
61193         * tests/test-array_list.c (main): Update.
61194         * tests/test-carray_list.c (main): Update.
61195         * tests/test-avltree_list.c (main): Update.
61196         * tests/test-rbtree_list.c (main): Update.
61197         * tests/test-avltreehash_list.c (main): Update.
61198         * tests/test-rbtreehash_list.c (main): Update.
61199         * tests/test-linked_list.c (main): Update.
61200         * tests/test-linkedhash_list.c (main): Update.
61201         * tests/test-array_oset.c (main): Update.
61202
61203 2007-03-15  Bruno Haible  <bruno@clisp.org>
61204
61205         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
61206         (gl_oset_create_empty): Add dispose_fn argument.
61207         (struct gl_oset_implementation): Add dispose_fn argument to
61208         'create_empty' method.
61209         (struct gl_oset_impl_base): Add dispose_fn field.
61210         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
61211         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
61212         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
61213         values.
61214         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
61215         (gl_tree_oset_free): Call dispose_fn on the dropped values.
61216         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61217         dropped value.
61218         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
61219         dropped value.
61220         * tests/test-array_oset.c (main): Update.
61221         * tests/test-avltree_oset.c (main): Update.
61222         * tests/test-rbtree_oset.c (main): Update.
61223         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
61224
61225 2007-03-13  Bruno Haible  <bruno@clisp.org>
61226
61227         * tests/test-stdbool.c (i): Update after last patch.
61228
61229 2007-03-12  Bruno Haible  <bruno@clisp.org>
61230
61231         * lib/quotearg.c: Include <wctype.h> early, before the definition of
61232         the iswprint macro. Needed on Solaris 2.5.1.
61233
61234 2007-03-12  Bruno Haible  <bruno@clisp.org>
61235
61236         * tests/test-printf-frexp.c (main): Declare x as volatile.
61237
61238 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61239
61240         * doc/gnulib.texi (Build robot for gnulib): New section.
61241
61242 2007-03-12  Jim Meyering  <jim@meyering.net>
61243
61244         * build-aux/bootstrap: New file.
61245         * build-aux/bootstrap.conf: New file, from coreutils.
61246
61247 2007-03-11  Bruno Haible  <bruno@clisp.org>
61248
61249         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
61250
61251 2007-03-12  Simon Josefsson  <simon@josefsson.org>
61252
61253         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
61254         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
61255         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
61256
61257 2007-03-11  Bruno Haible  <bruno@clisp.org>
61258
61259         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
61260         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
61261
61262 2007-03-11  Bruno Haible  <bruno@clisp.org>
61263
61264         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
61265         formula. Needed for SunPRO C 5.0.
61266
61267 2007-03-11  Bruno Haible  <bruno@clisp.org>
61268
61269         * modules/long-options (Depends-on): Add getopt.
61270
61271 2007-03-11  Bruno Haible  <bruno@clisp.org>
61272
61273         * modules/modechange (Depends-on): Add stdbool.
61274
61275 2007-03-11  Bruno Haible  <bruno@clisp.org>
61276
61277         * modules/i-ring (Depends-on): Add stdbool.
61278
61279 2007-03-11  Bruno Haible  <bruno@clisp.org>
61280
61281         * modules/gc-des (Depends-on): Add stdbool.
61282
61283 2007-03-11  Bruno Haible  <bruno@clisp.org>
61284
61285         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
61286
61287 2007-03-11  Bruno Haible  <bruno@clisp.org>
61288
61289         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
61290
61291 2007-03-11  Bruno Haible  <bruno@clisp.org>
61292
61293         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
61294
61295 2007-03-11  Bruno Haible  <bruno@clisp.org>
61296
61297         * lib/vasnprintf.c (sprintf): Undefine.
61298
61299 2007-03-11  Bruno Haible  <bruno@clisp.org>
61300
61301         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
61302         initializers in SunPRO C and Compaq C compilers.
61303
61304 2007-03-11  Bruno Haible  <bruno@clisp.org>
61305
61306         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
61307         decrementing code ANSI C compliant.
61308
61309 2007-03-11  Bruno Haible  <bruno@clisp.org>
61310
61311         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
61312         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
61313
61314 2007-03-11  Bruno Haible  <bruno@clisp.org>
61315
61316         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
61317         <stdbool.h> substitute doesn't pass.
61318
61319 2007-03-11  Bruno Haible  <bruno@clisp.org>
61320
61321         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
61322
61323 2007-03-11  Bruno Haible  <bruno@clisp.org>
61324
61325         * gnulib-tool (func_create_megatestdir): Create also an autobuild
61326         script, for submission to autobuild.josefsson.org.
61327
61328 2007-03-10  Bruno Haible  <bruno@clisp.org>
61329
61330         * modules/canonicalize-lgpl-tests: New file.
61331         * tests/test-canonicalize-lgpl.sh: New file.
61332         * tests/test-canonicalize-lgpl.c: New file.
61333
61334         * modules/c-strcase-tests: New file.
61335         * tests/test-c-strcase.sh: New file.
61336         * tests/test-c-strcasecmp.c: New file.
61337         * tests/test-c-strncasecmp.c: New file.
61338
61339         * modules/atexit-tests: New file.
61340         * tests/test-atexit.sh: New file.
61341         * tests/test-atexit.c: New file.
61342
61343 2007-03-10  Bruno Haible  <bruno@clisp.org>
61344
61345         * tests/test-binary-io.sh: Use temporary filenames that are not so
61346         likely to clash with those of other tests (in a parallel make).
61347         * tests/test-binary-io.c: Likewise.
61348
61349 2007-03-10  Bruno Haible  <bruno@clisp.org>
61350
61351         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
61352         fallback; use #error instead.
61353         Suggested by Simon Josefsson.
61354
61355 2007-03-10  Bruno Haible  <bruno@clisp.org>
61356
61357         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
61358         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
61359         first and the last.
61360
61361 2007-03-10  Bruno Haible  <bruno@clisp.org>
61362
61363         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
61364
61365 2007-03-10  Bruno Haible  <bruno@clisp.org>
61366
61367         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
61368         "make distcheck".
61369         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
61370         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
61371         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
61372
61373 2007-03-10  Bruno Haible  <bruno@clisp.org>
61374
61375         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
61376         variable.
61377         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
61378         variable.
61379
61380 2007-03-09  Eric Blake  <ebb9@byu.net>
61381         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
61382
61383         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
61384         types are not being provided by gnulib.
61385         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
61386         types are supported.
61387
61388 2007-03-10  Bruno Haible  <bruno@clisp.org>
61389
61390         * lib/stdio_.h (__attribute__): New macro.
61391         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
61392         vsprintf): Specify __attribute__ __format__ for GCC.
61393         Suggested by Eric Blake.
61394
61395 2007-03-09  Bruno Haible  <bruno@clisp.org>
61396
61397         * modules/printf-posix-tests: New file.
61398         * tests/test-printf-posix.sh: New file.
61399         * tests/test-printf-posix.c: New file.
61400
61401         * modules/printf-posix: New file.
61402         * lib/printf.c: New file.
61403         * m4/printf-posix-rpl.m4: New file.
61404         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
61405         REPLACE_PRINTF.
61406         * lib/stdio_.h (printf): New declaration.
61407         (format, __format__, ____printf____, ____scanf____, ____strftime____,
61408         ____strfmon____): New macros.
61409         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
61410         REPLACE_PRINTF.
61411
61412 2007-03-09  Bruno Haible  <bruno@clisp.org>
61413
61414         * tests/test-vasnprintf-posix2.sh: New file.
61415         * tests/test-vasnprintf-posix2.c: New file.
61416         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
61417         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
61418         (Makefile.am): Activate test-vasnprintf-posix2.sh.
61419
61420         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
61421         a locale dependent decimal point, rather than always '.'.
61422
61423 2007-03-09  Eric Blake  <ebb9@byu.net>
61424
61425         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
61426         spite of platforms like Tandem/NSK that define it to -1.
61427
61428 2007-03-08  Bruno Haible  <bruno@clisp.org>
61429
61430         * modules/vprintf-posix-tests: New file.
61431         * tests/test-vprintf-posix.sh: New file.
61432         * tests/test-vprintf-posix.c: New file.
61433         * tests/test-printf-posix.h: New file.
61434
61435         * modules/vprintf-posix: New file.
61436         * lib/vprintf.c: New file.
61437         * m4/vprintf-posix.m4: New file.
61438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
61439         REPLACE_VPRINTF.
61440         * lib/stdio_.h (vprintf): New declaration.
61441         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
61442         REPLACE_VPRINTF.
61443
61444 2007-03-08  Bruno Haible  <bruno@clisp.org>
61445
61446         * modules/fprintf-posix-tests: New file.
61447         * tests/test-fprintf-posix.sh: New file.
61448         * tests/test-fprintf-posix.c: New file.
61449
61450         * modules/fprintf-posix: New file.
61451         * lib/fprintf.c: New file.
61452         * m4/fprintf-posix.m4: New file.
61453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
61454         REPLACE_FPRINTF.
61455         * lib/stdio_.h (fprintf): New declaration.
61456         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
61457         REPLACE_FPRINTF.
61458
61459 2007-03-08  Bruno Haible  <bruno@clisp.org>
61460
61461         * modules/vfprintf-posix-tests: New file.
61462         * tests/test-vfprintf-posix.sh: New file.
61463         * tests/test-vfprintf-posix.c: New file.
61464         * tests/test-fprintf-posix.h: New file.
61465         * tests/test-fprintf-posix.out: New file.
61466
61467         * modules/vfprintf-posix: New file.
61468         * lib/vfprintf.c: New file.
61469         * m4/vfprintf-posix.m4: New file.
61470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
61471         REPLACE_VFPRINTF.
61472         * lib/stdio_.h (vfprintf): New declaration.
61473         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
61474         REPLACE_VFPRINTF.
61475
61476 2007-03-08  Bruno Haible  <bruno@clisp.org>
61477
61478         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
61479
61480 2007-03-08  Bruno Haible  <bruno@clisp.org>
61481
61482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
61483         instead of 'expr' invocations.
61484         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61485         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61486         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61487         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61489         Suggested by Paul Eggert.
61490
61491 2007-03-08  Bruno Haible  <bruno@clisp.org>
61492
61493         * modules/fseterr-tests: New file.
61494         * tests/test-fseterr.c: New file.
61495
61496         * modules/fseterr: New file.
61497         * lib/fseterr.h: New file.
61498         * lib/fseterr.c: New file.
61499
61500 2007-03-08  Bruno Haible  <bruno@clisp.org>
61501
61502         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
61503         * lib/getopt_.h: Likewise.
61504         * lib/mbswidth.h: Likewise.
61505         * lib/setenv.h: Likewise.
61506         * lib/vasnprintf.h: Likewise.
61507         * lib/vasprintf.h: Likewise.
61508         * lib/verror.h: Likewise.
61509         * lib/xsetenv.h: Likewise.
61510         * lib/xvasprintf.h: Likewise.
61511
61512 2007-03-08  Jim Meyering  <jim@meyering.net>
61513
61514         * users.txt: Add parted.
61515
61516         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
61517
61518 2007-03-07  Bruno Haible  <bruno@clisp.org>
61519
61520         * m4/printf.m4: Make the shell script snippets copy&pastable.
61521
61522 2007-03-02  Bruno Haible  <bruno@clisp.org>
61523
61524         * lib/netinet_in_.h: New file.
61525         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
61526         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
61527         * modules/netinet_in (Files): Add lib/netinet_in_.h.
61528         (Depends-on): Add absolute-header.
61529         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
61530         into netinet/in.h.
61531
61532 2007-03-03  Bruno Haible  <bruno@clisp.org>
61533
61534         * lib/sys_select_.h: New file.
61535         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
61536         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
61537         * modules/sys_select (Files): Add lib/sys_select_.h.
61538         (Depends-on): Add absolute-header.
61539         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
61540         into sys/select.h.
61541
61542 2007-03-02  Bruno Haible  <bruno@clisp.org>
61543
61544         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
61545         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
61546         values.
61547         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
61548         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
61549         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
61550         * modules/sys_socket (Depends-on): Add absolute-header.
61551         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
61552         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
61553         (Include): Remove requirement of inclusion of <sys/types.h>.
61554
61555 2007-03-02  Bruno Haible  <bruno@clisp.org>
61556
61557         * lib/byteswap_.h (bswap_32): Fix formula.
61558
61559 2007-03-06  Bruno Haible  <bruno@clisp.org>
61560
61561         * modules/sprintf-posix-tests: New file.
61562         * tests/test-sprintf-posix.c: New file.
61563
61564         * modules/sprintf-posix: New file.
61565         * lib/sprintf.c: New file.
61566         * m4/sprintf-posix.m4: New file.
61567         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
61568         REPLACE_SPRINTF.
61569         * lib/stdio_.h (sprintf): New declaration.
61570         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
61571         REPLACE_SPRINTF.
61572
61573 2007-03-06  Bruno Haible  <bruno@clisp.org>
61574
61575         * modules/vsprintf-posix-tests: New file.
61576         * tests/test-vsprintf-posix.c: New file.
61577         * tests/test-sprintf-posix.h: New file.
61578
61579         * modules/vsprintf-posix: New file.
61580         * lib/vsprintf.c: New file.
61581         * m4/vsprintf-posix.m4: New file.
61582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
61583         REPLACE_VSPRINTF.
61584         * lib/stdio_.h (vsprintf): New declaration.
61585         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
61586         REPLACE_VSPRINTF.
61587
61588 2007-03-06  Bruno Haible  <bruno@clisp.org>
61589
61590         * modules/vsnprintf (Depend-on): Remove minmax.
61591
61592 2007-03-06  Bruno Haible  <bruno@clisp.org>
61593
61594         * modules/snprintf-posix-tests: New file.
61595         * tests/test-snprintf-posix.c: New file.
61596
61597         * modules/snprintf-posix: New file.
61598         * m4/snprintf-posix.m4: New file.
61599         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
61600         gl_FUNC_SNPRINTF.
61601         (gl_FUNC_SNPRINTF): Invoke it.
61602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
61603         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
61604         is set.
61605         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
61606
61607 2007-03-06  Bruno Haible  <bruno@clisp.org>
61608
61609         * modules/vsnprintf-posix-tests: New file.
61610         * tests/test-vsnprintf-posix.c: New file.
61611         * tests/test-snprintf-posix.h: New file.
61612
61613         * modules/vsnprintf-posix: New file.
61614         * m4/vsnprintf-posix.m4: New file.
61615         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
61616         gl_FUNC_VSNPRINTF.
61617         (gl_FUNC_VSNPRINTF): Invoke it.
61618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
61619         * lib/stdio_.h (vsnprintf): Define as a replacement if
61620         REPLACE_VSNPRINTF is set.
61621         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
61622
61623 2007-03-06  Bruno Haible  <bruno@clisp.org>
61624
61625         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
61626         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
61627
61628 2007-03-06  Bruno Haible  <bruno@clisp.org>
61629
61630         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
61631         (asinl): Declare also if HAVE_DECL_ASINL is set.
61632         (atanl): Declare also if HAVE_DECL_ATANL is set.
61633         (ceill): Declare also if HAVE_DECL_CEILL is set.
61634         (cosl): Declare also if HAVE_DECL_COSL is set.
61635         (expl): Declare also if HAVE_DECL_EXPL is set.
61636         (floorl): Declare also if HAVE_DECL_FLOORL is set.
61637         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
61638         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
61639         (logl): Declare also if HAVE_DECL_LOGL is set.
61640         (sinl): Declare also if HAVE_DECL_SINL is set.
61641         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
61642         (tanl): Declare also if HAVE_DECL_TANL is set.
61643         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
61644         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
61645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
61646         declaration of frexpl, ldexpl.
61647         * modules/printf-frexpl (Depends-on): Add math.
61648         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
61649
61650 2007-03-05  Bruno Haible  <bruno@clisp.org>
61651
61652         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
61653         frexpl and ldexpl are declared.
61654         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
61655
61656 2007-03-05  Bruno Haible  <bruno@clisp.org>
61657
61658         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
61659         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
61660
61661 2007-03-05  Bruno Haible  <bruno@clisp.org>
61662
61663         * lib/stdio_.h: Include <stddef.h>.
61664
61665 2007-03-05  Bruno Haible  <bruno@clisp.org>
61666
61667         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
61668
61669 2007-03-05  Bruno Haible  <bruno@clisp.org>
61670
61671         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
61672         NetBSD 4, from Ralf Wildenhues.
61673
61674 2007-03-04  Bruno Haible  <bruno@clisp.org>
61675
61676         * lib/vasprintf.h: Update #if logic for the case when the functions
61677         exist but are overridden.
61678
61679 2007-03-04  Bruno Haible  <bruno@clisp.org>
61680
61681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
61682         implementations: glibc-2.4 and MacOS X 10.3.
61683         * tests/test-vasnprintf-posix.c (test_function): Test also the case
61684         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
61685         * tests/test-vasprintf-posix.c (test_function): Likewise.
61686
61687 2007-03-04  Bruno Haible  <bruno@clisp.org>
61688
61689         * modules/vasprintf-posix-tests: New file.
61690         * tests/test-vasprintf-posix.c: New file.
61691
61692         * modules/vasprintf-posix: New file.
61693         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
61694         defined.
61695         * m4/vasprintf-posix.m4: New file.
61696         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
61697         gl_FUNC_VASPRINTF.
61698         (gl_FUNC_VASPRINTF): Invoke it.
61699         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
61700         here.
61701         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
61702
61703 2007-03-04  Bruno Haible  <bruno@clisp.org>
61704
61705         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
61706         REPLACE_GETTIMEOFDAY.
61707         * modules/sys_time (Makefile.am): Likewise.
61708         * m4/sys_time_h.m4: Likewise.
61709         * m4/gettimeofday.m4: Likewise.
61710
61711 2007-03-04  Bruno Haible  <bruno@clisp.org>
61712
61713         * modules/vasnprintf-posix-tests: New file.
61714         * tests/test-vasnprintf-posix.c: New file.
61715
61716         * modules/vasnprintf-posix: New file.
61717         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
61718         printf-frexpl.h.
61719         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
61720         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
61721         REPLACE_VASNPRINTF is defined.
61722         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
61723         gl_FUNC_VASNPRINTF.
61724         (gl_FUNC_VASNPRINTF): Invoke it.
61725         * m4/vasnprintf-posix.m4: New file.
61726         * m4/printf.m4: New file.
61727
61728 2007-03-04  Bruno Haible  <bruno@clisp.org>
61729
61730         Compile progreloc.c only if --enable-relocatable is specified.
61731         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
61732         if --enable-relocatable was specified.
61733         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
61734         lib_SOURCES.
61735
61736 2007-03-04  Jim Meyering  <jim@meyering.net>
61737
61738         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
61739         Use it consistently, rather than enumerating errno constants.
61740
61741 2007-03-04  Bruno Haible  <bruno@clisp.org>
61742
61743         * modules/xvasprintf-tests: New file.
61744         * tests/test-xvasprintf.c: New file.
61745
61746         * modules/vasprintf-tests: New file.
61747         * tests/test-vasprintf.c: New file.
61748
61749         * modules/vasnprintf-tests: New file.
61750         * tests/test-vasnprintf.c: New file.
61751
61752         * modules/vsnprintf-tests: New file.
61753         * tests/test-vsnprintf.c: New file.
61754
61755         * modules/snprintf-tests: New file.
61756         * tests/test-snprintf.c: New file.
61757
61758 2007-03-04  Bruno Haible  <bruno@clisp.org>
61759
61760         Compile relocatable.c only if --enable-relocatable is specified.
61761         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
61762         gl_RELOCATABLE_LIBRARY.
61763         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
61764         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
61765         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
61766         gl_RELOCATABLE_LIBRARY.
61767         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
61768         (Makefile.am): Remove lib_SOURCES.
61769         * modules/relocatable-lib-lgpl (configure.ac): Invoke
61770         gl_RELOCATABLE_LIBRARY.
61771         (Makefile.am): Remove lib_SOURCES.
61772         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
61773         always.
61774         * modules/relocatable-prog-wrapper (configure.ac): Invoke
61775         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
61776
61777 2007-03-04  Bruno Haible  <bruno@clisp.org>
61778
61779         * modules/argmatch-tests: New file.
61780         * tests/test-argmatch.c: New file.
61781
61782         * tests/test-allocsa.c (main): Halve the number of loop runs.
61783
61784         * modules/alloca-opt-tests: New file.
61785         * tests/test-alloca-opt.c: New file.
61786
61787 2007-03-04  Jim Meyering  <jim@meyering.net>
61788
61789         Work around difference between Linux ACLs and Solaris 10 ZFS.
61790         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
61791         for EINVAL.
61792
61793 2007-03-03  Bruno Haible  <bruno@clisp.org>
61794
61795         * modules/relocatable-prog (Depends-on): Add back progreloc's
61796         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
61797
61798 2007-03-03  Bruno Haible  <bruno@clisp.org>
61799
61800         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
61801         * modules/relocatable-lib: New file.
61802
61803 2007-03-03  Bruno Haible  <bruno@clisp.org>
61804
61805         * modules/relocatable-prog: Renamed from modules/relocatable.
61806         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
61807
61808 2007-03-03  Bruno Haible  <bruno@clisp.org>
61809
61810         * modules/relocatable-script (Files): Add doc/relocatable.texi,
61811         m4/relocatable-lib.m4.
61812         (Depends-on): Remove 'relocatable'.
61813         (configure.ac): Add gl_RELOCATABLE_NOP.
61814
61815 2007-03-03  Bruno Haible  <bruno@clisp.org>
61816
61817         * modules/relocatable-prog-wrapper: New file.
61818         * modules/relocatable (Depends-on): Add it. Remove all other
61819         dependencies except progname.
61820         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
61821
61822         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
61823         (gl_FUNC_STRERROR): Nop.
61824         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
61825
61826         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
61827         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
61828
61829         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
61830         (gl_FUNC_READLINK): Update.
61831
61832         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
61833
61834 2007-03-03  Bruno Haible  <bruno@clisp.org>
61835
61836         * lib/xreadlink.c: Include <unistd.h> unconditionally.
61837         * modules/xreadlink (Depends-on): Add unistd.
61838         * modules/xreadlink-with-size (Depends-on): Likewise.
61839
61840 2007-03-03  Bruno Haible  <bruno@clisp.org>
61841
61842         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
61843         extracted from gt_FUNC_SETENV.
61844         (gt_FUNC_SETENV): Remove macro.
61845         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
61846         remove gt_FUNC_SETENV.
61847
61848 2007-03-03  Bruno Haible  <bruno@clisp.org>
61849
61850         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
61851         ENABLE_RELOCATABLE here.
61852         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
61853
61854 2007-03-03  Bruno Haible  <bruno@clisp.org>
61855
61856         * modules/rbtreehash-list-tests (Depends-on): Add progname.
61857         * tests/test-rbtreehash_list.c: Include progname.h.
61858         (main): Call set_program_name.
61859
61860         * modules/rbtree-oset-tests (Depends-on): Add progname.
61861         * tests/test-rbtree_oset.c: Include progname.h.
61862         (main): Call set_program_name.
61863
61864         * modules/rbtree-list-tests (Depends-on): Add progname.
61865         * tests/test-rbtree_list.c: Include progname.h.
61866         (main): Call set_program_name.
61867
61868         * modules/linked-list-tests (Depends-on): Add progname.
61869         * tests/test-linked_list.c: Include progname.h.
61870         (main): Call set_program_name.
61871
61872 2007-03-03  Bruno Haible  <bruno@clisp.org>
61873
61874         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
61875         All uses of __restrict changed to _Restrict_.
61876         * lib/glob_.h (__restrict): Remove macro.
61877
61878 2007-03-02  Bruno Haible  <bruno@clisp.org>
61879
61880         * modules/gettext (configure.ac): Require gettext infrastructure
61881         from version 0.16.1.
61882
61883 2007-03-02  Bruno Haible  <bruno@clisp.org>
61884
61885         * modules/linkedhash-list-tests (Depends-on): Add progname.
61886         * tests/test-linkedhash_list.c: Include progname.h.
61887         (main): Call set_program_name.
61888
61889         * modules/carray-list-tests (Depends-on): Add progname.
61890         * tests/test-carray_list.c: Include progname.h.
61891         (main): Call set_program_name.
61892
61893         * modules/avltreehash-list-tests (Depends-on): Add progname.
61894         * tests/test-avltreehash_list.c: Include progname.h.
61895         (main): Call set_program_name.
61896
61897         * modules/avltree-oset-tests (Depends-on): Add progname.
61898         * tests/test-avltree_oset.c: Include progname.h.
61899         (main): Call set_program_name.
61900
61901         * modules/avltree-list-tests (Depends-on): Add progname.
61902         * tests/test-avltree_list.c: Include progname.h.
61903         (main): Call set_program_name.
61904
61905         * modules/array-oset-tests (Depends-on): Add progname.
61906         * tests/test-array_oset.c: Include progname.h.
61907         (main): Call set_program_name.
61908
61909         * modules/array-list-tests (Depends-on): Add progname.
61910         * tests/test-array_list.c: Include progname.h.
61911         (main): Call set_program_name.
61912
61913         * modules/argp-tests (Depends-on): Add progname.
61914         * tests/test-argp.c: Include argp.h first. Include progname.h.
61915         (main): Call set_program_name.
61916
61917 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
61918
61919         * doc/gnulib-tool.texi (Initial import): Reword description of
61920         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
61921         limited effect even if defined after the first system include.
61922
61923 2007-03-01  Bruno Haible  <bruno@clisp.org>
61924
61925         * build-aux/config.libpath: Update to libtool-1.5.22.
61926         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
61927
61928 2007-03-01  Bruno Haible  <bruno@clisp.org>
61929
61930         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
61931         foo_CFLAGS.
61932         Reported by Ralf Wildenhues.
61933
61934 2007-03-01  Bruno Haible  <bruno@clisp.org>
61935
61936         * build-aux/install-reloc: Remove object files left over by some
61937         compilers.
61938         Reported by Ralf Wildenhues.
61939
61940 2007-03-01  Bruno Haible  <bruno@clisp.org>
61941
61942         * build-aux/install-reloc: Break long lines.
61943
61944 2007-03-01  Bruno Haible  <bruno@clisp.org>
61945
61946         * doc/relocatable.texi: Document that it may not work on OpenBSD.
61947         Reported by Ralf Wildenhues.
61948
61949 2007-03-01  Bruno Haible  <bruno@clisp.org>
61950
61951         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
61952         include ordering constraints.
61953
61954 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61955
61956         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
61957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
61958         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
61959         as another example.
61960         * lib/time_.h: Fix misspelling.
61961         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
61962         Require gl_HEADER_TIME_H_DEFAULTS.
61963         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
61964         * m4/time_r.m4 (gl_TIME_R): Likewise.
61965         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
61966
61967 2007-03-01  Bruno Haible  <bruno@clisp.org>
61968
61969         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
61970         * m4/utimens.m4 (gl_UTIMENS): Likewise.
61971
61972 2007-03-01  Jim Meyering  <jim@meyering.net>
61973
61974         * modules/xreadlink (Maintainer): Add my name.
61975         * modules/xreadlink-with-size (Depends-on): Alphabetize.
61976
61977 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
61978             Bruno Haible  <bruno@clisp.org>
61979
61980         * build-aux/install-reloc: Compile also c-ctype.c.
61981         * build-aux/relocatable.sh.in: New file.
61982         * doc/relocatable.texi: New file.
61983         * doc/relocatable-maint.texi: New file.
61984         * doc/gnulib.texi: Include relocatable-maint.texi.
61985         * lib/progreloc.c: Include unistd.h unconditionally.
61986         * lib/relocwrapper.c: Include unistd.h unconditionally.
61987         Include c-ctype.h.
61988         (add_dotbin): Use c_tolower.
61989         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
61990         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
61991         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
61992         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
61993         to m4/relocatable-lib.m4.
61994         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
61995         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
61996         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
61997         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
61998         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
61999         * modules/relocatable: New file.
62000         * modules/relocatable-lib: New file.
62001         * modules/relocatable-script: New file.
62002
62003 2007-02-28  Bruno Haible  <bruno@clisp.org>
62004
62005         Import --enable-relocatable infrastructure.
62006         * build-aux/config.libpath: New file, from GNU gettext.
62007         * build-aux/install-reloc: New file, from GNU gettext.
62008         * build-aux/reloc-ldflags: New file, from GNU gettext.
62009         * lib/relocatable.h: New file, from GNU gettext.
62010         * lib/relocatable.c: New file, from GNU gettext.
62011         * lib/relocwrapper.c: New file, from GNU gettext.
62012         * m4/relocatable.m4: New file, from GNU gettext.
62013
62014 2007-02-28  Bruno Haible  <bruno@clisp.org>
62015
62016         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
62017
62018         * modules/xreadlink: New file, from GNU gettext with modifications.
62019         * lib/xreadlink.c: New file, from GNU gettext.
62020         * lib/xreadlink.h: Add comments.
62021         (xreadlink): New declaration.
62022
62023         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
62024         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
62025         lib/xreadlink-with-size.c.
62026         (configure.ac): Remove gl_XREADLINK invocation.
62027         (Makefile.am): Augment lib_SOURCES.
62028         * m4/xreadlink.m4: Remove file.
62029         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
62030         (xreadlink_with_size): Renamed from xreadink.
62031         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
62032         * modules/canonicalize (Depends-on): Replace xreadlink with
62033         xreadlink-with-size.
62034         * lib/canonicalize.c (canonicalize_filename_mode): Update.
62035
62036 2007-02-25  Jim Meyering  <jim@meyering.net>
62037
62038         * build-aux/announce-gen: When complaining about excess arguments,
62039         list them.
62040
62041 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * README: Document signed integer overflow situation more
62044         accurately.
62045
62046 2007-02-25  Bruno Haible  <bruno@clisp.org>
62047
62048         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
62049         'a' or 'A' conversion.
62050
62051 2007-02-25  Bruno Haible  <bruno@clisp.org>
62052
62053         * modules/filename: Renamed from modules/pathname.
62054         (Files): Replace lib/pathname.h with lib/filename.h. Replace
62055         lib/concatpath.c with lib/concat-filename.c.
62056         (Makefile.am): Update.
62057         (Include): Replace pathname.h with filename.h.
62058         * lib/filename.h: Renamed from lib/pathname.h.
62059         (concatenated_filename): Renamed from concatenated_pathname.
62060         * lib/concat-filename.c: Renamed from lib/concatpath.c.
62061         (concatenated_filename): Renamed from concatenated_pathname.
62062         * lib/findprog.c: Include filename.h instead of pathname.h.
62063         (find_in_path): Update.
62064         * lib/javacomp.c: Include filename.h instead of pathname.h.
62065         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
62066         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
62067         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
62068         is_oldgcj_14_13_usable, is_javac_usable): Update.
62069         * lib/javaexec.c: Include filename.h instead of pathname.h.
62070         (execute_java_class): Update.
62071         * modules/findprog: Update.
62072         * modules/javacomp: Update.
62073         * modules/javaexec: Update.
62074         * MODULES.html.sh (File system functions): Add 'filename', remove
62075         'pathname'.
62076
62077 2007-02-25  Bruno Haible  <bruno@clisp.org>
62078
62079         * modules/printf-frexpl-tests: New file.
62080         * tests/test-printf-frexpl.c: New file.
62081
62082         * modules/printf-frexpl: New file.
62083         * lib/printf-frexpl.h: New file.
62084         * lib/printf-frexpl.c: New file.
62085         * m4/printf-frexpl.m4: New file.
62086
62087 2007-02-25  Bruno Haible  <bruno@clisp.org>
62088
62089         * modules/printf-frexp-tests: New file.
62090         * tests/test-printf-frexp.c: New file.
62091
62092         * modules/printf-frexp: New file.
62093         * lib/printf-frexp.h: New file.
62094         * lib/printf-frexp.c: New file.
62095         * m4/printf-frexp.m4: New file.
62096
62097 2007-02-25  Bruno Haible  <bruno@clisp.org>
62098
62099         Assume automake >= 1.10 for the tests.
62100         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
62101         * modules/arctwo-tests: Likewise.
62102         * modules/argp-tests: Likewise.
62103         * modules/avltree-list-tests: Likewise.
62104         * modules/avltree-oset-tests: Likewise.
62105         * modules/avltreehash-list-tests: Likewise.
62106         * modules/carray-list-tests: Likewise.
62107         * modules/crc-tests: Likewise.
62108         * modules/des-tests: Likewise.
62109         * modules/gc-arcfour-tests: Likewise.
62110         * modules/gc-arctwo-tests: Likewise.
62111         * modules/gc-des-tests: Likewise.
62112         * modules/gc-hmac-md5-tests: Likewise.
62113         * modules/gc-hmac-sha1-tests: Likewise.
62114         * modules/gc-md2-tests: Likewise.
62115         * modules/gc-md4-tests: Likewise.
62116         * modules/gc-md5-tests: Likewise.
62117         * modules/gc-pbkdf2-sha1-tests: Likewise.
62118         * modules/gc-rijndael-tests: Likewise.
62119         * modules/gc-sha1-tests: Likewise.
62120         * modules/gc-tests: Likewise.
62121         * modules/getaddrinfo-tests: Likewise.
62122         * modules/hmac-md5-tests: Likewise.
62123         * modules/hmac-sha1-tests: Likewise.
62124         * modules/linked-list-tests: Likewise.
62125         * modules/linkedhash-list-tests: Likewise.
62126         * modules/lock-tests: Likewise.
62127         * modules/md2-tests: Likewise.
62128         * modules/md4-tests: Likewise.
62129         * modules/md5-tests: Likewise.
62130         * modules/rbtree-list-tests: Likewise.
62131         * modules/rbtree-oset-tests: Likewise.
62132         * modules/rbtreehash-list-tests: Likewise.
62133         * modules/read-file-tests: Likewise.
62134         * modules/rijndael-tests: Likewise.
62135         * modules/stdint-tests: Likewise.
62136         * modules/tls-tests: Likewise.
62137
62138 2007-02-24  Bruno Haible  <bruno@clisp.org>
62139
62140         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
62141         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
62142         function; instead check whether isnan with a double argument links.
62143         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
62144         function; instead check whether isnan with a 'long double' argument
62145         links.
62146         Reported by Eric Blake <ebb9@byu.net>.
62147
62148 2007-02-24  Bruno Haible  <bruno@clisp.org>
62149
62150         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
62151         defined.
62152         * lib/isnanl.c: Remove all code. Just include isnan.c.
62153         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
62154
62155 2007-02-25  Jim Meyering  <jim@meyering.net>
62156
62157         Avoid conflicting types for 'unsetenv' on FreeBSD.
62158         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
62159         conflicting with FreeBSD's (5.0 and 6.1) function declaration
62160         in stdlib.h.
62161
62162 2007-02-24  Bruno Haible  <bruno@clisp.org>
62163
62164         * modules/isnanl-nolibm-tests: New file.
62165         * tests/test-isnanl.c: New file.
62166
62167         * modules/isnanl-nolibm: New file.
62168         * lib/isnanl.h: New file.
62169         * lib/isnanl.c: New file.
62170         * m4/isnanl.m4: New file.
62171
62172 2007-02-24  Bruno Haible  <bruno@clisp.org>
62173
62174         * modules/isnan-nolibm-tests: New file.
62175         * tests/test-isnan.c: New file.
62176
62177         * modules/isnan-nolibm: New file.
62178         * lib/isnan.h: New file.
62179         * lib/isnan.c: New file.
62180         * m4/isnan.m4: New file.
62181
62182 2007-02-24  Bruno Haible  <bruno@clisp.org>
62183
62184         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
62185         assume that an exponent fits in 20 bits.
62186
62187 2007-02-24  Jim Meyering  <jim@meyering.net>
62188
62189         * m4/regex.m4: Update the description of the configure-time option,
62190         --without-included-regex, to state accurately what the defaults are,
62191         and perhaps to give people an idea why using this option is risky.
62192
62193 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62194
62195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
62196         loops on small arguments.  This attempts to avoid the problem
62197         Bruno Haible reported for AIX 4.3.2 in
62198         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
62199
62200 2007-02-23  Bruno Haible  <bruno@clisp.org>
62201
62202         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
62203         Needed for help2man.
62204
62205 2007-02-23  Karl Berry  <karl@gnu.org>
62206
62207         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
62208         exists, foo.h should be cvs-ignored, not committed.
62209
62210 2007-02-23  Eric Blake  <ebb9@byu.net>
62211
62212         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
62213         * lib/stat-time.h (includes): Likewise.
62214         * lib/utimecmp.c (includes): Likewise.
62215         * lib/utimens.h (includes): Likewise.
62216         * lib/getdate.y (includes): Also include "timespec.h" for use
62217         internal to the module.
62218         * modules/utimens (Depends-on): Revert yesterday's patch.
62219         * modules/nanosleep (Depends-on): Add missing dependency.
62220
62221 2007-02-22  Bruno Haible  <bruno@clisp.org>
62222
62223         * lib/glob.c: Don't include getlogin_r.h.
62224
62225 2007-02-22  Jim Meyering  <jim@meyering.net>
62226
62227         * modules/utimens (Depends-on): Add timespec, required for
62228         utimens.h's inclusion of timespec.h.
62229
62230 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
62231
62232         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
62233         long unreadable paths in GNU/Linux.  Problem reported by Andreas
62234         Schwab in
62235         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
62236         I'll try to think of a better way to fix the Solaris problem.
62237
62238         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
62239         like glibc; on Solaris 10, it fails with errno == EINVAL.
62240         POSIX says the behavior is unspecified if the first argument is NULL,
62241         so play it safe and never pass NULL to the system getcwd.
62242
62243 2007-02-21  Jim Meyering  <jim@meyering.net>
62244
62245         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
62246         of gettimeofday.  It would conflict with the one now always
62247         provided via sys_time_.h.  Reported by Matthew Woehlke, as
62248         an IRIX 6.5 build failure.
62249
62250 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62251
62252         Minor fixups to port to Solaris 10 with Sun C 5.8.
62253         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
62254         * modules/getcwd (Depends-on): Add dirfd.
62255         * lib/putenv.c (putenv): #undef it.
62256         (rpl_putenv): New decl.
62257         (malloc, free): Include <stdlib.h> rather than prototyping separately.
62258
62259 2007-02-20  Bruno Haible  <bruno@clisp.org>
62260
62261         * modules/stdio-tests: New file.
62262         * tests/test-stdio.c: New file.
62263
62264         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
62265         (Depends-on): Add stdio.
62266         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62267         (Include): Use <stdio.h> instead of vsnprintf.h.
62268         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62269         HAVE_DECL_VSNPRINTF.
62270         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
62271
62272         * modules/snprintf (Files): Remove lib/snprintf.h.
62273         (Depends-on): Add stdio.
62274         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
62275         (Include): Use <stdio.h> instead of snprintf.h.
62276         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
62277         HAVE_DECL_SNPRINTF.
62278         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
62279         * lib/getaddrinfo.c: Likewise.
62280
62281         * modules/stdio: New file.
62282         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
62283         * lib/snprintf.h: Remove file.
62284         * lib/vsnprintf.h: Remove file.
62285         * lib/.cppi-disable: Remove snprintf.h.
62286         * m4/stdio_h.m4: New file.
62287         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
62288
62289 2007-02-20  Jim Meyering  <jim@meyering.net>
62290
62291         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
62292         used by e.g., mingw.  From Bruno Haible.
62293
62294 2007-02-19  Bruno Haible  <bruno@clisp.org>
62295
62296         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
62297         warnings.
62298         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62299
62300 2007-02-19  Bruno Haible  <bruno@clisp.org>
62301
62302         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
62303         from mingw users.
62304
62305 2007-02-19  Bruno Haible  <bruno@clisp.org>
62306
62307         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
62308         warnings.
62309         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
62310
62311 2007-02-19  Jim Meyering  <jim@meyering.net>
62312
62313         Don't use FD after a successful "fdopendir (fd)".
62314         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
62315         Reset it by calling dirfd on the just-obtained DIR*.
62316
62317         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
62318         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
62319
62320 2007-02-18  Bruno Haible  <bruno@clisp.org>
62321
62322         * lib/readlink.c: Include <unistd.h>.
62323         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
62324         HAVE_READLINK.
62325         * modules/readlink (Depends-on): Add unistd.
62326         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62327         (Include): Add <unistd.h>.
62328
62329         * lib/getlogin_r.h: Remove file.
62330         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
62331         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
62332         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
62333         HAVE_DECL_GETLOGIN_R.
62334         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
62335         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62336         (Include): Use <unistd.h> instead of getlogin_r.h.
62337
62338         * lib/getcwd.h: Remove file.
62339         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
62340         * lib/xgetcwd.c: Likewise.
62341         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
62342         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
62343         * modules/getcwd (Files): Remove lib/getcwd.h.
62344         (Depends-on): Add unistd.
62345         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62346         (Include): Use <unistd.h> instad of getcwd.h.
62347
62348         * lib/ftruncate.c: Include <unistd.h> first.
62349         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
62350         Set HAVE_FTRUNCATE.
62351         * modules/ftruncate (Depends-on): Add unistd.
62352         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62353
62354         * lib/fchdir.c: Include <unistd.h> first.
62355         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
62356         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
62357         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
62358         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62359         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
62360
62361         * lib/dup2.c: Include <unistd.h> first.
62362         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
62363         HAVE_DUP2.
62364         * modules/dup2 (Depends-on): Add unistd.
62365         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62366
62367         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
62368         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
62369         REPLACE_CHOWN. Don't define chown as a macro here.
62370         * modules/chown (Depends-on): Add unistd.
62371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62372
62373         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
62374         Add definition for GL_LINK_WARNING.
62375         (chown, dup2): New declarations.
62376         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
62377         link warning.
62378         (ftruncate): New declaration.
62379         (getcwd): New declaration, taken from old getcwd.h.
62380         (getlogin_r): New declaration, taken from old getlogin_r.h.
62381         (readlink): New declaration.
62382         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
62383         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
62384         (gl_PREREQ_UNISTD): Remove macro.
62385         (gl_UNISTD_MODULE_INDICATOR): New macro.
62386         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
62387         many new variables. Don't set UNISTD_H.
62388         * modules/unistd (Description): Change.
62389         (Depends-on): Add link-warning.
62390         (configure.ac): Update.
62391         (Makefile.am): Create unistd.h always. Substitute many new variables
62392         into it.
62393
62394 2007-02-18  Bruno Haible  <bruno@clisp.org>
62395
62396         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
62397         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
62398         HAVE_GETSUBOPT.
62399         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
62400         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
62401         * lib/getsubopt.h: Remove file.
62402         * modules/getsubopt (Files): Remove lib/getsubopt.h.
62403         (Depends-on): Add stdlib.
62404         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62405         (Includes): Use <stdlib.h> instead of getsubopt.h.
62406         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
62407         Set HAVE_GETSUBOPT.
62408         * lib/getsubopt.c: Don't include getsubopt.h.
62409
62410 2007-02-18  Bruno Haible  <bruno@clisp.org>
62411
62412         * modules/fchdir (Depends-on): Add dup2.
62413
62414 2007-02-18  Bruno Haible  <bruno@clisp.org>
62415
62416         * lib/stdlib_.h: Handle glibc's special invocation convention
62417         specially.
62418
62419 2007-02-18  Bruno Haible  <bruno@clisp.org>
62420
62421         * modules/stdlib-tests: New file.
62422         * tests/test-stdlib.c: New file.
62423
62424         * modules/mkstemp (Files): Remove lib/mkstemp.h.
62425         (Depends-on): Add stdlib.
62426         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62427         (Includes): Use <stdlib.h> instead of mkstemp.h.
62428         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62429         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
62430         * lib/mkstemp.c: Don't include mkstemp.h.
62431         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
62432         * lib/stdlib--.h: Don't include mkstemp.h.
62433
62434         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
62435         (Depends-on): Add stdlib.
62436         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62437         (Includes): Use <stdlib.h> instead of mkdtemp.h.
62438         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
62439         HAVE_MKDTEMP.
62440         * lib/mkdtemp.c: Don't include mkdtemp.h.
62441         * lib/clean-temp.c: Don't include mkdtemp.h.
62442
62443         * modules/exit (Files): Remove lib/exit.h.
62444         (Depends-on): Add stdlib.
62445         (Makefile.am): Remove lib_SOURCES.
62446         (Include): Use <stdlib.h> instead of exit.h.
62447         * lib/argmatch.c: Don't include exit.h.
62448         * lib/execute.c: Likewise.
62449         * lib/pagealign_alloc.c: Likewise.
62450         * lib/pipe.c: Likewise.
62451         * lib/wait-process.c: Likewise.
62452         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
62453         * lib/exitfail.c: Likewise.
62454         * lib/savewd.c: Likewise.
62455         * lib/xsetenv.c: Likewise.
62456
62457         * modules/stdlib: New file.
62458         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
62459         and extra comments about mkstemp().
62460         * lib/exit.h: Remove file.
62461         * lib/mkdtemp.h: Remove file.
62462         * lib/mkstemp.h: Remove file.
62463         * m4/stdlib_h.m4: New file.
62464         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
62465
62466 2007-02-18  Bruno Haible  <bruno@clisp.org>
62467
62468         * modules/math-tests: New file.
62469         * tests/test-math.c: New file.
62470
62471         * modules/math: New file.
62472         * modules/mathl (Files): Remove lib/mathl.h.
62473         (Depends-on): Add math.
62474         (Makefile.am): Don't mention mathl.h.
62475         (Include): Use <math.h> instead of mathl.h.
62476         * lib/math_.h: New file.
62477         * lib/mathl.h: Remove file.
62478         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
62479         mathl.h.
62480         * lib/asinl.c: Likewise.
62481         * lib/atanl.c: Likewise.
62482         * lib/ceill.c: Likewise.
62483         * lib/cosl.c: Likewise.
62484         * lib/expl.c: Likewise.
62485         * lib/floorl.c: Likewise.
62486         * lib/frexpl.c: Likewise.
62487         * lib/ldexpl.c: Likewise.
62488         * lib/logl.c: Likewise.
62489         * lib/sincosl.c: Likewise.
62490         * lib/sinl.c: Likewise.
62491         * lib/sqrtl.c: Likewise.
62492         * lib/tanl.c: Likewise.
62493         * lib/trigl.c: Likewise.
62494         * m4/math_h.m4: New file.
62495         * MODULES.html.sh (Mathematics): Add math.
62496
62497 2007-02-17  Bruno Haible  <bruno@clisp.org>
62498
62499         * modules/wctype-tests: New file.
62500         * tests/test-wctype.c: New file.
62501
62502         * modules/wchar-tests: New file.
62503         * tests/test-wchar.c: New file.
62504
62505         * modules/unistd-tests: New file.
62506         * tests/test-unistd.c: New file.
62507
62508         * modules/time-tests: New file.
62509         * tests/test-time.c: New file.
62510
62511         * modules/sysexits-tests: New file.
62512         * tests/test-sysexits.c: New file.
62513
62514         * modules/sys_time-tests: New file.
62515         * tests/test-sys_time.c: New file.
62516
62517         * modules/sys_stat-tests: New file.
62518         * tests/test-sys_stat.c: New file.
62519
62520         * modules/sys_socket-tests: New file.
62521         * tests/test-sys_socket.c: New file.
62522
62523         * modules/sys_select-tests: New file.
62524         * tests/test-sys_select.c: New file.
62525
62526         * modules/string-tests: New file.
62527         * tests/test-string.c: New file.
62528
62529         * modules/stdbool-tests: New file.
62530         * tests/test-stdbool.c: New file.
62531
62532         * modules/netinet_in-tests: New file.
62533         * tests/test-netinet_in.c: New file.
62534
62535         * modules/inttypes-tests: New file.
62536         * tests/test-inttypes.c: New file.
62537
62538         * modules/fcntl-tests: New file.
62539         * tests/test-fcntl.c: New file.
62540
62541         * modules/byteswap-tests: New file.
62542         * tests/test-byteswap.c: New file.
62543
62544         * modules/arpa_inet-tests: New file.
62545         * tests/test-arpa_inet.c: New file.
62546
62547 2007-02-17  Bruno Haible  <bruno@clisp.org>
62548
62549         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
62550         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
62551         if the corresponding module is not enabled. Emit link warnings if
62552         the function is used nevertheless.
62553         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
62554         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
62555         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
62556         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
62557         * modules/inttypes (Depends-on): Add link-warning.
62558         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62559         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
62560         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
62561         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
62562         * modules/imaxdiv (configure.ac): Likewise.
62563         * modules/strtoimax (configure.ac): Likewise.
62564         * modules/strtoumax (configure.ac): Likewise.
62565
62566 2007-02-17  Bruno Haible  <bruno@clisp.org>
62567
62568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
62569         gl_STRING_MODULE_INDICATOR_DEFAULTS.
62570         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
62571         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
62572
62573 2007-02-17  Bruno Haible  <bruno@clisp.org>
62574
62575         * modules/link-warning: New file.
62576         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
62577         * lib/string_.h (GL_LINK_WARNING): Remove definition.
62578         * modules/string (Depends-on): Add link-warning.
62579         (Makefile.am): Copy the contents of build-aux/link-warning.h into
62580         string.h.
62581         * MODULES.html.sh (Support for building libraries and executables): Add
62582         link-warning.
62583
62584 2007-02-17  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
62587         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
62588         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
62589         long lines.
62590
62591 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
62592             Bruno Haible  <bruno@clisp.org>
62593
62594         * modules/tmpfile: New file.
62595         * lib/tmpfile.c: New file.
62596         * m4/tmpfile.m4: New file.
62597         * MODULES.html.sh (func_all_modules): New section "Input/output".
62598
62599 2007-02-15  Bruno Haible  <bruno@clisp.org>
62600
62601         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
62602         (supports_delete_on_close): New function.
62603         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
62604
62605 2007-02-14  Bruno Haible  <bruno@clisp.org>
62606
62607         * modules/mbspcasecmp-tests: New file.
62608         * tests/test-mbspcasecmp.sh: New file.
62609         * tests/test-mbspcasecmp.c: New file.
62610
62611         New module mbspcasecmp.
62612         * modules/mbspcasecmp: New file.
62613         * lib/mbspcasecmp.c: New file.
62614         * lib/string_.h (strncasecmp): Change warning message.
62615         (mbspcasecmp): New declaration.
62616         * m4/mbspcasecmp.m4: New file.
62617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62618         GNULIB_MBSPCASECMP.
62619         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
62620         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
62621
62622 2007-02-14  Bruno Haible  <bruno@clisp.org>
62623
62624         * modules/mbsncasecmp-tests: New file.
62625         * tests/test-mbsncasecmp.sh: New file.
62626         * tests/test-mbsncasecmp.c: New file.
62627
62628         New module mbsncasecmp.
62629         * modules/mbsncasecmp: New file.
62630         * lib/mbsncasecmp.c: New file.
62631         * lib/string_.h (mbsncasecmp): New declaration.
62632         * m4/mbsncasecmp.m4: New file.
62633         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62634         GNULIB_MBSNCASECMP.
62635         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
62636         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
62637
62638 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62639
62640         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
62641         Verify that it doesn't overlap with our flags.
62642         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
62643         do not have the desired effect in multibyte locales; instead, use
62644         mbscasecmp.
62645         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
62646         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
62647         we don't require GNU fnmatch ourselves (if our users require it, they
62648         should do so explicitly).
62649
62650         Fix regex code so it doesn't rely on strcasecmp.
62651         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
62652         Otherwise, include gnulib's langinfo.h.
62653         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
62654         undesirable behavior in non-C locales.  Instead, rely on localecharset.
62655         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
62656         * modules/regex (FILES): Remove m4/codeset.m4.
62657         (Depends-on): Add localcharset.  Remove strcase.
62658
62659 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62660
62661         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
62662         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62663
62664 2007-02-13  Bruno Haible  <bruno@clisp.org>
62665
62666         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
62667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62668
62669 2007-02-12  Bruno Haible  <bruno@clisp.org>
62670
62671         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
62672         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
62673         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
62674         time warning rather than a link error.
62675
62676 2007-02-12  Bruno Haible  <bruno@clisp.org>
62677
62678         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
62679         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62680         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62681
62682 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62683
62684         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
62685         args, not 2.
62686
62687 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
62688
62689         New module 'time', so that apps can include <time.h> as per
62690         POSIX and GNU instead of separate include files like time_r.h
62691         and timegm.h.  This implementation tries out a simpler approach
62692         for replacing decls in standard include files (as compared to
62693         the string module), somewhat as an experiment.
62694
62695         * config/srclist.txt: Comment out mktime.c for now.
62696         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
62697         since it doesn't apply any more.  Use generic wording instead.
62698         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
62699         'time'.
62700         * lib/time_.h, m4/time_h.m4, modules/time: New files.
62701         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
62702         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
62703         Don't include <sys/types.h>; no longer needed since we assume C89.
62704         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
62705         * lib/strftime.c: Likewise.
62706         * lib/time_r.c: Likewise.
62707         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
62708         * lib/nanosleep.c: Include <time.h> first, to check interface.
62709         * lib/strptime.c: Likewise.
62710         * lib/time_r.c: Likewise.
62711         * lib/timegm.c: Likewise.
62712         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
62713         needed.
62714         * lib/timegm.c: Don't include timegm.h; no longer needed.
62715         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
62716         time.h now handles any problems in that area.
62717         (struct timespec, nanosleep): Remove; time.h now arranges for these.
62718         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
62719         that time.h defines struct timespec.
62720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
62721         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
62722         handles that.
62723         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
62724         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
62725         needed.  Set REPLACE_LOCALTIME.
62726         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
62727         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
62728         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
62729         nanosleep; time_h.m4 now does that.  Don't require
62730         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
62731         module handles this now.
62732         * modules/getdate (Depends-on): Remove timespec.  Add time.
62733         * modules/nanosleep (Depends-on): Likewise.
62734         * modules/stat-time (Depends-on): Likewise.
62735         * modules/nanosleep (Include): Include time.h, not timespec.h.
62736         * modules/strptime (Files): Remove lib/strptime.h.
62737         (Depends-on): Add extensions, time.
62738         (Include): Include time.h, not strptime.h.
62739         * modules/time_r (Files): Remove lib/time_r.h.
62740         (Depends-on): Add time.
62741         (Include): Include time.h, not time_r.h.
62742         * modules/timegm: Likewise.
62743         * modules/timespec (Description): Now does timespec-related decls
62744         of our own, instead of struct timespec itself.
62745         (Depends-on): Add time; remove extensions.
62746         (Maintainer): Add self.
62747         * modules/utimecmp (Depends-on): Add time; remove timespec.
62748         * modules/utimens (Depends-on): Likewise.
62749         * modules/xnanosleep (Depends-on): Likewise.
62750
62751 2007-02-11  Bruno Haible  <bruno@clisp.org>
62752
62753         * lib/c-strstr.c: Include allocsa.h.
62754         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62755         * lib/c-strcasestr.c: Include allocsa.h.
62756         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62757         * lib/strcasestr.c: Include allocsa.h.
62758         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
62759         * lib/mbsstr.c: Include allocsa.h.
62760         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62761         allocsa/freesa instead of malloc/free.
62762         * lib/mbscasestr.c: Include allocsa.h.
62763         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
62764         allocsa/freesa instead of malloc/free.
62765         * modules/c-strstr (Depends-on): Add allocsa.
62766         * modules/c-strcasestr (Depends-on): Likewise.
62767         * modules/strcasestr (Depends-on): Likewise.
62768         * modules/mbsstr (Depends-on): Likewise.
62769         * modules/mbscasestr (Depends-on): Likewise.
62770
62771 2007-02-11  Bruno Haible  <bruno@clisp.org>
62772
62773         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
62774
62775         * modules/mbsspn-tests: New file.
62776         * tests/test-mbsspn.sh: New file.
62777         * tests/test-mbsspn.c: New file.
62778
62779 2007-02-11  Bruno Haible  <bruno@clisp.org>
62780
62781         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
62782
62783         * modules/mbspbrk-tests: New file.
62784         * tests/test-mbspbrk.sh: New file.
62785         * tests/test-mbspbrk.c: New file.
62786
62787 2007-02-11  Bruno Haible  <bruno@clisp.org>
62788
62789         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
62790         unneeded cast.
62791
62792         * modules/mbscspn-tests: New file.
62793         * tests/test-mbscspn.sh: New file.
62794         * tests/test-mbscspn.c: New file.
62795
62796 2007-02-11  Bruno Haible  <bruno@clisp.org>
62797
62798         * modules/mbscasecmp-tests: New file.
62799         * tests/test-mbscasecmp.sh: New file.
62800         * tests/test-mbscasecmp.c: New file.
62801
62802 2007-02-11  Bruno Haible  <bruno@clisp.org>
62803
62804         Ensure O(n) worst-case complexity of mbscasestr.
62805         * lib/mbscasestr.c: Include stdbool.h.
62806         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62807         functions.
62808         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
62809         the bookkeeping indicates that it's worth it.
62810         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
62811
62812         * modules/mbscasestr-tests: New file.
62813         * tests/test-mbscasestr1.c: New file.
62814         * tests/test-mbscasestr2.sh: New file.
62815         * tests/test-mbscasestr2.c: New file.
62816         * tests/test-mbscasestr3.sh: New file.
62817         * tests/test-mbscasestr3.c: New file.
62818         * tests/test-mbscasestr4.sh: New file.
62819         * tests/test-mbscasestr4.c: New file.
62820         * m4/locale-tr.m4: New file.
62821
62822 2007-02-11  Bruno Haible  <bruno@clisp.org>
62823
62824         Ensure O(n) worst-case complexity of mbsstr.
62825         * lib/mbsstr.c: Include stdbool.h.
62826         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
62827         functions.
62828         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
62829         bookkeeping indicates that it's worth it.
62830         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
62831
62832         * modules/mbsstr-tests: New file.
62833         * tests/test-mbsstr1.c: New file.
62834         * tests/test-mbsstr2.sh: New file.
62835         * tests/test-mbsstr2.c: New file.
62836         * tests/test-mbsstr3.sh: New file.
62837         * tests/test-mbsstr3.c: New file.
62838         * m4/locale-fr.m4: New file.
62839
62840 2007-02-11  Bruno Haible  <bruno@clisp.org>
62841
62842         * lib/mbsrchr.c (mbsrchr): Fix bug.
62843
62844         * modules/mbsrchr-tests: New file.
62845         * tests/test-mbsrchr.sh: New file.
62846         * tests/test-mbsrchr.c: New file.
62847
62848 2007-02-11  Bruno Haible  <bruno@clisp.org>
62849
62850         * lib/mbschr.c (mbschr): Fix bug.
62851
62852         * modules/mbschr-tests: New file.
62853         * tests/test-mbschr.sh: New file.
62854         * tests/test-mbschr.c: New file.
62855         * m4/locale-zh.m4: New file.
62856
62857 2007-02-11  Bruno Haible  <bruno@clisp.org>
62858
62859         Support for copying multibyte string iterators.
62860         * lib/mbiter.h: Include <string.h>.
62861         (mbiter_multi_copy): New function.
62862         (mbi_copy): New macro.
62863         * lib/mbuiter.h: Include <string.h>.
62864         (mbuiter_multi_copy): New function.
62865         (mbui_copy): New macro.
62866
62867 2007-02-11  Bruno Haible  <bruno@clisp.org>
62868
62869         New module mbslen.
62870         * modules/mbslen: New file.
62871         * lib/mbslen.c: New file.
62872         * lib/string_.h (mbslen): New declaration.
62873         * m4/mbslen.m4: New file.
62874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62875         GNULIB_MBSLEN.
62876         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
62877         * MODULES.html.sh (Internationalization functions): Add mbslen.
62878
62879 2007-02-11  Bruno Haible  <bruno@clisp.org>
62880
62881         Ensure O(n) worst-case complexity of strcasestr substitute.
62882         * lib/strcasestr.c: Include stdbool.h.
62883         (knuth_morris_pratt): New function.
62884         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62885         bookkeeping indicates that it's worth it.
62886         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
62887
62888         * modules/strcasestr-tests: New file.
62889         * tests/test-strcasestr.c: New file.
62890
62891 2007-02-11  Bruno Haible  <bruno@clisp.org>
62892
62893         Ensure O(n) worst-case complexity of c_strcasestr.
62894         * lib/c-strcasestr.c: Include stdbool.h, string.h.
62895         (knuth_morris_pratt): New function.
62896         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
62897         the bookkeeping indicates that it's worth it.
62898         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
62899
62900         * modules/c-strcasestr-tests: New file.
62901         * tests/test-c-strcasestr.c: New file.
62902
62903 2007-02-11  Bruno Haible  <bruno@clisp.org>
62904
62905         Ensure O(n) worst-case complexity of c_strstr.
62906         * lib/c-strstr.c: Include stdbool.h, string.h.
62907         (knuth_morris_pratt): New function.
62908         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
62909         bookkeeping indicates that it's worth it.
62910         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
62911
62912         * lib/c-strstr.c: Complete rewrite for maintainability.
62913
62914         * modules/c-strstr-tests: New file.
62915         * tests/test-c-strstr.c: New file.
62916
62917 2007-02-11  Bruno Haible  <bruno@clisp.org>
62918
62919         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
62920         5.2.1 and earlier, whereby \055 was treated just like the range
62921         delimiter '-'.
62922         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62923
62924 2007-02-08  Bruno Haible  <bruno@clisp.org>
62925
62926         * modules/regex (Depends-on): Add stdbool.
62927         Reported by Dalibor Topic <robilad@kaffe.org>.
62928
62929 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62930
62931         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
62932         Prefer returning from main to exiting from it.
62933         Remove unnecessary parens after sizeof.
62934
62935 2007-02-05  Bruno Haible  <bruno@clisp.org>
62936
62937         New module mbssep.
62938         * modules/mbssep: New file.
62939         * lib/mbssep.c: New file.
62940         * lib/string_.h (strsep): Add a conditional link warning.
62941         (mbssep): New declaration.
62942         * m4/mbssep.m4: New file.
62943         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62944         GNULIB_MBSSEP.
62945         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
62946         * MODULES.html.sh (Internationalization functions): Add mbssep.
62947
62948 2007-02-05  Bruno Haible  <bruno@clisp.org>
62949
62950         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
62951         Optimize search in case of 1 delimiter.
62952
62953 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62954
62955         * lib/acl.h: Include sys/types.h before sys/acl.h.
62956
62957 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
62958
62959         Merge upstream fix for glibc bugzilla #3957:
62960
62961         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
62962
62963         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
62964         bit for RE_HAT_LISTS_NOT_NEWLINE.
62965         (build_charclass_op): Remove bogus comment.
62966
62967 2007-02-05  Simon Josefsson  <simon@josefsson.org>
62968
62969         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
62970
62971 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62972
62973         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
62974         * lib/memmem.c [!defined _LIBC]: Include config.h.
62975
62976 2007-02-04  Bruno Haible  <bruno@clisp.org>
62977
62978         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
62979         warning message.
62980
62981 2007-02-04  Bruno Haible  <bruno@clisp.org>
62982
62983         New module mbstok_r.
62984         * modules/mbstok_r: New file.
62985         * lib/mbstok_r.c: New file.
62986         * lib/string_.h (strtok_r): Change argument names to match the
62987         comments. Add a conditional link warning.
62988         (mbstok_r): New declaration.
62989         * m4/mbstok_r.m4: New file.
62990         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
62991         GNULIB_MBSTOK_R.
62992         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
62993         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
62994
62995 2007-02-04  Bruno Haible  <bruno@clisp.org>
62996
62997         New module mbsspn.
62998         * modules/mbsspn: New file.
62999         * lib/mbsspn.c: New file.
63000         * lib/string_.h (strspn): Add a conditional link warning.
63001         (mbsspn): New declaration.
63002         * m4/mbsspn.m4: New file.
63003         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63004         GNULIB_MBSSPN.
63005         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
63006         * MODULES.html.sh (Internationalization functions): Add mbsspn.
63007
63008 2007-02-04  Bruno Haible  <bruno@clisp.org>
63009
63010         New module mbspbrk.
63011         * modules/mbspbrk: New file.
63012         * lib/mbspbrk.c: New file.
63013         * lib/string_.h (strpbrk): Add a conditional link warning.
63014         (mbspbrk): New declaration.
63015         * m4/mbspbrk.m4: New file.
63016         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63017         GNULIB_MBSPBRK.
63018         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
63019         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
63020
63021 2007-02-04  Bruno Haible  <bruno@clisp.org>
63022
63023         New module mbscspn.
63024         * modules/mbscspn: New file.
63025         * lib/mbscspn.c: New file.
63026         * lib/string_.h (strcspn): Add a conditional link warning.
63027         (mbscspn): New declaration.
63028         * m4/mbscspn.m4: New file.
63029         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63030         GNULIB_MBSCSPN.
63031         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
63032         * MODULES.html.sh (Internationalization functions): Add mbscspn.
63033
63034 2007-02-04  Bruno Haible  <bruno@clisp.org>
63035
63036         New module mbscasestr, reduced goal of strcasestr.
63037         * modules/mbscasestr: New file.
63038         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
63039         (mbscasestr): Renamed from strcasestr.
63040         * lib/strcasestr.c: Don't include mbuiter.h.
63041         (strcasestr): Remove support for multibyte locales.
63042         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
63043         Change the conditional link warning.
63044         (mbscasestr): New declaration.
63045         * m4/mbscasestr.m4: New file.
63046         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
63047         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
63048         REPLACE_STRCASESTR.
63049         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
63050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63051         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63052         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
63053         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
63054         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
63055         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
63056         (Depends-on): Remove mbuiter.
63057         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
63058
63059 2007-02-04  Bruno Haible  <bruno@clisp.org>
63060
63061         Simplify handling of strncasecmp.
63062         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
63063         the conditional link warning.
63064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63065         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
63066         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
63067         * modules/strcase (configure.ac): Don't invoke
63068         gl_STRING_MODULE_INDICATOR.
63069         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
63070
63071 2007-02-04  Bruno Haible  <bruno@clisp.org>
63072
63073         New module mbscasecmp, reduced goal of strcasecmp.
63074         * modules/mbscasecmp: New file.
63075         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
63076         (mbscasecmp): Renamed from strcasecmp.
63077         * lib/strcasecmp.c: Don't include mbuiter.h.
63078         (strcasecmp): Remove support for multibyte locales.
63079         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
63080         Change the conditional link warning.
63081         (mbscasecmp): New declaration.
63082         * m4/mbscasecmp.m4: New file.
63083         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
63084         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
63085         REPLACE_STRCASECMP.
63086         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
63087         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63088         GNULIB_MBSCASECMP.
63089         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
63090         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
63091         * modules/strcase (Files): Remove m4/mbrtowc.m4.
63092         (Depends-on): Remove mbuiter.
63093         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
63094
63095 2007-02-04  Bruno Haible  <bruno@clisp.org>
63096
63097         New module mbsstr. Remove module strstr.
63098         * modules/mbsstr: New file.
63099         * modules/strstr: Remove file.
63100         * lib/mbsstr.c: Renamed from lib/strstr.c.
63101         (mbsstr): Renamed from strstr.
63102         * lib/string_.h (strstr): Remove declaration. Change the conditional
63103         link warning.
63104         (mbsstr): New declaration.
63105         * m4/mbsstr.m4: New file.
63106         * m4/strstr.m4: Remove file.
63107         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63108         REPLACE_STRSTR.
63109         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
63110         Don't initialize GNULIB_STRSTR.
63111         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
63112         substitute GNULIB_STRSTR and REPLACE_STRSTR.
63113         * MODULES.html.sh (Internationalization functions): Add mbsstr.
63114         (Support for systems lacking ANSI C 89): Remove strstr.
63115
63116 2007-02-04  Bruno Haible  <bruno@clisp.org>
63117
63118         New module mbsrchr.
63119         * modules/mbsrchr: New file.
63120         * lib/mbsrchr.c: New file.
63121         * lib/string_.h (strrchr): Add a conditional link warning.
63122         (mbsrchr): New declaration.
63123         * m4/mbsrchr.m4: New file.
63124         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63125         GNULIB_MBSRCHR.
63126         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
63127         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
63128
63129 2007-02-04  Bruno Haible  <bruno@clisp.org>
63130
63131         New module mbschr.
63132         * modules/mbschr: New file.
63133         * lib/mbschr.c: New file.
63134         * lib/string_.h (strchr): Add a conditional link warning.
63135         (mbschr): New declaration.
63136         * m4/mbschr.m4: New file.
63137         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
63138         GNULIB_MBSCHR.
63139         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
63140         * MODULES.html.sh (Internationalization functions): Add mbschr.
63141
63142 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
63143
63144         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
63145
63146         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
63147
63148 2007-02-04  Bruno Haible  <bruno@clisp.org>
63149
63150         New module description section 'configure.ac-early'.
63151         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
63152         (func_get_autoconf_early_snippet): New function.
63153         (func_import, func_create_testdir): Use it. Remove special cases for
63154         modules 'extensions' and 'lock'.
63155         * modules/extensions (configure.ac-early): Require
63156         gl_USE_SYSTEM_EXTENSIONS.
63157         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
63158
63159 2007-02-04  Bruno Haible  <bruno@clisp.org>
63160
63161         Make use of gcj-4.3's -fsource and -ftarget option.
63162         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
63163         and if so try the options -fsource and -ftarget.
63164         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
63165         source_version, ftarget_option, target_version arguments.
63166         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
63167         (is_envjavac_oldgcj_14_14_usable): Renamed from
63168         is_envjavac_gcj_14_14_usable.
63169         (is_envjavac_oldgcj_14_13_usable): Renamed from
63170         is_envjavac_gcj_14_13_usable.
63171         (is_gcj_present): Update.
63172         (is_gcj_43, is_gcj43_usable): New functions.
63173         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
63174         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
63175         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
63176         try the options -fsource and -ftarget.
63177
63178 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63179
63180         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
63181         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
63182         larger value.
63183
63184 2007-02-03  Jim Meyering  <jim@meyering.net>
63185
63186         Give tools a better chance to allocate space for very large buffers.
63187         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
63188
63189         Make pwd and readlink work also when run with an unreadable parent dir
63190         on systems with openat support.
63191         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
63192         provided getcwd function, even when we have openat support.
63193         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
63194
63195 2007-02-02  Bruno Haible  <bruno@clisp.org>
63196
63197         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
63198         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
63199         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
63200         portability problems if one of these functions is only used on specific
63201         platforms.
63202         Reported by Paul Eggert.
63203
63204 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
63205
63206         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
63207         is causing more trouble than it's curing.
63208         * lib/regex_internal.h (__mempcpy): Remove.
63209         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
63210         (and make the code a tad smaller to boot).
63211         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
63212
63213 2007-02-02  Jim Meyering  <jim@meyering.net>
63214
63215         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
63216         section, not in the Makefile.am: one.
63217
63218 2007-02-02  Eric Blake  <ebb9@byu.net>
63219
63220         * lib/strchrnul.c: Always include config.h first.
63221
63222         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
63223         gnulib strstr is not necessary here.
63224
63225 2007-02-02  Simon Josefsson  <simon@josefsson.org>
63226
63227         * m4/socklen.m4: Fix typo.
63228
63229 2007-02-02  Eric Blake  <ebb9@byu.net>
63230
63231         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
63232         * modules/netinet_in (Makefile.am): Likewise.
63233
63234 2007-02-01  Bruno Haible  <bruno@clisp.org>
63235
63236         * lib/string_.h (GL_LINK_WARNING): New macro.
63237         (strcasecmp, strstr, strcasestr): If provided by the system,
63238         conditionally define as a macro that leads to a warning instead of to
63239         an error.
63240         (strncasecmp): Conditionally define as a macro that leads to a warning.
63241
63242 2007-02-01  Karl Berry  <karl@gnu.org>
63243
63244         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
63245
63246 2007-02-01  Bruno Haible  <bruno@clisp.org>
63247
63248         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
63249         renamings.
63250
63251 2007-02-01  Eric Blake  <ebb9@byu.net>
63252
63253         * modules/regex (Depends-on): Revert dependence on mempcpy.
63254         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
63255         module's definition of mempcpy.
63256         Reported by Paul Eggert.
63257
63258 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63259
63260         * lib/string_.h: If the gnulib module XYZ is not present, undefine
63261         the symbol XYZ before redefining it.  This fixes a problem with
63262         programs that don't use XYZ, when compiled on systems that define
63263         XYZ to something else.
63264
63265 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
63266
63267         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
63268         occurs when "mkdir -m foo" creates a setgid directory that is (1)
63269         writeable to group or other and (2) is intended to have a special
63270         mode bit that is set or cleared.  In such a case, the directory
63271         should be neither group- nor other-writeable until the special
63272         mode bits are right.
63273
63274 2007-01-31  Eric Blake  <ebb9@byu.net>
63275
63276         * modules/mountlist (Depends-on): Add strstr.
63277
63278         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
63279         bug.
63280         * modules/string (Makefile.am): Remove redundant replacement.
63281         * modules/regex (Depends-on): Add mempcpy.
63282
63283 2007-01-31  Bruno Haible  <bruno@clisp.org>
63284
63285         New module description field 'Link'.
63286         * gnulib-tool (func_usage): Document --extract-link-directive.
63287         (sed_extract_prog): Recognize 'Link' directive.
63288         (func_get_link_directive): New function.
63289         (func_import): Show summary of link directives.
63290         Handle --extract-link-directive option.
63291         * modules/acl (Link): New section.
63292         * modules/clock-time (Link): New section.
63293         * modules/euidaccess (Link): New section.
63294         * modules/gettext (Link): New section.
63295         * modules/iconv (Link): New section.
63296         * modules/lock (Link): New section.
63297         * modules/nanosleep (Link): New section.
63298         * modules/readline (Link): New section.
63299
63300 2007-01-27  Bruno Haible  <bruno@clisp.org>
63301
63302         Enforce the use of gnulib modules for unportable <string.h> functions.
63303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
63304         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
63305         (gl_HEADER_STRING_H_BODY): Require it.
63306         * lib/string_.h: If the gnulib module XYZ is not present, redefine
63307         the symbol XYZ to one that gives a link error.
63308         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
63309         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
63310         * modules/mempcpy (configure.ac): Likewise.
63311         * modules/memrchr (configure.ac): Likewise.
63312         * modules/stpcpy (configure.ac): Likewise.
63313         * modules/stpncpy (configure.ac): Likewise.
63314         * modules/strcase (configure.ac): Likewise.
63315         * modules/strcasestr (configure.ac): Likewise.
63316         * modules/strchrnul (configure.ac): Likewise.
63317         * modules/strdup (configure.ac): Likewise.
63318         * modules/strndup (configure.ac): Likewise.
63319         * modules/strnlen (configure.ac): Likewise.
63320         * modules/strpbrk (configure.ac): Likewise.
63321         * modules/strsep (configure.ac): Likewise.
63322         * modules/strstr (configure.ac): Likewise.
63323         * modules/strtok_r (configure.ac): Likewise.
63324
63325 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
63326
63327         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
63328
63329 2007-01-30  Jim Meyering  <jim@meyering.net>
63330
63331         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
63332
63333 2007-01-29  Bruno Haible  <bruno@clisp.org>
63334
63335         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
63336         * lib/execute.c: Likewise.
63337         * lib/pipe.c: Likewise.
63338         * lib/printf-args.h: Likewise.
63339         * lib/printf-args.c: Likewise.
63340         * lib/printf-parse.c: Likewise.
63341         * lib/vasnprintf.c: Likewise.
63342
63343 2007-01-29  Eric Blake  <ebb9@byu.net>
63344
63345         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
63346         declaration.
63347
63348 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
63349
63350         * lib/strptime.h (strptime): Use 'restrict' for args where
63351         POSIX requires this.
63352         * lib/strptime.c (strptime): Likewise.
63353         Change license notice from LGPL to GPL, since gnulib-tool will
63354         change this as needed.
63355         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
63356         defined.
63357         Include "strptime.h" first, to check interface.
63358         Do not #undef _LIBC and _NL_CURRENT.
63359         Do not include <stdlib.h>; no longer needed.
63360         Include "time_r.h" and declare ptime_locale_status
63361         only if _LIBC is not defined.
63362         (__P): Remove unused macro.
63363         (match_string): Bring back glibc version, but use it only if _LIBC
63364         is defined.
63365         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
63366         Remove unnecessary assertion and abort() call.
63367         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
63368         * m4/strptime.m4: Fix serial number comment.
63369         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
63370         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
63371         (Depends-on): Add time_r.
63372
63373 2007-01-29  Bruno Haible  <bruno@clisp.org>
63374
63375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63376         strptime.
63377         * modules/strptime (Depends-on): Add stdbool.
63378         * lib/strptime.h: Include <time.h> always. Add comments.
63379
63380 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63381
63382         * modules/strptime: New file.
63383         * lib/strptime.h: New file.
63384         * lib/strptime.c: New file.
63385         * m4/strptime.m4: New file.
63386
63387 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63388
63389         * MODULES.html.sh: New module mpsort.
63390         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
63391
63392         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
63393         a circularity problem with HP-UX ia64 reported by Bob Proulx in
63394         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
63395         All uses changed.
63396         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
63397         All uses changed.
63398         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
63399         to _Restrict_.
63400         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
63401         the parameter matches the prototype.
63402
63403 2007-01-28  Jim Meyering  <jim@meyering.net>
63404
63405         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
63406         sys/time.h here, reverting that part of the previous patch:
63407         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
63408
63409 2007-01-28  Bruno Haible  <bruno@clisp.org>
63410
63411         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
63412         value of $(SYS_TIME_H).
63413         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
63414         remove it conditionally, too. [added by Jim Meyering]
63415         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
63416         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
63417         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
63418         GETTIMEOFDAY_REPLACEMENT to 1.
63419
63420 2007-01-28  Bruno Haible  <bruno@clisp.org>
63421
63422         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
63423         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
63424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
63425         Set UNISTD_H instead of UNISTD_H2.
63426         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
63427
63428 2007-01-28  Bruno Haible  <bruno@clisp.org>
63429
63430         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
63431         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
63432
63433 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63434
63435         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
63436         (func_create_testdir): Ensure C locale for `grep' and `tr'
63437         character ranges.
63438         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
63439         ACLOCAL_AMFLAGS parsing state machine.
63440
63441 2007-01-27  Bruno Haible  <bruno@clisp.org>
63442
63443         * modules/unistr/base: Update.
63444
63445 2007-01-27  Bruno Haible  <bruno@clisp.org>
63446
63447         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
63448         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
63449         * modules/unistr/u32-mbtouc-unsafe: Renamed from
63450         modules/unistr/u32-mbtouc.
63451         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
63452         * lib/unistr.h: Update.
63453         * lib/linebreak.c: Update.
63454         * modules/unistr/u32-mbtouc: Renamed from
63455         modules/unistr/u32-mbtouc-safe.
63456         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
63457         * lib/unistr.h: Update.
63458         * lib/unistr/u32-to-u8.c: Update.
63459         * lib/unistr/u32-to-u16.c: Update.
63460
63461 2007-01-27  Bruno Haible  <bruno@clisp.org>
63462
63463         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
63464         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
63465         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
63466         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
63467         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
63468         * modules/unistr/u16-mbtouc-unsafe: Renamed from
63469         modules/unistr/u16-mbtouc.
63470         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
63471         * lib/unistr.h: Update.
63472         * lib/linebreak.c: Update.
63473         * modules/linebreak: Update.
63474         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
63475         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
63476         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
63477         * modules/unistr/u16-mbtouc: Renamed from
63478         modules/unistr/u16-mbtouc-safe.
63479         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
63480         * lib/unistr.h: Update.
63481         * lib/unistr/u16-to-u8.c: Update.
63482         * modules/unistr/u16-to-u8: Update.
63483         * lib/unistr/u16-to-u32.c: Update.
63484         * modules/unistr/u16-to-u32: Update.
63485
63486 2007-01-27  Bruno Haible  <bruno@clisp.org>
63487
63488         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
63489         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
63490         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
63491         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
63492         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
63493         * modules/unistr/u8-mbtouc-unsafe: Renamed from
63494         modules/unistr/u8-mbtouc.
63495         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
63496         * lib/unistr.h: Update.
63497         * lib/striconveh.c: Update.
63498         * modules/striconveh: Update.
63499         * lib/linebreak.c: Update.
63500         * modules/linebreak: Update.
63501         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
63502         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
63503         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
63504         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
63505         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
63506         * lib/unistr.h: Update.
63507         * lib/striconveh.c: Update.
63508         * modules/striconveh: Update.
63509         * lib/unistr/u8-to-u16.c: Update.
63510         * modules/unistr/u8-to-u16: Update.
63511         * lib/unistr/u8-to-u32.c: Update.
63512         * modules/unistr/u8-to-u32: Update.
63513
63514 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63515
63516         Sync from Libtool.
63517         * lib/argz.c: Do not include strings.h nor memory.h, include
63518         string.h unconditionally.  Patch by Simon Josefsson.
63519
63520 2007-01-27  Bruno Haible  <bruno@clisp.org>
63521
63522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
63523         from gl_HEADER_STRING_H_BODY.
63524         (gl_HEADER_STRING_H_BODY): Require it.
63525         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
63526         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63527         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63528         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63529         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63530         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
63531         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63532         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63533         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
63534         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63535         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63536         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
63537         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63538         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63539         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63540
63541 2007-01-27  Bruno Haible  <bruno@clisp.org>
63542
63543         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
63544         check_PROGRAMS into noinst_PROGRAMS.
63545         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
63546         check_PROGRAMS in this case.
63547         (func_import): Set for_test to false.
63548         (func_create_testdir): Set for_test to true.
63549
63550 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63551             Bruno Haible  <bruno@clisp.org>
63552
63553         * modules/strcasestr (Files): Remove lib/strcasestr.h.
63554         (Depends-on): Add string.
63555         (Includes): Use <string.h> instead of strcasestr.h.
63556         * modules/string (Makefile.am): Also substitute the value of
63557         REPLACE_STRCASESTR.
63558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
63559         assume strcasestr is declared in <string.h> not <strings.h>. Also
63560         set REPLACE_STRCASESTR.
63561         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
63562         REPLACE_STRCASESTR.
63563         * lib/strcasestr.h: Remove file.
63564         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
63565         * lib/string_.h (strcasestr): New declaration.
63566
63567 2007-01-27  Bruno Haible  <bruno@clisp.org>
63568
63569         * lib/string_.h: Use 'extern'.
63570
63571 2007-01-27  Jim Meyering  <jim@meyering.net>
63572
63573         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
63574         of set-but-not-used local, "q".
63575
63576         * lib/mempcpy.c: Include <config.h> before <string.h>.
63577         This fixes a compilation error on HP-UX, due to the system's
63578         "restrict"-using mempcpy prototype.
63579
63580 2007-01-26  Bruno Haible  <bruno@clisp.org>
63581
63582         Small optimization.
63583         * lib/javacomp.c: Include c-strstr.h.
63584          (is_envjavac_gcj): Use c_strstr instead of strstr.
63585         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
63586
63587 2007-01-26  Bruno Haible  <bruno@clisp.org>
63588
63589         * MODULES.html.sh (Unicode string functions): Add the new modules.
63590
63591         * modules/uniconv/u32-strconv-to-locale: New file.
63592         * lib/uniconv/u32-strconv-to-locale.c: New file.
63593
63594         * modules/uniconv/u16-strconv-to-locale: New file.
63595         * lib/uniconv/u16-strconv-to-locale.c: New file.
63596
63597         * modules/uniconv/u8-strconv-to-locale: New file.
63598         * lib/uniconv/u8-strconv-to-locale.c: New file.
63599
63600         * modules/uniconv/u32-strconv-from-locale: New file.
63601         * lib/uniconv/u32-strconv-from-locale.c: New file.
63602
63603         * modules/uniconv/u16-strconv-from-locale: New file.
63604         * lib/uniconv/u16-strconv-from-locale.c: New file.
63605
63606         * modules/uniconv/u8-strconv-from-locale: New file.
63607         * lib/uniconv/u8-strconv-from-locale.c: New file.
63608
63609         * modules/uniconv/u32-strconv-to-enc: New file.
63610         * lib/uniconv/u32-strconv-to-enc.c: New file.
63611         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63612         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
63613
63614         * modules/uniconv/u16-strconv-to-enc: New file.
63615         * lib/uniconv/u16-strconv-to-enc.c: New file.
63616         * lib/uniconv/u-strconv-to-enc.h: New file.
63617         * modules/uniconv/u16-strconv-to-enc-tests: New file.
63618         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
63619
63620         * modules/uniconv/u8-strconv-to-enc: New file.
63621         * lib/uniconv/u8-strconv-to-enc.c: New file.
63622         * modules/uniconv/u8-strconv-to-enc-tests: New file.
63623         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
63624
63625         * modules/uniconv/u32-strconv-from-enc: New file.
63626         * lib/uniconv/u32-strconv-from-enc.c: New file.
63627         * modules/uniconv/u32-strconv-from-enc-tests: New file.
63628         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
63629
63630         * modules/uniconv/u16-strconv-from-enc: New file.
63631         * lib/uniconv/u16-strconv-from-enc.c: New file.
63632         * modules/uniconv/u16-strconv-from-enc-tests: New file.
63633         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
63634
63635         * modules/uniconv/u8-strconv-from-enc: New file.
63636         * lib/uniconv/u8-strconv-from-enc.c: New file.
63637         * lib/uniconv/u-strconv-from-enc.h: New file.
63638         * modules/uniconv/u8-strconv-from-enc-tests: New file.
63639         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
63640
63641         * modules/uniconv/u32-conv-from-enc: New file.
63642         * lib/uniconv/u32-conv-from-enc.c: New file.
63643         * modules/uniconv/u32-conv-from-enc-tests: New file.
63644         * tests/uniconv/test-u32-conv-from-enc.c: New file.
63645
63646         * modules/uniconv/u16-conv-from-enc: New file.
63647         * lib/uniconv/u16-conv-from-enc.c: New file.
63648         * lib/uniconv/u-conv-from-enc.h: New file.
63649         * modules/uniconv/u16-conv-from-enc-tests: New file.
63650         * tests/uniconv/test-u16-conv-from-enc.c: New file.
63651
63652         * modules/uniconv/u8-conv-from-enc: New file.
63653         * lib/uniconv/u8-conv-from-enc.c: New file.
63654         * modules/uniconv/u8-conv-from-enc-tests: New file.
63655         * tests/uniconv/test-u8-conv-from-enc.c: New file.
63656
63657         * modules/uniconv/base: New file.
63658         * lib/uniconv.h: New file.
63659
63660 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63661
63662         * doc/gnulib-tool.texi (Initial import): Update to match current
63663         behavior with strdup module.
63664         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
63665         * lib/memmem.h: Remove; all uses removed.  This is now done
63666         by <string.h>.
63667         * lib/mempcpy.h: Likewise.
63668         * lib/memrchr.h: Likewise.
63669         * lib/stpcpy.h: Likewise.
63670         * lib/stpncpy.h: Likewise.
63671         * lib/strcase.h: Likewise.
63672         * lib/strchrnul.h: Likewise.
63673         * lib/strdup.h: Likewise.
63674         * lib/strndup.h: Likewise.
63675         * lib/strnlen.h: Likewise.
63676         * lib/strpbrk.h: Likewise.
63677         * lib/strsep.h: Likewise.
63678         * lib/strstr.h: Likewise.
63679         * lib/strtok_r.h: Likewise.
63680         * lib/string_.h: New file.
63681         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
63682         Rely on <string.h> instead.
63683         * lib/canon-host.c: Likewise.
63684         * lib/chdir-long.c: Likewise.
63685         * lib/concatpath.c: Likewise.
63686         * lib/exclude.c: Likewise.
63687         * lib/fchdir.c: Likewise.
63688         * lib/getaddrinfo.c: Likewise.
63689         * lib/getcwd.c: Likewise.
63690         * lib/getsubopt.c: Likewise.
63691         * lib/glob.c: Likewise.
63692         * lib/hard-locale.c: Likewise.
63693         * lib/iconvme.c: Likewise.
63694         * lib/javacomp.c: Likewise.
63695         * lib/mempcpy.c: Likewise.
63696         * lib/memrchr.c: Likewise.
63697         * lib/regex_internal.h: Likewise.
63698         * lib/stpncpy.c: Likewise.
63699         * lib/strcasecmp.c: Likewise.
63700         * lib/strchrnul.c: Likewise.
63701         * lib/strdup.c: Likewise.
63702         * lib/striconv.c: Likewise.
63703         * lib/striconveh.c: Likewise.
63704         * lib/striconveha.c: Likewise.
63705         * lib/strncasecmp.c: Likewise.
63706         * lib/strndup.c: Likewise.
63707         * lib/strnlen.c: Likewise.
63708         * lib/strsep.c: Likewise.
63709         * lib/strstr.c: Likewise.
63710         * lib/strtok_r.c: Likewise.
63711         * lib/userspec.c: Likewise.
63712         * lib/w32spawn.h: Likewise.
63713         * lib/xstrndup.c: Likewise.
63714         * lib/mountlist.c (strstr): Remove decl.
63715         * m4/string_h.m4: New file.
63716         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
63717         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
63718         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
63719         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
63720         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
63721         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
63722         Set REPLACE_STRCASECMP if necessary.
63723         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
63724         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
63725         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
63726         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
63727         HAVE_DECL_STRDUP if necessary.
63728         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
63729         since gl_FUNC_STRNDUP does that now.
63730         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
63731         Check for decl here...
63732         (gl_PREREQ_STRNLEN): ... not here.
63733         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
63734         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
63735         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
63736         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
63737         necessary.
63738         * modules/string: New file.
63739         * modules/memmem (Files): Remove special-purpose include file.
63740         (Depends-on): Add string.
63741         (Include): Include <string.h>, not the removed file.
63742         * modules/mempcpy: Likewise.
63743         * modules/memrchr: Likewise.
63744         * modules/stpcpy: Likewise.
63745         * modules/stpncpy: Likewise.
63746         * modules/strcase: Likewise.
63747         * modules/strchrnul: Likewise.
63748         * modules/strdup: Likewise.
63749         * modules/strndup: Likewise.
63750         * modules/strnlen: Likewise.
63751         * modules/strpbrk: Likewise.
63752         * modules/strsep: Likewise.
63753         * modules/strstr: Likewise.
63754         * modules/strtok_r: Likewise.
63755         * tests/test-dirname.c: Don't include "strdup.h", since
63756         <string.h> now suffices.
63757         * tests/test-memmem.c: Don't include "memmem.h", since
63758         <string.h> now suffices.
63759
63760 2007-01-25  Bruno Haible  <bruno@clisp.org>
63761
63762         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
63763         *resultp is 0.
63764
63765         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
63766         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
63767         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
63768         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
63769
63770         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
63771         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
63772         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
63773         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
63774         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
63775         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
63776
63777 2007-01-24  Bruno Haible  <bruno@clisp.org>
63778
63779         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
63780         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
63781         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
63782         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
63783         gl_FUNC_FTS_CORE.
63784         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
63785         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
63786         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
63787         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
63788         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
63789         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
63790         gl_FUNC_FCHOWNAT.
63791         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
63792         gl_FUNC_STRFTIME.
63793         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
63794         Reported by Ralf Wildenhues.
63795
63796 2007-01-24  Bruno Haible  <bruno@clisp.org>
63797
63798         Drop AC_REQUIRE calls that are redundant with the module dependencies.
63799         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
63800         gl_GETADDRINFO.
63801         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
63802         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
63803         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
63804
63805 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
63806
63807         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
63808         Don't use 'exit'; just return from 'main'.
63809         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
63810
63811         * lib/fnmatch_.h: Readjust white space and comments to match
63812         glibc, to avoid spurious diffs.
63813
63814 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63815
63816         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
63817         2004-12-01 change by Jakub Jelinek, since this code won't compile
63818         if !LIBC.  Problem reported by Bob Proulx.
63819
63820 2007-01-23  Bruno Haible  <bruno@clisp.org>
63821
63822         * lib/striconveh.c: Include c-strcaseeq.h.
63823         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
63824         * modules/striconveh (Depends-on): Add c-strcaseeq.
63825
63826 2007-01-23  Bruno Haible  <bruno@clisp.org>
63827
63828         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
63829
63830         * modules/c-strcaseeq: New file.
63831         * lib/c-strcaseeq.h: New file.
63832
63833         * modules/streq: New file.
63834         * lib/streq.h: New file.
63835
63836 2007-01-23  Bruno Haible  <bruno@clisp.org>
63837
63838         * modules/striconveha-tests: New file.
63839         * tests/test-striconveha.c: New file.
63840
63841         * lib/striconveha.h: Include <stdbool.h>.
63842         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
63843         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
63844         (mem_iconveha_notranslit): Renamed from mem_iconveha.
63845         (mem_iconveha): New function.
63846         (str_iconveha_notranslit): Renamed from str_iconveha.
63847         (str_iconveha): New function.
63848         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
63849         c-strcase.
63850
63851 2007-01-23  Bruno Haible  <bruno@clisp.org>
63852
63853         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
63854         encodings without forgiving before trying any encoding with handler.
63855         (str_iconveha): Try all encodings without forgiving before trying any
63856         encoding with handler.
63857
63858 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63859
63860         Import the following changes from libc.
63861
63862         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
63863
63864         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
63865
63866         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
63867
63868         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
63869         normal_bracket label.
63870
63871         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
63872
63873         [BZ #361]
63874         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
63875         to normal_bracket after fetching the next character.
63876
63877 2007-01-22  Bruno Haible  <bruno@clisp.org>
63878
63879         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
63880         argument.
63881         * lib/striconveh.c (iconv_carefully_1): New function.
63882         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
63883         argument.
63884         (str_cd_iconveh): Update.
63885         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
63886         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
63887         * tests/test-striconveh.c (MAGIC): New macro.
63888         (new_offsets): New function.
63889         (main): Test call with and without offsets.
63890
63891 2007-01-22  Bruno Haible  <bruno@clisp.org>
63892
63893         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
63894         * modules/sys_select (Makefile.am): Likewise.
63895         * modules/sys_socket (Makefile.am): Likewise.
63896         * modules/sys_time (Makefile.am): Likewise.
63897
63898 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63899
63900         * modules/gettimeofday (License): Change from GPL to LGPL, since
63901         gettimeofday is a library function.
63902
63903 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63904
63905         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
63906
63907 2007-01-21  Bruno Haible  <bruno@clisp.org>
63908
63909         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
63910
63911 2007-01-21  Bruno Haible  <bruno@clisp.org>
63912
63913         * modules/striconveha: New file.
63914         * lib/striconveha.h: New file.
63915         * lib/striconveha.c: New file.
63916         * MODULES.html.sh (Internationalization functions): Add striconveha.
63917         * lib/striconv.c (str_iconv): Optimize the case of an empty input
63918         string.
63919         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
63920
63921 2007-01-21  Bruno Haible  <bruno@clisp.org>
63922
63923         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
63924         * lib/striconveh.c (str_iconveh): Likewise.
63925
63926 2007-01-21  Bruno Haible  <bruno@clisp.org>
63927
63928         * lib/striconveh.h (mem_iconveh): New declaration.
63929         * lib/striconveh.c (mem_iconveh): New function.
63930         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
63931
63932 2007-01-21  Bruno Haible  <bruno@clisp.org>
63933
63934         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
63935
63936         * lib/striconveh.h (mem_cd_iconveh): Change specification.
63937         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
63938         original result buffer.
63939         (str_cd_iconveh): Update.
63940         * tests/test-striconveh.c (main): Update.
63941
63942         * lib/striconv.h (mem_cd_iconv): Change specification.
63943         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
63944         result buffer.
63945         (str_cd_iconv): Update.
63946         * tests/test-striconv.c (main): Update.
63947
63948 2007-01-21  Bruno Haible  <bruno@clisp.org>
63949
63950         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
63951
63952 2007-01-20  Jim Meyering  <jim@meyering.net>
63953
63954         * lib/userspec.c (parse_with_separator): If a user or group string
63955         starts with "+", skip the corresponding name-to-ID look-up, since
63956         such a look-up must fail: user and group names may not include "+".
63957
63958 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
63959
63960         * lib/poll.c: Include sys/time.h and time.h unconditionally,
63961         since we now assume the sys_time module.
63962         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
63963         check for sys/time.h; no longer needed.
63964         * modules/poll (Depends-on): Depend on sys_time.
63965
63966 2007-01-18  Bruno Haible  <bruno@clisp.org>
63967
63968         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
63969         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
63970
63971         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
63972         gettimeofday.
63973
63974         * tests/test-gettimeofday.c: Include <time.h>.
63975         (dummy): Remove variable.
63976
63977         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
63978         gl_HEADER_SYS_TIME_H.
63979         (gl_HEADER_SYS_TIME_H): New macro.
63980
63981         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
63982         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63983         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
63984         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
63985         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63986         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
63987         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
63988         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63989         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
63990         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
63991         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
63992
63993         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
63994         last change; it caused a compilation error when cross-compiling to
63995         Cygwin.
63996
63997 2007-01-18  Jim Meyering  <jim@meyering.net>
63998
63999         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
64000         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
64001         than the race-prone "test -d sys || mkdir sys".
64002         (configure.ac): Use AC_PROG_MKDIR_P.
64003         * modules/sys_select: Likewise.
64004         * modules/sys_socket: Likewise.
64005         * modules/sys_time: Likewise.
64006
64007 2007-01-18  Eric Blake  <ebb9@byu.net>
64008
64009         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
64010         replace gettimeofday.
64011         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
64012         name, to avoid infinite recursion.
64013
64014 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
64015
64016         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
64017         module sys_time.
64018         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
64019         assume timespec.h defines struct timeval.
64020         * lib/settime.c: Likewise.
64021         * lib/utimens.c: Likewise.
64022         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
64023         since we now assume the gettimeofday module.
64024         * lib/tempname.c (__gen_tempname): Likewise.
64025         * lib/gettimeofday.h: Remove.
64026         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
64027         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
64028         Include <time.h>, for 'time()'.
64029         (localtime_buffer_addr): Also use this workaround if
64030         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
64031         to simplify the uses.  All uses changed.
64032         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
64033         that #undef is inside {}, and 'const' follows type name consistently.
64034         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
64035         (gettimeofday): Do not use the maximum possible value for
64036         tv->tv_usec, since that might break usages other than ls.c.
64037         Instead, we'll leave ls.c alone.  This undoes today's patch
64038         by Bruno.  Add a compile-time warning for 1s-clock resolution;
64039         we've never observed the problem but might as well keep the
64040         canary.
64041         * lib/nanosleep.c: Include timespec.h first, for interface check.
64042         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
64043         now assume the sys_time module.
64044         * lib/tempname.c: Likewise.
64045         * lib/timespec.h: Likewise.
64046         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
64047         needed.
64048         * lib/strftime.c: Likewise.
64049         * lib/timespec.h: Likewise.
64050         * lib/posixtm.c: Include posixtm.h first, for interface check.
64051         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
64052         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
64053         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
64054         * lib/sys_time_.h: New file.
64055         * lib/timespec.h (struct timespec): Use long int, not long.
64056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
64057         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
64058         Remove obsolescent call to AC_HEADER_TIME.
64059         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
64060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
64061         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
64062         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
64063         Likewise.
64064         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
64065         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
64066         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
64067         into the sys_time module.  Check for gettimeofday just once.
64068         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
64069         for gettimeofday signature to just check the signature.  Merely
64070         compile it, since linking doesn't test signature.  Improve test for
64071         whether gettimeofday.o is actually needed.
64072         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
64073         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
64074         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
64075         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64076         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
64077         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
64078         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
64079         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
64080         than worrying about sys/time.h.
64081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64082         Don't bother worrying about TIME_WITH_SYS_TIME.
64083         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64084         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
64085         * m4/sys_time_h.m4: New file.
64086         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
64087         Don't include sys/time.h.  Return from main rather than exiting.
64088         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
64089         all uses changed.
64090         * modules/gethrxtime (Depends-on): Add sys_time.
64091         * modules/gettime (Depends-on): Likewise.
64092         * modules/gettimeofday (Depends-on): Likewise.
64093         * modules/nanosleep (Depends-on): Likewise.
64094         * modules/settime (Depends-on): Likewise.
64095         * modules/tempname (Depends-on): Likewise.
64096         * modules/utimens (Depends-on): Likewise.
64097         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
64098         (Include): Change back to <sys/time.h>.
64099         (Maintainer): Add self.
64100         * modules/sys_time: New file.
64101         * modules/tempname (Depends-on): Add gettimeofday.
64102         * tests/test-gettimeofday.c: Include <sys/time.h>
64103         rather than gettimeofday.h.
64104
64105 2007-01-17  Bruno Haible  <bruno@clisp.org>
64106
64107         * gnulib-tool (func_get_license): Revert last patch. Instead, let
64108         the license default to GPL.
64109         (func_create_testdir): Don't complain if a module is LGPL and its
64110         tests module depends on GPLed modules.
64111
64112 2007-01-17  Bruno Haible  <bruno@clisp.org>
64113
64114         * lib/gettimeofday.c (gettimeofday): Add code for the case
64115         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
64116         maximum possible value for tv->tv_usec, rather than the minimum one.
64117
64118 2005-10-08  Martin Lambers  <marlam@marlam.de>
64119 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64120 2007-01-16  Bruno Haible  <bruno@clisp.org>
64121
64122         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
64123         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
64124         gl_FUNC_GETTIMEOFDAY.
64125         (Include): Add gettimeofday.h.
64126         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
64127         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
64128         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
64129         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
64130         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
64131         * lib/gettimeofday.h: New file.
64132         * lib/gettimeofday.c: Include <sys/timeb.h>.
64133         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
64134         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
64135         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
64136         fall back on time().
64137
64138         * tests/test-gettimeofday.c: New file.
64139         * modules/gettimeofday-tests: New file.
64140
64141 2007-01-16  Eric Blake  <ebb9@byu.net>
64142
64143         * modules/fnmatch (Depends-on): Depend on wchar.
64144         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
64145         * m4/fnmatch.m4: Likewise.
64146         * modules/mbchar (Makefile.am): Assume <wchar.h>.
64147         * m4/mbchar.m4: Likewise.
64148         * modules/mbswidth (Depends-on): Depend on wchar.
64149         * lib/mbswidth.c: Assume <wchar.h>.
64150         * m4/mbswidth.m4: Likewise.
64151         * modules/quotearg (Depends-on): Depend on wchar.
64152         * lib/quotearg.c: Assume <wchar.h>.
64153         * m4/quotearg.m4: Likewise.
64154         * modules/regex (Depends-on): Depend on wchar.
64155         * lib/regex_internal.h: Assume <wchar.h>.
64156         * m4/regex.m4: Likewise.
64157         * modules/stdint (Depends-on): Depend on wchar.
64158         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
64159         * m4/stdint.m4: Likewise.
64160         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
64161         * modules/strftime (Depends-on): Depend on wchar.
64162         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
64163         * modules/strtol (Depends-on): Depend on wchar.
64164         * lib/strtol.c: Assume <wchar.h>.
64165         * modules/wcwidth (Depends-on): Depend on wchar.
64166         * lib/wcwidth.h: Assume <wchar.h>.
64167         * m4/wcwidth.m4: Likewise.
64168
64169 2007-01-16  Bruno Haible  <bruno@clisp.org>
64170
64171         * modules/csharpexec-script: New, created from...
64172         * modules/csharpexec: ... this.
64173
64174 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
64175
64176         * modules/javaexec-script: New, created from...
64177         * modules/javaexec: ... this.
64178
64179 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64180
64181         * modules/poll (Dependencies): Add sys_select.
64182
64183 2007-01-15  Jim Meyering  <jim@meyering.net>
64184
64185         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
64186         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
64187         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
64188         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
64189
64190 2007-01-15  Bruno Haible  <bruno@clisp.org>
64191
64192         * modules/striconveh: New file.
64193         * lib/striconveh.h: New file.
64194         * lib/striconveh.c: New file.
64195         * MODULES.html.sh (Internationalization functions): Add striconveh.
64196
64197         * modules/striconveh-tests: New file.
64198         * tests/test-striconveh.c: New file.
64199
64200 2007-01-15  Bruno Haible  <bruno@clisp.org>
64201
64202         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
64203         not from GNU libiconv or GNU libc.
64204
64205 2007-01-15  Bruno Haible  <bruno@clisp.org>
64206
64207         * doc/gnulib-intro.texi (Copyright): Explain the different license
64208         terms for module descriptions, autoconf macros, tests, documentation.
64209
64210 2007-01-14  Bruno Haible  <bruno@clisp.org>
64211
64212         * modules/striconv-tests: New file.
64213         * tests/test-striconv.c: New file.
64214
64215 2007-01-14  Bruno Haible  <bruno@clisp.org>
64216
64217         * modules/iconv-tests: New file.
64218         * tests/test-iconv.c: New file.
64219
64220 2007-01-14  Bruno Haible  <bruno@clisp.org>
64221
64222         * gnulib-tool (func_get_license): For test modules, use the license of
64223         the main module.
64224
64225 2007-01-14  Bruno Haible  <bruno@clisp.org>
64226
64227         * modules/iconv (Include): Clarify that <iconv.h> can only be included
64228         if iconv is found to exist.
64229
64230 2007-01-14  Bruno Haible  <bruno@clisp.org>
64231
64232         * modules/c-ctype-tests: New file.
64233         * tests/test-c-ctype.c: New file.
64234
64235 2007-01-14  Bruno Haible  <bruno@clisp.org>
64236
64237         * modules/binary-io-tests: New file.
64238         * tests/test-binary-io.sh: New file.
64239         * tests/test-binary-io.c: New file.
64240
64241 2007-01-14  Bruno Haible  <bruno@clisp.org>
64242
64243         * modules/array-oset-tests: New file.
64244         * tests/test-array_oset.c: New file.
64245
64246 2007-01-14  Bruno Haible  <bruno@clisp.org>
64247
64248         * modules/array-list-tests: New file.
64249         * tests/test-array_list.c: New file.
64250
64251 2007-01-14  Bruno Haible  <bruno@clisp.org>
64252
64253         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
64254         and make.
64255         Reported by Simon Josefsson in
64256         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
64257
64258 2007-01-14  Bruno Haible  <bruno@clisp.org>
64259
64260         * modules/allocsa-tests: New file.
64261         * tests/test-allocsa.c: New file.
64262
64263 2007-01-14  Bruno Haible  <bruno@clisp.org>
64264
64265         * modules/fchdir (Depends-on): Add absolute-header.
64266         * modules/unistd (Depends-on): Likewise.
64267
64268 2006-12-30  Bruno Haible  <bruno@clisp.org>
64269
64270         * modules/fchdir: New file.
64271         * modules/unistd (Files): Add lib/unistd_.h.
64272         (Makefile.am): Generate unistd.h from unistd_.h.
64273         * lib/fchdir.c: New file.
64274         * lib/dirent_.h: New file.
64275         * lib/unistd_.h: New file.
64276         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
64277         * m4/fchdir.m4: New file.
64278         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
64279         (gl_HEADER_UNISTD): Invoke it.
64280         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
64281         function.
64282         * lib/backupfile.c (opendir, closedir): Undefine.
64283         * lib/chown.c (open, close): Undefine.
64284         * lib/clean-temp.c (open, close): Undefine.
64285         * lib/copy-file.c (open, close): Undefine.
64286         * lib/execute.c (open, close): Undefine.
64287         * lib/fsusage.c (open, close): Undefine.
64288         * lib/gc-gnulib.c (open, close): Undefine.
64289         * lib/getcwd.c (opendir, closedir): Undefine.
64290         * lib/glob.c (opendir, closedir): Undefine.
64291         * lib/javacomp.c (open, close): Undefine.
64292         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
64293         * lib/openat-proc.c (open, close): Undefine.
64294         * lib/pagealign_alloc.c (open, close): Undefine.
64295         * lib/pipe.c (open, close): Undefine.
64296         * lib/progreloc.c (open, close): Undefine.
64297         * lib/savedir.c (opendir, closedir): Undefine.
64298         * lib/utime.c (open, close): Undefine.
64299         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
64300
64301 2007-01-10  Bruno Haible  <bruno@clisp.org>
64302
64303         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
64304
64305 2007-01-12  Eric Blake  <ebb9@byu.net>
64306
64307         Provide a robust <wchar.h>.  Further simplifications are now
64308         possible in other modules, but not included here.
64309         * modules/wchar: New module.
64310         * m4/wchar.m4: New file.
64311         * lib/wchar_.h: Likewise.
64312         * modules/mbchar (Depends-on): Depend on wchar, as the first use
64313         of the new module.
64314         * MODULES.html.sh (Extended multibyte and wide character utilities):
64315         New section.
64316
64317 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
64318
64319         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
64320         to a reasonable default for memory allocation.
64321         (xreadlink): Don't allocate a huge buffer, to work around a buggy
64322         file system that reports garbage st_size values for symlinks.
64323         Problem reported by Liyang Hu.
64324
64325 2007-01-11  Simon Josefsson  <simon@josefsson.org>
64326
64327         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
64328         Emacs .#* auto-save files).
64329
64330 2007-01-11  Bruno Haible  <bruno@clisp.org>
64331
64332         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
64333         directory.
64334
64335 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
64336
64337         Use @...@ consistently in lib/wctype_.h.
64338         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
64339         on it being set to 1 or 0.
64340         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
64341         go back to AC_SUBSTing it.
64342         * modules/wctype (Makefile.am): Undo previous change.
64343
64344 2007-01-10  Eric Blake  <ebb9@byu.net>
64345
64346         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
64347         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
64348         * modules/wctype (Makefile.am): Likewise.
64349         Reported by Chris McGuire.
64350
64351 2007-01-10  Jim Meyering  <jim@meyering.net>
64352
64353         fts.c: a small readability/maintainability improvement
64354         * lib/fts.c (fts_read): Make this code slightly more readable and
64355         maintainable by hoisting the "sp->fts_cur = p" assignments to
64356         immediately follow the statements that set P.  Derived from
64357         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
64358
64359 2007-01-10  Eric Blake  <ebb9@byu.net>
64360
64361         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
64362         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
64363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64364         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
64365         Reported by Chris McGuire.
64366
64367 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64368
64369         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
64370         in sed script.
64371
64372 2007-01-09  Bruno Haible  <bruno@clisp.org>
64373
64374         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
64375         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
64376         variables.
64377         (func_module): Use them.
64378
64379 2007-01-09  Bruno Haible  <bruno@clisp.org>
64380
64381         * modules/unistr/base: New file.
64382         * lib/unistr.h: New file.
64383
64384         * modules/unistr/u8-to-u16: New file.
64385         * lib/unistr/u8-to-u16.c: New file.
64386
64387         * modules/unistr/u8-to-u32: New file.
64388         * lib/unistr/u8-to-u32.c: New file.
64389
64390         * modules/unistr/u16-to-u8: New file.
64391         * lib/unistr/u16-to-u8.c: New file.
64392
64393         * modules/unistr/u16-to-u32: New file.
64394         * lib/unistr/u16-to-u32.c: New file.
64395
64396         * modules/unistr/u32-to-u8: New file.
64397         * lib/unistr/u32-to-u8.c: New file.
64398
64399         * modules/unistr/u32-to-u16: New file.
64400         * lib/unistr/u32-to-u16.c: New file.
64401
64402         * modules/unistr/u8-check: New file.
64403         * modules/unistr/u16-check: New file.
64404         * modules/unistr/u32-check: New file.
64405         * lib/unistr/u8-check.c: New file.
64406         * lib/unistr/u16-check.c: New file.
64407         * lib/unistr/u32-check.c: New file.
64408
64409         * modules/unistr/u8-chr: New file.
64410         * modules/unistr/u16-chr: New file.
64411         * modules/unistr/u32-chr: New file.
64412         * lib/unistr/u8-chr.c: New file.
64413         * lib/unistr/u16-chr.c: New file.
64414         * lib/unistr/u32-chr.c: New file.
64415
64416         * modules/unistr/u8-cmp: New file.
64417         * modules/unistr/u16-cmp: New file.
64418         * modules/unistr/u32-cmp: New file.
64419         * lib/unistr/u8-cmp.c: New file.
64420         * lib/unistr/u16-cmp.c: New file.
64421         * lib/unistr/u32-cmp.c: New file.
64422
64423         * modules/unistr/u8-cpy: New file.
64424         * modules/unistr/u16-cpy: New file.
64425         * modules/unistr/u32-cpy: New file.
64426         * lib/unistr/u8-cpy.c: New file.
64427         * lib/unistr/u16-cpy.c: New file.
64428         * lib/unistr/u32-cpy.c: New file.
64429         * lib/unistr/u-cpy.h: New file.
64430
64431         * modules/unistr/u8-cpy-alloc: New file.
64432         * modules/unistr/u16-cpy-alloc: New file.
64433         * modules/unistr/u32-cpy-alloc: New file.
64434         * lib/unistr/u8-cpy-alloc.c: New file.
64435         * lib/unistr/u16-cpy-alloc.c: New file.
64436         * lib/unistr/u32-cpy-alloc.c: New file.
64437         * lib/unistr/u-cpy-alloc.h: New file.
64438
64439         * modules/unistr/u8-endswith: New file.
64440         * modules/unistr/u16-endswith: New file.
64441         * modules/unistr/u32-endswith: New file.
64442         * lib/unistr/u8-endswith.c: New file.
64443         * lib/unistr/u16-endswith.c: New file.
64444         * lib/unistr/u32-endswith.c: New file.
64445         * lib/unistr/u-endswith.h: New file.
64446
64447         * modules/unistr/u8-mblen: New file.
64448         * modules/unistr/u16-mblen: New file.
64449         * modules/unistr/u32-mblen: New file.
64450         * lib/unistr/u8-mblen.c: New file.
64451         * lib/unistr/u16-mblen.c: New file.
64452         * lib/unistr/u32-mblen.c: New file.
64453
64454         * modules/unistr/u8-mbtouc: New file.
64455         * modules/unistr/u16-mbtouc: New file.
64456         * modules/unistr/u32-mbtouc: New file.
64457         * lib/unistr/u8-mbtouc.c: New file.
64458         * lib/unistr/u16-mbtouc.c: New file.
64459         * lib/unistr/u32-mbtouc.c: New file.
64460
64461         * modules/unistr/u8-mbtouc-safe: New file.
64462         * modules/unistr/u16-mbtouc-safe: New file.
64463         * modules/unistr/u32-mbtouc-safe: New file.
64464         * lib/unistr/u8-mbtouc-safe.c: New file.
64465         * lib/unistr/u16-mbtouc-safe.c: New file.
64466         * lib/unistr/u32-mbtouc-safe.c: New file.
64467
64468         * modules/unistr/u8-move: New file.
64469         * modules/unistr/u16-move: New file.
64470         * modules/unistr/u32-move: New file.
64471         * lib/unistr/u8-move.c: New file.
64472         * lib/unistr/u16-move.c: New file.
64473         * lib/unistr/u32-move.c: New file.
64474         * lib/unistr/u-move.h: New file.
64475
64476         * modules/unistr/u8-next: New file.
64477         * modules/unistr/u16-next: New file.
64478         * modules/unistr/u32-next: New file.
64479         * lib/unistr/u8-next.c: New file.
64480         * lib/unistr/u16-next.c: New file.
64481         * lib/unistr/u32-next.c: New file.
64482
64483         * modules/unistr/u8-prev: New file.
64484         * modules/unistr/u16-prev: New file.
64485         * modules/unistr/u32-prev: New file.
64486         * lib/unistr/u8-prev.c: New file.
64487         * lib/unistr/u16-prev.c: New file.
64488         * lib/unistr/u32-prev.c: New file.
64489
64490         * modules/unistr/u8-set: New file.
64491         * modules/unistr/u16-set: New file.
64492         * modules/unistr/u32-set: New file.
64493         * lib/unistr/u8-set.c: New file.
64494         * lib/unistr/u16-set.c: New file.
64495         * lib/unistr/u32-set.c: New file.
64496         * lib/unistr/u-set.h: New file.
64497
64498         * modules/unistr/u8-startswith: New file.
64499         * modules/unistr/u16-startswith: New file.
64500         * modules/unistr/u32-startswith: New file.
64501         * lib/unistr/u8-startswith.c: New file.
64502         * lib/unistr/u16-startswith.c: New file.
64503         * lib/unistr/u32-startswith.c: New file.
64504         * lib/unistr/u-startswith.h: New file.
64505
64506         * modules/unistr/u8-stpcpy: New file.
64507         * modules/unistr/u16-stpcpy: New file.
64508         * modules/unistr/u32-stpcpy: New file.
64509         * lib/unistr/u8-stpcpy.c: New file.
64510         * lib/unistr/u16-stpcpy.c: New file.
64511         * lib/unistr/u32-stpcpy.c: New file.
64512         * lib/unistr/u-stpcpy.h: New file.
64513
64514         * modules/unistr/u8-stpncpy: New file.
64515         * modules/unistr/u16-stpncpy: New file.
64516         * modules/unistr/u32-stpncpy: New file.
64517         * lib/unistr/u8-stpncpy.c: New file.
64518         * lib/unistr/u16-stpncpy.c: New file.
64519         * lib/unistr/u32-stpncpy.c: New file.
64520         * lib/unistr/u-stpncpy.h: New file.
64521
64522         * modules/unistr/u8-strcat: New file.
64523         * modules/unistr/u16-strcat: New file.
64524         * modules/unistr/u32-strcat: New file.
64525         * lib/unistr/u8-strcat.c: New file.
64526         * lib/unistr/u16-strcat.c: New file.
64527         * lib/unistr/u32-strcat.c: New file.
64528         * lib/unistr/u-strcat.h: New file.
64529
64530         * modules/unistr/u8-strchr: New file.
64531         * modules/unistr/u16-strchr: New file.
64532         * modules/unistr/u32-strchr: New file.
64533         * lib/unistr/u8-strchr.c: New file.
64534         * lib/unistr/u16-strchr.c: New file.
64535         * lib/unistr/u32-strchr.c: New file.
64536
64537         * modules/unistr/u8-strcmp: New file.
64538         * modules/unistr/u16-strcmp: New file.
64539         * modules/unistr/u32-strcmp: New file.
64540         * lib/unistr/u8-strcmp.c: New file.
64541         * lib/unistr/u16-strcmp.c: New file.
64542         * lib/unistr/u32-strcmp.c: New file.
64543
64544         * modules/unistr/u8-strcpy: New file.
64545         * modules/unistr/u16-strcpy: New file.
64546         * modules/unistr/u32-strcpy: New file.
64547         * lib/unistr/u8-strcpy.c: New file.
64548         * lib/unistr/u16-strcpy.c: New file.
64549         * lib/unistr/u32-strcpy.c: New file.
64550         * lib/unistr/u-strcpy.h: New file.
64551
64552         * modules/unistr/u8-strcspn: New file.
64553         * modules/unistr/u16-strcspn: New file.
64554         * modules/unistr/u32-strcspn: New file.
64555         * lib/unistr/u8-strcspn.c: New file.
64556         * lib/unistr/u16-strcspn.c: New file.
64557         * lib/unistr/u32-strcspn.c: New file.
64558         * lib/unistr/u-strcspn.h: New file.
64559
64560         * modules/unistr/u8-strdup: New file.
64561         * modules/unistr/u16-strdup: New file.
64562         * modules/unistr/u32-strdup: New file.
64563         * lib/unistr/u8-strdup.c: New file.
64564         * lib/unistr/u16-strdup.c: New file.
64565         * lib/unistr/u32-strdup.c: New file.
64566         * lib/unistr/u-strdup.h: New file.
64567
64568         * modules/unistr/u8-strlen: New file.
64569         * modules/unistr/u16-strlen: New file.
64570         * modules/unistr/u32-strlen: New file.
64571         * lib/unistr/u8-strlen.c: New file.
64572         * lib/unistr/u16-strlen.c: New file.
64573         * lib/unistr/u32-strlen.c: New file.
64574         * lib/unistr/u-strlen.h: New file.
64575
64576         * modules/unistr/u8-strmblen: New file.
64577         * modules/unistr/u16-strmblen: New file.
64578         * modules/unistr/u32-strmblen: New file.
64579         * lib/unistr/u8-strmblen.c: New file.
64580         * lib/unistr/u16-strmblen.c: New file.
64581         * lib/unistr/u32-strmblen.c: New file.
64582
64583         * modules/unistr/u8-strmbtouc: New file.
64584         * modules/unistr/u16-strmbtouc: New file.
64585         * modules/unistr/u32-strmbtouc: New file.
64586         * lib/unistr/u8-strmbtouc.c: New file.
64587         * lib/unistr/u16-strmbtouc.c: New file.
64588         * lib/unistr/u32-strmbtouc.c: New file.
64589
64590         * modules/unistr/u8-strncat: New file.
64591         * modules/unistr/u16-strncat: New file.
64592         * modules/unistr/u32-strncat: New file.
64593         * lib/unistr/u8-strncat.c: New file.
64594         * lib/unistr/u16-strncat.c: New file.
64595         * lib/unistr/u32-strncat.c: New file.
64596         * lib/unistr/u-strncat.h: New file.
64597
64598         * modules/unistr/u8-strncmp: New file.
64599         * modules/unistr/u16-strncmp: New file.
64600         * modules/unistr/u32-strncmp: New file.
64601         * lib/unistr/u8-strncmp.c: New file.
64602         * lib/unistr/u16-strncmp.c: New file.
64603         * lib/unistr/u32-strncmp.c: New file.
64604
64605         * modules/unistr/u8-strncpy: New file.
64606         * modules/unistr/u16-strncpy: New file.
64607         * modules/unistr/u32-strncpy: New file.
64608         * lib/unistr/u8-strncpy.c: New file.
64609         * lib/unistr/u16-strncpy.c: New file.
64610         * lib/unistr/u32-strncpy.c: New file.
64611         * lib/unistr/u-strncpy.h: New file.
64612
64613         * modules/unistr/u8-strnlen: New file.
64614         * modules/unistr/u16-strnlen: New file.
64615         * modules/unistr/u32-strnlen: New file.
64616         * lib/unistr/u8-strnlen.c: New file.
64617         * lib/unistr/u16-strnlen.c: New file.
64618         * lib/unistr/u32-strnlen.c: New file.
64619         * lib/unistr/u-strnlen.h: New file.
64620
64621         * modules/unistr/u8-strpbrk: New file.
64622         * modules/unistr/u16-strpbrk: New file.
64623         * modules/unistr/u32-strpbrk: New file.
64624         * lib/unistr/u8-strpbrk.c: New file.
64625         * lib/unistr/u16-strpbrk.c: New file.
64626         * lib/unistr/u32-strpbrk.c: New file.
64627         * lib/unistr/u-strpbrk.h: New file.
64628
64629         * modules/unistr/u8-strrchr: New file.
64630         * modules/unistr/u16-strrchr: New file.
64631         * modules/unistr/u32-strrchr: New file.
64632         * lib/unistr/u8-strrchr.c: New file.
64633         * lib/unistr/u16-strrchr.c: New file.
64634         * lib/unistr/u32-strrchr.c: New file.
64635
64636         * modules/unistr/u8-strspn: New file.
64637         * modules/unistr/u16-strspn: New file.
64638         * modules/unistr/u32-strspn: New file.
64639         * lib/unistr/u8-strspn.c: New file.
64640         * lib/unistr/u16-strspn.c: New file.
64641         * lib/unistr/u32-strspn.c: New file.
64642         * lib/unistr/u-strspn.h: New file.
64643
64644         * modules/unistr/u8-strstr: New file.
64645         * modules/unistr/u16-strstr: New file.
64646         * modules/unistr/u32-strstr: New file.
64647         * lib/unistr/u8-strstr.c: New file.
64648         * lib/unistr/u16-strstr.c: New file.
64649         * lib/unistr/u32-strstr.c: New file.
64650         * lib/unistr/u-strstr.h: New file.
64651
64652         * modules/unistr/u8-strtok: New file.
64653         * modules/unistr/u16-strtok: New file.
64654         * modules/unistr/u32-strtok: New file.
64655         * lib/unistr/u8-strtok.c: New file.
64656         * lib/unistr/u16-strtok.c: New file.
64657         * lib/unistr/u32-strtok.c: New file.
64658         * lib/unistr/u-strtok.h: New file.
64659
64660         * modules/unistr/u8-uctomb: New file.
64661         * modules/unistr/u16-uctomb: New file.
64662         * modules/unistr/u32-uctomb: New file.
64663         * lib/unistr/u8-uctomb.c: New file.
64664         * lib/unistr/u16-uctomb.c: New file.
64665         * lib/unistr/u32-uctomb.c: New file.
64666
64667         * MODULES.html.sh (Unicode string functions): Add the new modules.
64668
64669 2007-01-08  Bruno Haible  <bruno@clisp.org>
64670
64671         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
64672         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
64673         subdirectories.
64674
64675 2007-01-08  Karl Berry  <karl@gnu.org>
64676
64677         * doc/error.texi: mention that main() fns must set program_name
64678         when progname is used.
64679
64680 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
64681
64682         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
64683         WCTYPE_H is empty, for the benefit of builds from non-distclean
64684         directories.  Problem reported by Eric Blake in
64685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
64686
64687 2007-01-08  Bruno Haible  <bruno@clisp.org>
64688
64689         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
64690         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
64691         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
64692         PROVIDE_CANONICALIZE_FILENAME_MODE.
64693         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
64694
64695 2007-01-08  Bruno Haible  <bruno@clisp.org>
64696
64697         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
64698         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
64699         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
64700         * lib/fts.c: Likewise.
64701         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
64702
64703 2006-12-25  Bruno Haible  <bruno@clisp.org>
64704
64705         * modules/utf8-ucs4-safe: New file.
64706         * lib/utf8-ucs4-safe.h: New file.
64707         * lib/unistr/utf8-ucs4-safe.c: New file.
64708
64709         * modules/utf16-ucs4-safe: New file.
64710         * lib/utf16-ucs4-safe.h: New file.
64711         * lib/unistr/utf16-ucs4-safe.c: New file.
64712
64713         * MODULES.html.sh (Unicode string functions): Add the new modules.
64714
64715 2007-01-08  Bruno Haible  <bruno@clisp.org>
64716
64717         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
64718         (Depends-on): Add unitypes.
64719         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64720         (u8_mbtouc_aux): Move out to separate file.
64721         (u8_mbtouc): Use ucs4_t, uint8_t types.
64722         * lib/unistr/utf8-ucs4.c: New file.
64723
64724         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
64725         (Depends-on): Add unitypes.
64726         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
64727         (u16_mbtouc_aux): Move out to separate file.
64728         (u16_mbtouc): Use ucs4_t, uint16_t types.
64729         * lib/unistr/utf16-ucs4.c: New file.
64730
64731         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
64732         (Depends-on): Add unitypes.
64733         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
64734         (u8_uctomb_aux): Move out to separate file.
64735         (u8_uctomb): Use ucs4_t, uint8_t types.
64736         * lib/unistr/ucs4-utf8.c: New file.
64737
64738         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
64739         (Depends-on): Add unitypes.
64740         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
64741         (u16_uctomb_aux): Move out to separate file.
64742         (u16_uctomb): Use ucs4_t, uint16_t types.
64743         * lib/unistr/ucs4-utf16.c: New file.
64744
64745 2006-12-25  Bruno Haible  <bruno@clisp.org>
64746
64747         * modules/unitypes: New file.
64748         * lib/unitypes.h: New file.
64749         * MODULES.html.sh (func_all_modules): New section "Unicode string
64750         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
64751         this section. Add unitypes.
64752
64753 2007-01-08  Bruno Haible  <bruno@clisp.org>
64754
64755         Avoid variable names that conflict with those from libtool.
64756         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
64757         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
64758         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
64759         library_names_spec to acl_library_names_spec, hardcode_* to
64760         acl_hardcode_*.
64761         Reported by Ralf Wildenhues.
64762
64763 2007-01-08  Bruno Haible  <bruno@clisp.org>
64764
64765         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
64766         definition.
64767         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
64768         definition.
64769         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
64770         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
64771         definition.
64772         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
64773         definition.
64774         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
64775         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
64776         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
64777         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
64778         definition.
64779         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
64780         definition.
64781         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
64782         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
64783         GC_USE_<algorithm>.
64784         * lib/gc-libgcrypt.c: Likewise.
64785         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
64786         * modules/gc-arctwo (configure.ac): Likewise.
64787         * modules/gc-des (configure.ac): Likewise.
64788         * modules/gc-hmac-md5 (configure.ac): Likewise.
64789         * modules/gc-hmac-sha1 (configure.ac): Likewise.
64790         * modules/gc-md2 (configure.ac): Likewise.
64791         * modules/gc-md4 (configure.ac): Likewise.
64792         * modules/gc-md5 (configure.ac): Likewise.
64793         * modules/gc-random (configure.ac): Likewise.
64794         * modules/gc-rijndael (configure.ac): Likewise.
64795         * modules/gc-sha1 (configure.ac): Likewise.
64796
64797 2007-01-08  Bruno Haible  <bruno@clisp.org>
64798
64799         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
64800         macro definition.
64801         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
64802         definition.
64803         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
64804         definition.
64805         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
64806         * modules/fcntl-safer (configure.ac): Likewise.
64807         * modules/fopen-safer (configure.ac): Likewise.
64808         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
64809         GNULIB_FWRITEERROR macro definition.
64810
64811 2007-01-08  Bruno Haible  <bruno@clisp.org>
64812
64813         * m4/gnulib-common.m4: New file.
64814         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
64815         (func_get_filelist): Add m4/gnulib-common.m4.
64816
64817 2007-01-08  Bruno Haible  <bruno@clisp.org>
64818
64819         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
64820         command.
64821
64822 2007-01-08  Jim Meyering  <jim@meyering.net>
64823
64824         Use a more robust test for a "can't happen" condition.
64825         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
64826         narrowed the st_size value.  Presuming the "can't happen" condition
64827         is true, that narrowing could conceivably convert an invalid st_size
64828         value into a valid one.  Instead, use a change based on Matthew
64829         Woehlke's original patch.
64830
64831         Slight readability improvement: use an assert-like macro
64832         in place of literal "abort ()" uses.
64833         * lib/fts.c (fts_assert): Define.
64834         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
64835         Use this macro instead of a bare 'abort'.
64836
64837 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
64838
64839         Don't worry about using IRIX 5.3's wctype.h broken definitions;
64840         simply work around them.
64841         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
64842         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
64843         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
64844         declaring.
64845         Don't bother to define as macros, since the standard doesn't require it.
64846         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
64847         longer worry about IRIX 5.3.
64848         (HAVE_WCTYPE_CTMP_BUG): Remove.
64849
64850 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64851
64852         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
64853         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
64854         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64855         Problems reported by Georg Schwarz for IRIX 5.3.
64856
64857         * gnulib-tool (autoconf_minversion): Take the maximum version number
64858         found, not the minimum.  Problem reported by James Youngman.
64859
64860 2007-01-03  Karl Berry  <karl@gnu.org>
64861
64862         * doc/error.texi: new file, explaining interaction with progname.
64863         * doc/gnulib.texi: include it.  Update copyright.
64864
64865 2007-01-03  Simon Josefsson  <simon@josefsson.org>
64866
64867         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
64868         AC_CANONICAL_HOST, to improve autobuild outputs.
64869
64870 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
64871             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
64872
64873         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
64874         sockets, server sockets, and other file descriptors.  Count errors
64875         to compute the return value.  Reorder the code a bit to be easier
64876         to follow.  Don't set event bits that were not requested (except
64877         POLLERR and POLLHUP).
64878
64879 2007-01-01  Bruno Haible  <bruno@clisp.org>
64880
64881         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
64882
64883 2007-01-03  Jim Meyering  <jim@meyering.net>
64884
64885         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
64886
64887 2007-01-02  Bruno Haible  <bruno@clisp.org>
64888
64889         * modules/settime (Include): Require timespec.h.
64890         * modules/nanosleep (Include): Likewise.
64891
64892 2007-01-01  Bruno Haible  <bruno@clisp.org>
64893
64894         * gnulib-tool (func_emit_copyright_notice): Bump year.
64895         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
64896
64897 2007-01-01  Bruno Haible  <bruno@clisp.org>
64898
64899         Improve support for OpenBSD.
64900         * build-aux/config.rpath (libname_spec): Export.
64901         (library_names_spec): New variable. Export.
64902         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
64903         library_names_spec from the config.rpath output. Locate shared library
64904         through the name pattern in library_names_spec.
64905
64906 2007-01-01  Eric Blake  <ebb9@byu.net>
64907
64908         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
64909
64910 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
64911
64912         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
64913         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
64914         assume the C locale, and avoid an "eval" that could cause trouble.
64915         Problem with SORT reported by Bob Proulx.
64916
64917         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
64918         Define.  Trivial patch from Henning Nielsen Lund, originally
64919         sent to bug-grep@gnu.org today.
64920
64921 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
64922
64923         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
64924         struct stat.  Problem reported by Henning Nielsen Lund.
64925         * lib/acl.c: Include acl.h first, to check interface.  Don't
64926         bother to include sys/types.h and sys/stat.h again.
64927
64928 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64929
64930         Import the following change from libc; problem reported by
64931         Sven Verdoolaege.
64932
64933         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
64934
64935         [BZ #1373]
64936         * lib/argp.h: Remove __NTH for __argp_usage inline function.
64937
64938 2006-12-28  Jim Meyering  <jim@meyering.net>
64939
64940         * build-aux/announce-gen: Do not assume that the package
64941         builds any of tar.gz, tar.bz2, and .xdelta files.
64942         Suggestion from Simon Josefsson.
64943
64944 2006-12-28  Simon Josefsson  <simon@josefsson.org>
64945
64946         * modules/announce-gen: New file.
64947
64948 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
64949
64950         * lib/mbchar.h: Just include <wctype.h>; the wctype module
64951         handles its gotchas now.
64952         * lib/mbswidth.c: Likewise.
64953         * lib/wcwidth.h: Likewise.
64954         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
64955         and iswcntrl; the wctype module does this stuff now.
64956         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64957         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64958         * modules/mbchar (Depends-on): Add wctype.
64959         * modules/mbswidth (Depends-on): Likewise.
64960         * modules/wcwidth (Depends-on): Likewise.
64961
64962 2006-12-27  Eric Blake  <ebb9@byu.net>
64963
64964         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
64965         module uses more than what <wctype.h> is required to provide.
64966
64967 2006-12-26  Eric Blake  <ebb9@byu.net>
64968
64969         * gnulib-tool (sed_extract_prog): Avoid space-tab.
64970
64971 2006-12-26  Eric Blake  <ebb9@byu.net>
64972
64973         * modules/absolute-header: New module.
64974         * modules/fcntl (Depends-on): Depend on it.
64975         * modules/inttypes (Depends-on): Likewise.
64976         * modules/stdint (Depends-on): Likewise.
64977         * modules/sys_stat (Depends-on): Likewise.
64978         * modules/wctype (Depends-on): Likewise.
64979         * MODULES.html.sh (Support for building libraries and
64980         executables): Document it.
64981
64982 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
64983
64984         * gnulib-tool (SED): Remove, undoing previous change.
64985         The problem was that it broke coreutils on Solaris, because
64986         "sed --posix" leaked into a makefile.
64987         (sed): New alias, if 'alias' and GNU sed.
64988
64989 2006-12-24  Jim Meyering  <jim@meyering.net>
64990
64991         Work around an fchownat bug in glibc-2.4:
64992         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
64993         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
64994         in spite of the -P option.
64995         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
64996         New macros.
64997         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
64998         * modules/openat (Files): Add lib/fchownat.c.
64999         * lib/openat.c (fchownat): Don't define here.  Move to...
65000         * lib/fchownat.c: ...this new file.
65001
65002 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
65003
65004         Fix bug reported by Bruno Haible in
65005         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
65006         where quotearg.c didn't compile on Mac OS X 10.2 because it
65007         lacks <wchar.h> and wint_t.
65008         * lib/wctype_.h (__wctype_wint_t): New type.
65009         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
65010         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
65011         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
65012         Arg is now of type __wctype_wint_t, not wint_t.
65013         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
65014         substitute HAVE_WINT_T.
65015         * modules/wctype (Files): Add m4/wint_t.m4.
65016         (wctype.h): Substitute HAVE_WINT_T.
65017
65018 2006-12-23  Bruno Haible  <bruno@clisp.org>
65019
65020         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
65021
65022 2006-12-23  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
65025         S_ISLNK.
65026         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
65027         mingw.
65028
65029 2006-12-22  Bruno Haible  <bruno@clisp.org>
65030
65031         * lib/copy-file.c: Include acl.h.
65032         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
65033         Close the file descriptors only after being done with copy_acl.
65034         * modules/copy-file (Depends-on): Add acl.
65035
65036 2006-12-22  Bruno Haible  <bruno@clisp.org>
65037
65038         * gnulib-tool (SED): New variable.
65039         Use $SED instead of sed everywhere.
65040
65041 2006-12-22  Bruno Haible  <bruno@clisp.org>
65042
65043         * modules/no-c++: New file.
65044         * m4/no-c++.m4: New file.
65045         * MODULES.html.sh (Support for building libraries and executables):
65046         Add no-c++.
65047
65048 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
65049
65050         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
65051         Include <limits.h>, and use its INT_MAX to rewrite the
65052         j loop so that it does not overflow 'int'.  Problem reported by
65053         Ralf Wildenhues in
65054         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
65055         Play it safe by shifting left by 1 rather than multiplying by 2,
65056         as GCC is less likely to optimize this away when the value
65057         is signed (when it assumes overflow leads to undefined behavior).
65058         Also, don't assume time_t uses two's complement.
65059
65060 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
65061
65062         * MODULES.html.sh: New module wctype.
65063         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
65064         * lib/fnmatch.c: Don't bother to include <wchar.h> before
65065         <wctype.h>, since the new wctype module should fix this.
65066         * lib/quotearg.c: Include <wctype.h> unconditionally, since
65067         the wctype module should arrange for it.
65068         * lib/regex_internal.h: Likewise.
65069         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
65070         since the wctype module should handle this now.
65071         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
65072         * modules/fnmatch (Depends-on): Add wctype.
65073         * modules/quotearg (Depends-on): Likewise.
65074         * modules/regex (Depends-on): Likewise.
65075
65076 2006-12-19  Bruno Haible  <bruno@clisp.org>
65077
65078         * lib/strdup.h [C++]: Wrap definitions in extern "C".
65079         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
65080
65081 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65082
65083         * modules/savewd (Depends-on): Fix dependency on fcntl.
65084
65085 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65086
65087         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
65088         conforms to C99, rather than relying on the user's environment
65089         setting of STDINT_H.
65090
65091 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
65092         and Eric Blake  <ebb9@byu.net>
65093
65094         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
65095         This is more consistent with the other defines here.
65096         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
65097         Port to z/OS.  Problem reported by Paul Gilmartin.
65098         Change local vars to use gl_ prefix rather than ac_.
65099         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
65100         with other defines.
65101         * modules/double-slash-root: New module.
65102         * modules/dirname (Files): Remove m4/double-slash-root.m4.
65103         (Depends-on): Add double-slash-root.
65104         * MODULES.html.sh (File system functions): Mention new module.
65105
65106 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
65107
65108         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
65109         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
65110         This is for the benefit of gzip, which doesn't do i18n.
65111
65112 2006-12-12  Jim Meyering  <jim@meyering.net>
65113
65114         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
65115         Reported by Andreas Schwab <schwab@suse.de>.
65116
65117 2006-12-12  Bruno Haible  <bruno@clisp.org>
65118
65119         Merge these changes.
65120         2006-09-05  Bruno Haible  <bruno@clisp.org>
65121         * lib/iconvme.c (iconv_string): No need to save and restore errno when
65122         iconv_alloc succeeded.
65123         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
65124         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
65125         test for " && dest " at the end - dest is always != NULL there. Call
65126         iconv with 4xNULL arguments initially, to reset the state. Call iconv
65127         with 2xNULL arguments, also to flush the state storage. Handle the
65128         IRIX iconv behaviour. Realloc the final result, to throw away unused
65129         memory.
65130
65131 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
65132
65133         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
65134         and fchmodat unconditionally, since glibc 2.4 has them.
65135         Problem reported by Arkadiusz Miskiewicz.
65136
65137 2006-12-10  Bruno Haible  <bruno@clisp.org>
65138
65139         * gnulib-tool (func_import): Show the include files only for those
65140         modules that are copied and specified.
65141         Reported by Karl Berry.
65142
65143 2006-12-08  Jim Meyering  <jim@meyering.net>
65144
65145         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
65146         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
65147
65148         * build-aux/announce-gen: Add two new options, both optional:
65149         --bootstrap-tools=TOOL_LIST
65150               a comma-separated list of tools, e.g.,
65151               autoconf,automake,bison,gnulib
65152         --gnulib-snapshot-date=DATE
65153               if gnulib is in the bootstrap tool list,
65154               then report this as the snapshot date.
65155               If not specified, use the current date/time.
65156               If you specify a date here, be sure it's UTC.
65157
65158 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65159
65160         * tests/test-argp-2.sh: Fix test to match actual output.
65161         (func_compare): Fix sed script to be portable.
65162
65163 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
65164
65165         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
65166         workaround for this case.  It is not autoconfigured now; offhand
65167         it's hard to see how to autoconfigure it.
65168
65169 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
65170
65171         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
65172         a directory that is about to be chowned.  Such a directory's
65173         initial file permissions should permit the owner only and this
65174         should not be changed until after the chown, since the group and
65175         other bits would be incorrect if they granted permission before
65176         the chown.
65177
65178         Fix porting problem for iswctype reported by Georg Schwarz in:
65179         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
65180         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
65181         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
65182         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
65183         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65184
65185 2006-12-03  Jim Meyering  <jim@meyering.net>
65186
65187         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
65188         p->fts_statp may not yet be defined.
65189         (fts_read): Instead, set it in the caller, once p->fts_statp is
65190         sure to be defined, and corresponds to a top-level directory.
65191         This bug made du -x fail.  Here's the coreutils test case:
65192         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
65193         Reported by Mike Frysinger.
65194
65195 2006-12-01  Jim Meyering  <jim@meyering.net>
65196
65197         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
65198         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
65199         Reported by Simon Josefsson.
65200
65201 2006-11-30  Jim Meyering  <jim@meyering.net>
65202
65203         * m4/warning.m4: Use the all-permissive copyright notice
65204         recommended by RMS (rather than LGPL).
65205         * m4/vararrays.m4: Likewise.
65206         * m4/flexmember.m4: Likewise.
65207
65208 2006-11-29  Bruno Haible  <bruno@clisp.org>
65209
65210         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65211         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
65212         using +=.
65213         Reported by Simon Josefsson <simon@josefsson.org>.
65214
65215 2006-11-28  James Youngman <jay@gnu.org>
65216
65217         * README: Advise users that they might find the bug-gnulib@gnu.org
65218         and autotools-announce@gnu.org mailing lists useful.
65219
65220 2006-11-28  Bruno Haible  <bruno@clisp.org>
65221
65222         * m4/ptrdiff_max.m4: Remove file.
65223
65224 2006-11-21  Bruno Haible  <bruno@clisp.org>
65225
65226         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
65227         _AC_COMPUTE_INT.
65228         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65229         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
65230         _AC_COMPUTE_INT.
65231         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65232         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
65233         _AC_COMPUTE_INT.
65234         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65235
65236 2006-11-28  Jim Meyering  <jim@meyering.net>
65237
65238         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
65239         warning from "gcc -Wshadow" about shadowing the builtin.
65240
65241 2006-11-27  Bruno Haible  <bruno@clisp.org>
65242
65243         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
65244         _AC_COMPUTE_INT.
65245         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
65246
65247 2006-11-27  Bruno Haible  <bruno@clisp.org>
65248             Paul Eggert  <eggert@cs.ucla.edu>
65249
65250         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
65251
65252 2006-11-26  Bruno Haible  <bruno@clisp.org>
65253
65254         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
65255         noinst_LTLIBRARIES.
65256
65257 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
65258             Bruno Haible  <bruno@clisp.org>
65259
65260         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
65261         if compiling with "gcc -ansi".
65262
65263 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
65264
65265         Fix some incompatibilities with gcc -ansi -pedantic.
65266         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
65267         if compiling pedantically with GCC, unless it's C99 or later.
65268         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
65269         it mishandles gcc -ansi -pedantic as well.
65270         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
65271         if gcc -pedantic.
65272         * lib/regexec.c (check_node_accept_bytes): Don't use auto
65273         initializers for struct if -pedantic, unless it's C99 or later.
65274
65275 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
65276
65277         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
65278         Don't close an fd more than once. Identical atimes indicate
65279         success, not failure.
65280
65281 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
65282
65283         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
65284
65285 2006-11-23  Jim Meyering  <jim@meyering.net>
65286
65287         * build-aux/announce-gen: New file.  From coreutils.
65288
65289 2006-11-22  Jim Meyering  <jim@meyering.net>
65290
65291         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
65292         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
65293         (fts_read): Use a temporary to narrow the overused st_size member
65294         before using it in a switch statement.  Reported by Matthew Woehlke.
65295
65296         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
65297         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
65298
65299 2006-11-20  Bruno Haible  <bruno@clisp.org>
65300
65301         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
65302         changequote instead of pairs of brackets.
65303         Reported by Andreas Schwab <schwab@suse.de>.
65304
65305 2006-11-21  Jim Meyering  <jim@meyering.net>
65306
65307         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
65308         so as to remain compatible with older compilers.
65309         Patch from Michael Deutschmann.
65310
65311 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * MODULES.html.sh (File system functions): Add openat.
65314
65315         * lib/openat.h (rpl_fstatat): New macro, if
65316         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
65317         (fstatat): Define to rpl_fstatat under the same conditions,
65318         unless COMPILING_FSTATAT.
65319         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
65320         seems to have the bug.
65321         * lib/fstatat.c: New file.
65322         * modules/openat (Files): Add it.
65323
65324 2006-11-20  Bruno Haible  <bruno@clisp.org>
65325
65326         * Makefile: New file.
65327
65328 2006-11-20  Jim Meyering  <jim@meyering.net>
65329
65330         The beginnings of syntax-related checks for gnulib.
65331         * lib/Makefile: New file.
65332         * lib/t-idcache: New script.  Ensure that the two halves of
65333         idcache.c stay in sync.
65334
65335         * lib/idcache.c: Adjust comments in user- and group- portions to
65336         be more accurate, and to be consistent with one another.
65337
65338 2006-11-20  Jim Meyering  <jim@meyering.net>
65339
65340         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
65341         continue using the flexible array member (thus, this module performs
65342         half as many malloc calls), with the addition that...
65343         (getgroup, getuser): Consistently record a non-match via an empty
65344         "name" string, and map an empty string match to a NULL return value.
65345         * modules/idcache (Depends-on): Re-add flexmember.
65346
65347         * lib/idcache.c (getuser): Remove all uses of the register keyword.
65348         (getuidbyname, getgroup, getgidbyname): Likewise.
65349
65350         Use cleaner syntax: NULL rather than 0.
65351         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
65352
65353 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
65354
65355         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
65356         It mishandled the case where the group was missing.
65357         Problem reported by Greg Schafer.
65358         * modules/idcache: Likewise.
65359
65360 2006-11-18  Jim Meyering  <jim@meyering.net>
65361
65362         * check-module (%exempt_header): Add exception for some
65363         conditionally-included headers.
65364
65365         * modules/i-ring (Depends-on): Add verify.
65366         (License): Change to LGPL.
65367
65368 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
65369
65370         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
65371         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
65372         and inttostr.h.  Use snprintf rather than uinttostr, so that
65373         LGPLed code doesn't depend on GPLed.
65374
65375 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
65376
65377         * modules/inline (License): Change from GPL to LGPL.
65378
65379 2006-11-17  Jim Meyering  <jim@meyering.net>
65380
65381         * modules/d-type (License): Switch to LGPL.
65382
65383 2006-11-15  Bruno Haible  <bruno@clisp.org>
65384
65385         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
65386
65387 2006-11-15  Eric Blake  <ebb9@byu.net>
65388
65389         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
65390         the module dependency.
65391
65392 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65393             Bruno Haible  <bruno@clisp.org>
65394
65395         * gnulib-tool (func_create_testdir): Add license consistency check.
65396
65397 2006-11-15  Eric Blake  <ebb9@byu.net>
65398
65399         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
65400         random "(cached)" in configure output.
65401
65402 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65403
65404         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
65405         test for conforming inttypes.h is both announced and cached.
65406
65407         * MODULES.html.sh (seen_modules, seen_files): New variables.
65408         (func_module): Rewrite to use a few less gnulib-tool and sed
65409         invocations.  Avoid a couple of quadratic algorithms for ...
65410         (missed_modules, missed_files): ... these, with ...
65411         (func_append, func_tmpdir): ... these new functions, from
65412         gnulib-tool.  Analogously, install traps for cleanup.
65413
65414         * tests/test-gc.c (main): Remove unused variables.
65415         * tests/test-read-file.c: Include stdlib.h, for 'free'.
65416
65417 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
65418
65419         * modules/inttostr (License): Change to LGPL.
65420
65421 2006-11-14  Eric Blake  <ebb9@byu.net>
65422
65423         * modules/tempname (License): Change to LGPL.
65424
65425 2006-11-14  Eric Blake  <ebb9@byu.net>
65426
65427         * doc/functions.texi (Function Portability): *printf functions on
65428         Cygwin now understand all POSIX size specifiers.
65429
65430 2006-11-14  Bruno Haible  <bruno@clisp.org>
65431
65432         * modules/c-ctype (License): Change to LGPL.
65433
65434 2006-11-12  Bruno Haible  <bruno@clisp.org>
65435
65436         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
65437         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
65438         for GNOME libraries, for which the include files are installed in
65439         subdirectories of $prefix/include.
65440
65441 2006-11-12  Bruno Haible  <bruno@clisp.org>
65442
65443         * m4/lib-link.m4: Require at least autoconf-2.54.
65444         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
65445         name to underscores for the --with option.
65446
65447 2006-11-13  Bruno Haible  <bruno@clisp.org>
65448
65449         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
65450         the tests directory.
65451         Reported by Ralf Wildenhues.
65452
65453 2006-11-13  Bruno Haible  <bruno@clisp.org>
65454
65455         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
65456         (func_emit_initmacro_end): Undo the override here.
65457         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
65458         Works around the famous automake error in coreutils.
65459
65460 2006-11-13  Eric Blake  <ebb9@byu.net>
65461
65462         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
65463         element, not its node.
65464
65465 2006-11-12  Bruno Haible  <bruno@clisp.org>
65466
65467         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
65468         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
65469
65470 2006-11-12  Bruno Haible  <bruno@clisp.org>
65471
65472         * gnulib-tool: New option --local-symlink.
65473         (func_usage): Document it.
65474         (lsymbolic): New variable.
65475         (func_import, func_create_testdir): If --symlink was not specified,
65476         test whether --local-symlink was specified and the file comes from
65477         the local_gnulib_dir.
65478
65479 2006-11-12  Bruno Haible  <bruno@clisp.org>
65480
65481         * gnulib-tool (func_ln): New function.
65482         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
65483
65484 2006-11-12  Bruno Haible  <bruno@clisp.org>
65485
65486         Finish support for source files in subdirectories.
65487         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
65488         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
65489         AUTOMAKE_OPTIONS.
65490         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
65491
65492 2006-11-12  Bruno Haible  <bruno@clisp.org>
65493
65494         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65495         EXTRA_lib_SOURCES augmentation.
65496         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
65497
65498 2006-11-12  Jim Meyering  <jim@meyering.net>
65499
65500         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
65501         file descriptors.  This also averts a failure on systems with
65502         native openat support when a traversed directory lacks "x" access.
65503         * lib/fts_.h: Include "i-ring.h"
65504         (struct FTS) [fts_fd_ring]: New member.
65505         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
65506         (FCHDIR): Add parentheses.
65507         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
65508         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
65509         When descending, rather than simply closing the previous
65510         fts_cwd_fd value, push that file descriptor onto the ring.
65511         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
65512         (fts_open): Initialize the new fd_ring member.
65513         (fts_close): Clear the ring.
65514         (fts_safe_changedir): When possible, use our new fd_ring to skip
65515         the diropen and fstat and dev/ino comparison that would normally
65516         accompany a virtual `chdir ("..")'.
65517
65518         * modules/fts (Depends-on): Add i-ring.
65519         * modules/i-ring: New module.
65520         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
65521         * m4/i-ring.m4: New file.
65522
65523 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65524
65525         * gnulib-tool (func_create_testdir): Fix replacement of
65526         `build-aux' in configure.ac.  Run autotools in gltests
65527         subdirectory.
65528         (func_create_testdir, func_create_megatestdir, test): There is
65529         no need for '--force' in most autotool invocations in a new
65530         tree.  Actually fail the whole test if any of the tools, or the
65531         configure or make stages fail.
65532
65533         Sync from Automake.
65534         * build-aux/gnupload: Revert last change.  Add pointer to upload
65535         instructions of the GNU Maintenance Instructions.
65536         Suggestion by Karl Berry.
65537
65538 2006-11-10  Jim Meyering  <jim@meyering.net>
65539
65540         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
65541
65542 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65543
65544         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
65545         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
65546         (bind_textdomain_codeset) [! ENABLE_NLS]:
65547         Evaluate all the arguments.  That way, callers get compatible behavior
65548         if the arguments have side effects.  Also, it avoids some GCC
65549         diagnostics in some cases; Joel E. Denny reported problems when Bison
65550         was configured with --enable-gcc-warnigs.
65551
65552 2006-11-10  Jim Meyering  <jim@meyering.net>
65553
65554         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
65555         relevant options in CFLAGS (like -O, -fno-inline) are taken into
65556         account.
65557
65558 2006-11-10  Jim Meyering  <jim@meyering.net>
65559
65560         * modules/inline: New file/module.
65561         * modules/xalloc (Files): Remove m4/inline.m4.
65562         (Depends-on): Add inline, instead.
65563         * modules/oset: Likewise.
65564         * modules/list: Likewise.
65565
65566 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
65567
65568         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
65569         Problem reported by Matthew Woehlke.
65570
65571 2006-11-09  Bruno Haible  <bruno@clisp.org>
65572
65573         * lib/tempname.c (gen_tempname): Remove variant that invokes
65574         __gen_tempname.
65575         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
65576         __gen_tempname.
65577
65578 2006-11-08  Bruno Haible  <bruno@clisp.org>
65579
65580         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
65581         to 'yes' instead of 'cross-compiling'.
65582
65583 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
65584
65585         * lib/quotearg.h (quotearg_free): New decl.
65586         * lib/quotearg.c (quotearg_free): New function.
65587         (slot0, nslots, slotvec0, slotvec):
65588         Now file-scope so that quotearg_free can get at them.
65589
65590 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65591
65592         Sync from Automake.
65593         * build-aux/gnupload: Add missing 'gnu' to example URL.
65594         Report by Karl Berry.
65595
65596 2006-11-08  Bruno Haible  <bruno@clisp.org>
65597
65598         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
65599         Suggested by Paul Eggert.
65600
65601 2006-11-08  Jim Meyering  <jim@meyering.net>
65602
65603         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
65604         It's already included if !_LIBC.
65605         (fts_safe_changedir): Add a comment.
65606
65607 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65608
65609         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
65610         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
65611         Matthew Woehlke.
65612
65613         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
65614         definitions up, to avoid colliding with change below.
65615         (static_inline) [HAVE_INLINE]: New macro.
65616         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
65617         Provide extern decls when !HAVE_INLINE.  Do not define unless
65618         static_inline is defined, either by us or by xmalloc.c.  Use
65619         static_inline rather than static inline.
65620         (XCALLOC): Optimize sizeof(T) = 1 case.
65621         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
65622
65623 2006-11-07  Bruno Haible  <bruno@clisp.org>
65624
65625         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
65626         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
65627         AC_C_INLINE.
65628         * modules/xalloc (Files): Add m4/inline.m4.
65629
65630 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65631
65632         * README: Fix typo.
65633         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
65634         (Miscellanous Notes): ...from this.
65635
65636 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
65637
65638         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
65639         Mention that offsetof should be used instead of sizeof.
65640         From Bruno Haible.
65641
65642 2006-11-07  Bruno Haible  <bruno@clisp.org>
65643
65644         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
65645
65646 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65647
65648         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65649         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
65650         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65651         (gl_tree_add_before, gl_tree_add_after):
65652         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
65653         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
65654         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65655         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
65656         (gl_linked_add_after, gl_linked_add_at): Likewise.
65657         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
65658         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
65659         (gl_tree_add_before, gl_tree_add_after): Likewise.
65660         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
65661         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
65662         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
65663
65664 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65665
65666         * lib/gl_oset.h: Use C comment style, not C++ comment style.
65667
65668 2006-11-06  Bruno Haible  <bruno@clisp.org>
65669
65670         * m4/inline.m4: New file.
65671         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
65672         * modules/list (Files): Add m4/inline.m4.
65673         * modules/oset (Files): Likewise.
65674
65675 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
65676
65677         * lib/idcache.c: Include <stddef.h>, for offsetof.
65678         (struct userid.name): Change from char * to a flexible array member.
65679         All uses changed.
65680         * modules/idcache (Depends-on): Add flexmember.
65681
65682         * MODULES.html.sh (Core language properties): New module flexmember.
65683         * modules/flexmember, m4/flexmember.m4: New files.
65684
65685         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
65686         inline functions that are identical with the old xnmalloc_inline,
65687         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
65688         that we can avoid some unnecessary integer multiplications and
65689         divisions in the common case where the element size is known at
65690         compile time.
65691         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
65692         needed.
65693         (xnboundedmalloc): Remove.
65694         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
65695         arguments, for consistency with rest of this header.
65696         (xcharalloc): Rewrite using XNMALLOC.
65697         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
65698         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
65699         versions have been moved to lib/xalloc.h and renamed to be the
65700         non-*_inline versions.
65701         (xmalloc, xrealloc): Implement without reference to the xnmalloc
65702         and xnrealloc functions, since those functions are now inline and
65703         now call us.
65704         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
65705         renaming described above.
65706         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
65707         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
65708         captures the dependency in AC_C_INLINE.
65709
65710         New module canonicalize-lgpl, proposed by Charles Wilson in
65711         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
65712         with a few small changes afterwards.
65713         * MODULES.html.sh (File system functions): New module
65714         canonicalize-lgpl.
65715         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
65716         and canonicalize_file_name.
65717         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
65718         * modules/canonicalize-lgpl: New files.
65719
65720 2006-11-05  Bruno Haible  <bruno@clisp.org>
65721
65722         * gnulib-tool (func_import, func_create_testdir): Create directories
65723         also for files in subdirectories of lib/.
65724
65725 2006-11-05  Bruno Haible  <bruno@clisp.org>
65726
65727         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
65728         ANSI C compliant.
65729
65730 2006-11-03  Bruno Haible  <bruno@clisp.org>
65731
65732         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
65733         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
65734         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
65735         (xnboundedmalloc): New inline function.
65736         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
65737         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
65738         xmalloc.
65739         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
65740         xmalloc.
65741         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
65742         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
65743         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
65744         xmalloc.
65745         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65746         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
65747         xmalloc.
65748         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
65749         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65750         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
65751         xmalloc.
65752         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
65753         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
65754         gl_tree_add_after): Use XMALLOC instead of xmalloc.
65755         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
65756         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
65757         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
65758         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
65759
65760 2006-11-03  Bruno Haible  <bruno@clisp.org>
65761
65762         * lib/c-ctype.h [C++]: Define functions without name mangling.
65763         * lib/fwriteerror.h [C++]: Likewise.
65764         * lib/gcd.h [C++]: Likewise.
65765         * lib/linebreak.h [C++]: Likewise.
65766
65767 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
65768
65769         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
65770         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
65771         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
65772         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65773         Check for functions and headers just once.
65774         Check for declaration of canonicalize_file_name.
65775         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
65776
65777 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65778
65779         * gnulib-tool (func_import): Fix typo in actioncmd.
65780
65781 2006-11-02  Bruno Haible  <bruno@clisp.org>
65782
65783         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
65784         newline sequence in the Makefile.am snippet as a space, like "make"
65785         does.
65786         Reported by Roger Persson <perrog@gmail.com>.
65787
65788 2006-11-01  Bruno Haible  <bruno@clisp.org>
65789
65790         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
65791         already declared in <string.h>.
65792         * lib/strcase.h (strncasecmp): Don't declare it if yes.
65793
65794 2006-11-01  Bruno Haible  <bruno@clisp.org>
65795
65796         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
65797         * lib/strcase.h: Include <string.h>.
65798         (strcasecmp): Define to rpl_strcasecmp here.
65799
65800 2006-11-01  Bruno Haible  <bruno@clisp.org>
65801
65802         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
65803
65804 2006-11-01  Eric Blake  <ebb9@byu.net>
65805
65806         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
65807
65808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
65809
65810 2006-10-29  Bruno Haible  <bruno@clisp.org>
65811
65812         Make it compile in C++ mode.
65813         * lib/full-write.c (full_rw): Add a cast.
65814
65815 2006-11-01  Bruno Haible  <bruno@clisp.org>
65816
65817         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
65818         be POSIX compliant.
65819         Reported by Roger Persson <perrog@gmail.com>.
65820
65821 2006-11-01  Eric Blake  <ebb9@byu.net>
65822
65823         * lib/getopt_.h: Fix comments.
65824
65825 2006-10-31  Eric Blake  <ebb9@byu.net>
65826
65827         * modules/tmpdir (Depends-on): Add sys_stat.
65828         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
65829         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
65830         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
65831         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
65832         tempname.
65833
65834 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
65835
65836         Avoid some C++ diagnostics reported by Bruno Haible.
65837         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
65838         xmalloc.
65839         (quotearg_alloc): Use xcharalloc rather than xmalloc.
65840         (struct slotvec): Move to top level.
65841         (quotearg_n_options): Rewrite to avoid xmalloc.
65842         * lib/xalloc.h (xcharalloc): New function.
65843         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
65844         [defined __cplusplus]: Add function template that provides result
65845         type propagation.  This part of the change is from Bruno Haible.
65846
65847 2006-10-29  Bruno Haible  <bruno@clisp.org>
65848
65849         Make it compile in C++ mode.
65850         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
65851         * lib/strnlen1.c (strnlen1): Cast memchr result.
65852         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
65853         * lib/clean-temp.c (string_equals, string_hash): Add casts.
65854         (create_temp_dir): Rename local variable 'template'.
65855         (compile_csharp_using_sscli): Add cast.
65856         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
65857         * lib/findprog.c (find_in_path): Likewise.
65858         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
65859         * lib/wait-process.c (register_slave_subprocess): Likewise.
65860
65861 2006-10-22  Bruno Haible  <bruno@clisp.org>
65862
65863         * modules/tsearch: New file.
65864         * lib/tsearch.h: New file.
65865         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
65866         * m4/tsearch.m4: New file.
65867         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
65868
65869 2006-10-29  Eric Blake  <ebb9@byu.net>
65870
65871         * lib/arcfour.c: Assume config.h.
65872         * lib/arctwo.c: Likewise.
65873         * lib/base64.c: Likewise.
65874         * lib/check-version.c: Likewise.
65875         * lib/crc.c: Likewise.
65876         * lib/des.c: Likewise.
65877         * lib/gc-gnulib.c: Likewise.
65878         * lib/gc-libgcrypt.c: Likewise.
65879         * lib/gc-pbkdf2-sha1.c: Likewise.
65880         * lib/getaddrinfo.c: Likewise.
65881         * lib/getdelim.c: Likewise.
65882         * lib/getline.c: Likewise.
65883         * lib/hmac-md5.c: Likewise.
65884         * lib/hmac-sha1.c: Likewise.
65885         * lib/iconvme.c: Likewise.
65886         * lib/md2.c: Likewise.
65887         * lib/md4.c: Likewise.
65888         * lib/memxor.c: Likewise.
65889         * lib/read-file.c: Likewise.
65890         * lib/readline.c: Likewise.
65891         * lib/rijndael-alg-fst.c: Likewise.
65892         * lib/rijndael-api-fst.c: Likewise.
65893         * lib/xgetdomainname.c: Likewise.
65894
65895 2006-10-28  Eric Blake  <ebb9@byu.net>
65896
65897         * lib/xstrndup.c: Assume config.h.
65898
65899 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
65900
65901         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
65902         stat-macros.h is now for our own macros, whereas stat_h is for
65903         macros in the <sys/stat.h> name space.
65904         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
65905         (STAT_MACROS_H): Remove.
65906         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
65907         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
65908         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
65909         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
65910         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
65911         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
65912         Move these macros to ...
65913         * lib/stat_.h: here.  Don't include stat-macros.h.
65914         * lib/canonicalize.c: Don't include stat-macros.h.
65915         * lib/chown.c: Likewise.
65916         * lib/euidaccess.c: Likewise.
65917         * lib/file-type.c: Likewise.
65918         * lib/filemode.c: Likewise.
65919         * lib/glob.c: Likewise.
65920         * lib/isapipe.c: Likewise.
65921         * lib/lchown.c: Likewise.
65922         * lib/lstat.c: Likewise.
65923         * lib/mkdir-p.c: Likewise.
65924         * lib/rmdir.c: Likewise.
65925         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
65926         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
65927         unless mkdir isn't declared, to speed up 'configure'.
65928         Always create sys/stat.h, since it's unlikely any real sys/stat.h
65929         would define all the S_* symbols.
65930         * modules/canonicalize (Depends-on):
65931         Depend on sys_stat, not stat-macros.
65932         * modules/chown: Likewise.
65933         * modules/euidaccess: Likewise.
65934         * modules/filemode: Likewise.
65935         * modules/file-type: Likewise.
65936         * modules/glob: Likewise.
65937         * modules/isapipe: Likewise.
65938         * modules/lchown: Likewise.
65939         * modules/lstat: Likewise.
65940         * modules/mkancesdirs: Likewise.
65941         * modules/rmdir: Likewise.
65942         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
65943         * modules/modechange: Likewise.
65944         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
65945         (configure.ac): Remove gl_STAT_MACROS.
65946         * modules/sys_stat (Depends-on): Remove stat-macros.
65947
65948 2006-10-27  Bruno Haible  <bruno@clisp.org>
65949
65950         * m4/signed.m4: Remove file.
65951         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
65952         invocation.
65953         * modules/vasnprintf (Files): Remove m4/signed.m4.
65954
65955 2006-10-27  Bruno Haible  <bruno@clisp.org>
65956
65957         Update to GNU gettext 0.16.
65958         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
65959         m4/inttypes-h.m4, m4/signed.m4.
65960         * m4/gettext.m4: Update to GNU gettext 0.16.
65961         * m4/intl.m4: New file, from GNU gettext.
65962         * m4/intldir.m4: New file, from GNU gettext.
65963         * config/srclist.txt: Update
65964
65965 2006-10-27  Eric Blake  <ebb9@byu.net>
65966
65967         * MODULES.html.sh: Document tempname.
65968         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
65969         dependencies.
65970         (Files): Move lib/tempname.c...
65971         * modules/tempname: ...to this new module.
65972         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
65973         (gl_PREREQ_TEMPNAME): Move...
65974         * m4/tempname.m4: ...to this new file.
65975         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
65976         * modules/sys_stat (Depends-on): Add stat-macros.
65977         * lib/stat_.h (includes): Pick up stat macros.
65978         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
65979         if stat macros are broken.
65980         * lib/tempname.c (includes): No need to include "stat-macros.h".
65981         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
65982         (direxists, __path_search) [!_LIBC]: Don't compile these in
65983         gnulib; the tmpdir module covers that.
65984         * lib/tempname.h: New file.
65985
65986 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
65987
65988         * COPYING: Explain how gnulib-tool converts licence headers.
65989         Almost all wording by Eric Blake.
65990
65991 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
65992
65993         * lib/mbchar.h (is_basic_table): Make read-only.
65994         * lib/mbchar.c (is_basic_table): Likewise.
65995         Reported by John Darrington.
65996
65997 2006-10-25  Bruno Haible  <bruno@clisp.org>
65998
65999         * lib/progname.h (set_program_name): Undefine before defining.
66000
66001 2006-10-25  Bruno Haible  <bruno@clisp.org>
66002
66003         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
66004         false for non-gcc C++ compilers.
66005         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
66006
66007 2006-10-24  Bruno Haible  <bruno@clisp.org>
66008
66009         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
66010         iconv implementations like Irix iconv.
66011
66012 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66013
66014         * modules/vararrays: New file.
66015         * m4/vararrays.m4: New file, taken from diffutils.
66016         * MODULES.html.sh: New module vararrays.
66017
66018 2006-10-24  Karl Berry  <karl@gnu.org>
66019
66020         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
66021         Don't call GNU Unix.
66022
66023 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66024
66025         * users.txt: Add Libtool.
66026
66027         Sync from Libtool:
66028
66029         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66030
66031         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
66032         to gnulib's policy of including config.h unconditionally.
66033
66034 2006-10-24  Bruno Haible  <bruno@clisp.org>
66035
66036         * modules/wcwidth (Files): Add m4/wint_t.m4.
66037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
66038         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
66039
66040 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66041
66042         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
66043         to pacify GCC with some -W flags enabled.  Problem reported by
66044         Bruno Haible.
66045
66046 2006-10-24  Jim Meyering  <jim@meyering.net>
66047
66048         * MODULES.html.sh: Remove uinttostr.  It's not a module.
66049         Reported by Karl Berry.
66050
66051 2006-10-23  Bruno Haible  <bruno@clisp.org>
66052
66053         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
66054
66055 2006-10-24  Bruno Haible  <bruno@clisp.org>
66056
66057         * lib/gl_list.h: Use C comment style, not C++ comment style.
66058
66059 2006-10-23  Eric Blake  <ebb9@byu.net>
66060
66061         * lib/getaddrinfo.c (includes): Add missing include.
66062
66063 2006-10-23  Bruno Haible  <bruno@clisp.org>
66064             Paul Eggert  <eggert@cs.ucla.edu>
66065
66066         Ability to rename obstack_free.
66067         * lib/obstack.h (__obstack_free): New macro. Declare instead of
66068         obstack_free.
66069         (obstack_free): Invoke the __obstack_free macro.
66070         * lib/obstack.c (obstack_free): Use __obstack_free macro.
66071
66072 2006-10-23  Bruno Haible  <bruno@clisp.org>
66073             Paul Eggert  <eggert@cs.ucla.edu>
66074
66075         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
66076         __argc, __argv from the declaration. (They are defined as macros on
66077         mingw.)
66078
66079 2006-10-22  Bruno Haible  <bruno@clisp.org>
66080
66081         * doc/gnulib-intro.texi: New file.
66082         * doc/gnulib.texi: Include it.
66083
66084 2006-10-21  Bruno Haible  <bruno@clisp.org>
66085
66086         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
66087         "Introduction", "Miscellanous Notes", "Particular Modules".
66088
66089 2006-10-21  Bruno Haible  <bruno@clisp.org>
66090
66091         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66092         Change mostlyclean-local rule to avoid sh syntax error from bash
66093         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
66094
66095 2006-10-23  Jim Meyering  <jim@meyering.net>
66096
66097         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
66098         in place of snprintf.
66099
66100         * modules/inttostr (Files): Add lib/uinttostr.c.
66101         * lib/uinttostr.c (inttostr): New file/function.
66102         * lib/inttostr.h (uinttostr): Declare.
66103         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
66104         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66105         Add uinttostr.
66106         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
66107
66108 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66109
66110         * lib/canonicalize.c (ELOOP): Define if not already defined.
66111         Problem reported by Bruno Haible in
66112         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
66113
66114 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
66115
66116         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
66117         Problem reported by Perry Smith and Ville Laurikari.
66118
66119         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
66120         uses.
66121
66122 2006-10-19  Bruno Haible  <bruno@clisp.org>
66123
66124         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
66125         for mingw.
66126
66127 2006-10-19  Bruno Haible  <bruno@clisp.org>
66128
66129         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
66130         Needed for mingw.
66131
66132 2006-10-19  Bruno Haible  <bruno@clisp.org>
66133
66134         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
66135
66136 2006-10-19  Bruno Haible  <bruno@clisp.org>
66137
66138         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
66139         it.
66140
66141 2006-10-19  Bruno Haible  <bruno@clisp.org>
66142
66143         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
66144         invocation.
66145
66146 2006-10-19  Bruno Haible  <bruno@clisp.org>
66147
66148         * gnulib-tool (func_create_testdir): Don't include ftruncate and
66149         mountlist by default.
66150
66151 2006-10-16  Bruno Haible  <bruno@clisp.org>
66152
66153         * lib/c-strstr.c: Include c-strstr.h.
66154
66155 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66156
66157         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
66158         in a slash.
66159
66160 2006-10-18  Bruno Haible  <bruno@clisp.org>
66161
66162         * lib/lock.h [C++]: Wrap definitions in extern "C".
66163
66164 2006-10-18  Bruno Haible  <bruno@clisp.org>
66165
66166         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
66167         gl_LIBOBJS list.
66168
66169 2006-10-18  Bruno Haible  <bruno@clisp.org>
66170
66171         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
66172
66173 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
66174
66175         * lib/xstrtol.h: Include gettext.h.
66176         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
66177         Problem reported by Eric Blake.
66178         * modules/xstrtol (Depends-on): Add gettext-h.
66179
66180 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
66181
66182         * lib/strftime.c (advance): New macro.
66183         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
66184         incomplete type, so you can't add 0 to it.  Problem and patch
66185         reported by Eelco Dolstra for dietlibc.
66186
66187 2006-10-18  Jim Meyering  <jim@meyering.net>
66188
66189         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
66190         type for a local, and rename it: s/up/user_proc/.
66191
66192 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
66193
66194         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
66195         READ_UTMP_USER_PROCESS.
66196         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
66197
66198 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
66199
66200         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
66201         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
66202
66203 2006-10-17  Eric Blake  <ebb9@byu.net>
66204
66205         * lib/sigprocmask.c (sigprocmask): Fix typo.
66206
66207         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
66208
66209         * modules/clean-temp (Makefile.am): Don't add to make output...
66210         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
66211         config.h.
66212
66213 2006-10-17  Bruno Haible  <bruno@clisp.org>
66214
66215         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
66216         differently if DEFAULT_TEXT_DOMAIN is set.
66217
66218 2006-10-16  Bruno Haible  <bruno@clisp.org>
66219
66220         * lib/clean-temp.c: Include fwriteerror.h.
66221
66222 2006-10-16  Bruno Haible  <bruno@clisp.org>
66223
66224         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
66225
66226 2006-10-16  Bruno Haible  <bruno@clisp.org>
66227
66228         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
66229         * lib/sigprocmask.h: Include <sys/types.h>.
66230         (sigset_t): Use the system's definition if present.
66231
66232 2006-10-17  Eric Blake  <ebb9@byu.net>
66233
66234         * lib/xvasprintf.c (includes): Assume config.h.
66235         * lib/xasprintf.c (includes): Likewise.
66236
66237 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
66238
66239         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
66240         at least as wide as intmax_t.
66241
66242 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
66243
66244         (Imported from Automake.)
66245         * build-aux/gnupload: Update to version 1.1 of directive file.
66246
66247 2006-10-16  Eric Blake  <ebb9@byu.net>
66248
66249         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
66250         match Automake 1.10a.
66251
66252 2006-10-14  Bruno Haible  <bruno@clisp.org>
66253
66254         * modules/sigprocmask: New file.
66255         * lib/sigprocmask.h: New file.
66256         * lib/sigprocmask.c: New file.
66257         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
66258         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
66259         request sigprocmask.o.
66260         (gl_PREREQ_SIGPROCMASK): New macro.
66261         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
66262         (Depends-on): Add sigprocmask.
66263         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
66264         gt_SIGNALBLOCKING. Test for 'raise' only once.
66265         * lib/fatal-signal.c: Include sigprocmask.h.
66266         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
66267         unblock_fatal_signals): Define always.
66268         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66269         sigprocmask.
66270
66271 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
66272
66273         Sync from Automake.
66274         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
66275         which incorrectly sets the mode of an existing destination
66276         directory.  In some cases the unpatched install-sh could do the
66277         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
66278         system.  We hope this is rare in practice, but it's clearly worth
66279         fixing.  Problem reported by Alex Unleashed in
66280         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
66281         Also, don't bother to check for -m bugs unless we're using -m;
66282         suggested by Stepan Kasal.
66283
66284 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66285
66286         Sync from Automake.
66287         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
66288         `-c' flag, so they appear at the same position as in %FASTDEP%
66289         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
66290         which ignores unknown options only after the first non-option.
66291         Bug report against M4 by Nelson H. F. Beebe.
66292
66293 2006-10-13  Jim Meyering  <jim@meyering.net>
66294
66295         Fix a bug in yesterday's change.
66296         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
66297         p->fts_statp->st_dev would be used uninitialized.
66298         Ensures that we always call fts_stat on the very first entry.
66299         Miklos Szeredi reported that find -xdev stopped working.
66300
66301 2006-10-12  Bruno Haible  <bruno@clisp.org>
66302
66303         * gnulib-tool (func_get_automake_snippet): Append an automatically
66304         computed EXTRA_DIST augmentation.
66305         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
66306         * modules/alloca-opt (Makefile.am): Likewise.
66307         * modules/allocsa (Makefile.am): Likewise.
66308         * modules/arcfour (Makefile.am): Likewise.
66309         * modules/arctwo (Makefile.am): Likewise.
66310         * modules/argmatch (Makefile.am): Likewise.
66311         * modules/argz (Makefile.am): Likewise.
66312         * modules/atexit (Makefile.am): Likewise.
66313         * modules/backupfile (Makefile.am): Likewise.
66314         * modules/byteswap (Makefile.am): Likewise.
66315         * modules/c-strtod (Makefile.am): Likewise.
66316         * modules/c-strtold (Makefile.am): Likewise.
66317         * modules/calloc (Makefile.am): Likewise.
66318         * modules/canon-host (Makefile.am): Likewise.
66319         * modules/canonicalize (Makefile.am): Likewise.
66320         * modules/chdir-long (Makefile.am): Likewise.
66321         * modules/chdir-safer (Makefile.am): Likewise.
66322         * modules/check-version (Makefile.am): Likewise.
66323         * modules/chown (Makefile.am): Likewise.
66324         * modules/cloexec (Makefile.am): Likewise.
66325         * modules/close-stream (Makefile.am): Likewise.
66326         * modules/closeout (Makefile.am): Likewise.
66327         * modules/crc (Makefile.am): Likewise.
66328         * modules/csharpexec (Makefile.am): Likewise.
66329         * modules/cycle-check (Makefile.am): Likewise.
66330         * modules/des (Makefile.am): Likewise.
66331         * modules/dev-ino (Makefile.am): Likewise.
66332         * modules/dirfd (Makefile.am): Likewise.
66333         * modules/dirname (Makefile.am): Likewise.
66334         * modules/dup2 (Makefile.am): Likewise.
66335         * modules/eealloc (Makefile.am): Likewise.
66336         * modules/error (Makefile.am): Likewise.
66337         * modules/euidaccess (Makefile.am): Likewise.
66338         * modules/exclude (Makefile.am): Likewise.
66339         * modules/exitfail (Makefile.am): Likewise.
66340         * modules/fcntl-safer (Makefile.am): Likewise.
66341         * modules/fcntl (Makefile.am): Likewise.
66342         * modules/file-type (Makefile.am): Likewise.
66343         * modules/fileblocks (Makefile.am): Likewise.
66344         * modules/filemode (Makefile.am): Likewise.
66345         * modules/filenamecat (Makefile.am): Likewise.
66346         * modules/fnmatch (Makefile.am): Likewise.
66347         * modules/fopen-safer (Makefile.am): Likewise.
66348         * modules/fpending (Makefile.am): Likewise.
66349         * modules/fprintftime (Makefile.am): Likewise.
66350         * modules/free (Makefile.am): Likewise.
66351         * modules/fsusage (Makefile.am): Likewise.
66352         * modules/ftruncate (Makefile.am): Likewise.
66353         * modules/fts (Makefile.am): Likewise.
66354         * modules/gc-arcfour (Makefile.am): Likewise.
66355         * modules/gc-des (Makefile.am): Likewise.
66356         * modules/gc-hmac-md5 (Makefile.am): Likewise.
66357         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
66358         * modules/gc-md4 (Makefile.am): Likewise.
66359         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66360         * modules/gc-sha1 (Makefile.am): Likewise.
66361         * modules/gc (Makefile.am): Likewise.
66362         * modules/getaddrinfo (Makefile.am): Likewise.
66363         * modules/getcwd (Makefile.am): Likewise.
66364         * modules/getdelim (Makefile.am): Likewise.
66365         * modules/getdomainname (Makefile.am): Likewise.
66366         * modules/getgroups (Makefile.am): Likewise.
66367         * modules/gethostname (Makefile.am): Likewise.
66368         * modules/gethrxtime (Makefile.am): Likewise.
66369         * modules/getline (Makefile.am): Likewise.
66370         * modules/getloadavg (Makefile.am): Likewise.
66371         * modules/getlogin_r (Makefile.am): Likewise.
66372         * modules/getndelim2 (Makefile.am): Likewise.
66373         * modules/getopt (Makefile.am): Likewise.
66374         * modules/getpagesize (Makefile.am): Likewise.
66375         * modules/getpass-gnu (Makefile.am): Likewise.
66376         * modules/getpass (Makefile.am): Likewise.
66377         * modules/getsubopt (Makefile.am): Likewise.
66378         * modules/gettime (Makefile.am): Likewise.
66379         * modules/gettimeofday (Makefile.am): Likewise.
66380         * modules/getugroups (Makefile.am): Likewise.
66381         * modules/getusershell (Makefile.am): Likewise.
66382         * modules/glob (Makefile.am): Likewise.
66383         * modules/group-member (Makefile.am): Likewise.
66384         * modules/hard-locale (Makefile.am): Likewise.
66385         * modules/hash (Makefile.am): Likewise.
66386         * modules/hmac-md5 (Makefile.am): Likewise.
66387         * modules/hmac-sha1 (Makefile.am): Likewise.
66388         * modules/human (Makefile.am): Likewise.
66389         * modules/idcache (Makefile.am): Likewise.
66390         * modules/imaxabs (Makefile.am): Likewise.
66391         * modules/imaxdiv (Makefile.am): Likewise.
66392         * modules/inet_ntop (Makefile.am): Likewise.
66393         * modules/inet_pton (Makefile.am): Likewise.
66394         * modules/intprops (Makefile.am): Likewise.
66395         * modules/inttostr (Makefile.am): Likewise.
66396         * modules/inttypes (Makefile.am): Likewise.
66397         * modules/isapipe (Makefile.am): Likewise.
66398         * modules/javaversion (Makefile.am): Likewise.
66399         * modules/lchmod (Makefile.am): Likewise.
66400         * modules/lchown (Makefile.am): Likewise.
66401         * modules/localcharset (Makefile.am): Likewise.
66402         * modules/long-options (Makefile.am): Likewise.
66403         * modules/lstat (Makefile.am): Likewise.
66404         * modules/malloc (Makefile.am): Likewise.
66405         * modules/mathl (Makefile.am): Likewise.
66406         * modules/mbchar (Makefile.am): Likewise.
66407         * modules/md2 (Makefile.am): Likewise.
66408         * modules/md4 (Makefile.am): Likewise.
66409         * modules/md5 (Makefile.am): Likewise.
66410         * modules/memcasecmp (Makefile.am): Likewise.
66411         * modules/memchr (Makefile.am): Likewise.
66412         * modules/memcmp (Makefile.am): Likewise.
66413         * modules/memcoll (Makefile.am): Likewise.
66414         * modules/memcpy (Makefile.am): Likewise.
66415         * modules/memmem (Makefile.am): Likewise.
66416         * modules/memmove (Makefile.am): Likewise.
66417         * modules/mempcpy (Makefile.am): Likewise.
66418         * modules/memrchr (Makefile.am): Likewise.
66419         * modules/memset (Makefile.am): Likewise.
66420         * modules/memxor (Makefile.am): Likewise.
66421         * modules/mkancesdirs (Makefile.am): Likewise.
66422         * modules/mkdir-p (Makefile.am): Likewise.
66423         * modules/mkdir (Makefile.am): Likewise.
66424         * modules/mkdtemp (Makefile.am): Likewise.
66425         * modules/mkstemp (Makefile.am): Likewise.
66426         * modules/mktime (Makefile.am): Likewise.
66427         * modules/modechange (Makefile.am): Likewise.
66428         * modules/mountlist (Makefile.am): Likewise.
66429         * modules/nanosleep (Makefile.am): Likewise.
66430         * modules/obstack (Makefile.am): Likewise.
66431         * modules/openat (Makefile.am): Likewise.
66432         * modules/pagealign_alloc (Makefile.am): Likewise.
66433         * modules/pathmax (Makefile.am): Likewise.
66434         * modules/physmem (Makefile.am): Likewise.
66435         * modules/poll (Makefile.am): Likewise.
66436         * modules/posixtm (Makefile.am): Likewise.
66437         * modules/posixver (Makefile.am): Likewise.
66438         * modules/putenv (Makefile.am): Likewise.
66439         * modules/quote (Makefile.am): Likewise.
66440         * modules/quotearg (Makefile.am): Likewise.
66441         * modules/raise (Makefile.am): Likewise.
66442         * modules/read-file (Makefile.am): Likewise.
66443         * modules/readline (Makefile.am): Likewise.
66444         * modules/readlink (Makefile.am): Likewise.
66445         * modules/readtokens (Makefile.am): Likewise.
66446         * modules/readutmp (Makefile.am): Likewise.
66447         * modules/realloc (Makefile.am): Likewise.
66448         * modules/regex (Makefile.am): Likewise.
66449         * modules/rename-dest-slash (Makefile.am): Likewise.
66450         * modules/rename (Makefile.am): Likewise.
66451         * modules/rijndael (Makefile.am): Likewise.
66452         * modules/rmdir (Makefile.am): Likewise.
66453         * modules/rpmatch (Makefile.am): Likewise.
66454         * modules/safe-read (Makefile.am): Likewise.
66455         * modules/safe-write (Makefile.am): Likewise.
66456         * modules/same-inode (Makefile.am): Likewise.
66457         * modules/same (Makefile.am): Likewise.
66458         * modules/save-cwd (Makefile.am): Likewise.
66459         * modules/savedir (Makefile.am): Likewise.
66460         * modules/setenv (Makefile.am): Likewise.
66461         * modules/settime (Makefile.am): Likewise.
66462         * modules/sha1 (Makefile.am): Likewise.
66463         * modules/sig2str (Makefile.am): Likewise.
66464         * modules/snprintf (Makefile.am): Likewise.
66465         * modules/stat-macros (Makefile.am): Likewise.
66466         * modules/stat-time (Makefile.am): Likewise.
66467         * modules/stdbool (Makefile.am): Likewise.
66468         * modules/stdint (Makefile.am): Likewise.
66469         * modules/stdlib-safer (Makefile.am): Likewise.
66470         * modules/stpcpy (Makefile.am): Likewise.
66471         * modules/stpncpy (Makefile.am): Likewise.
66472         * modules/strcase (Makefile.am): Likewise.
66473         * modules/strcasestr (Makefile.am): Likewise.
66474         * modules/strchrnul (Makefile.am): Likewise.
66475         * modules/strcspn (Makefile.am): Likewise.
66476         * modules/strdup (Makefile.am): Likewise.
66477         * modules/strerror (Makefile.am): Likewise.
66478         * modules/strftime (Makefile.am): Likewise.
66479         * modules/strndup (Makefile.am): Likewise.
66480         * modules/strnlen (Makefile.am): Likewise.
66481         * modules/strpbrk (Makefile.am): Likewise.
66482         * modules/strsep (Makefile.am): Likewise.
66483         * modules/strstr (Makefile.am): Likewise.
66484         * modules/strtod (Makefile.am): Likewise.
66485         * modules/strtoimax (Makefile.am): Likewise.
66486         * modules/strtok_r (Makefile.am): Likewise.
66487         * modules/strtol (Makefile.am): Likewise.
66488         * modules/strtoll (Makefile.am): Likewise.
66489         * modules/strtoul (Makefile.am): Likewise.
66490         * modules/strtoull (Makefile.am): Likewise.
66491         * modules/strtoumax (Makefile.am): Likewise.
66492         * modules/strverscmp (Makefile.am): Likewise.
66493         * modules/sys_socket (Makefile.am): Likewise.
66494         * modules/sys_stat (Makefile.am): Likewise.
66495         * modules/sysexits (Makefile.am): Likewise.
66496         * modules/time_r (Makefile.am): Likewise.
66497         * modules/timegm (Makefile.am): Likewise.
66498         * modules/timespec (Makefile.am): Likewise.
66499         * modules/tmpfile-safer (Makefile.am): Likewise.
66500         * modules/trim (Makefile.am): Likewise.
66501         * modules/unistd-safer (Makefile.am): Likewise.
66502         * modules/unlinkdir (Makefile.am): Likewise.
66503         * modules/unlocked-io (Makefile.am): Likewise.
66504         * modules/userspec (Makefile.am): Likewise.
66505         * modules/utime (Makefile.am): Likewise.
66506         * modules/utimecmp (Makefile.am): Likewise.
66507         * modules/utimens (Makefile.am): Likewise.
66508         * modules/vasnprintf (Makefile.am): Likewise.
66509         * modules/vasprintf (Makefile.am): Likewise.
66510         * modules/vsnprintf (Makefile.am): Likewise.
66511         * modules/xalloc (Makefile.am): Likewise.
66512         * modules/xgetcwd (Makefile.am): Likewise.
66513         * modules/xnanosleep (Makefile.am): Likewise.
66514         * modules/xreadlink (Makefile.am): Likewise.
66515         * modules/xstrtod (Makefile.am): Likewise.
66516         * modules/xstrtol (Makefile.am): Likewise.
66517         * modules/xstrtold (Makefile.am): Likewise.
66518         * modules/yesno (Makefile.am): Likewise.
66519         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
66520
66521 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66522
66523         * modules/error (Makefile.am): Distribute files through
66524         EXTRA_DIST, not lib_SOURCES.
66525
66526 2006-10-12  Eric Blake  <ebb9@byu.net>
66527
66528         * modules/error (Makefile.am): Distribute files in /lib.
66529         * modules/obstack (Makefile.am): Likewise.
66530
66531 2006-10-12  Bruno Haible  <bruno@clisp.org>
66532
66533         * modules/acl (Makefile.am): Distribute all files in lib/ through
66534         EXTRA_DIST.
66535         * modules/arcfour (Makefile.am): Likewise.
66536         * modules/arctwo (Makefile.am): Likewise.
66537         * modules/argmatch (Makefile.am): Likewise.
66538         * modules/argz (Makefile.am): Likewise.
66539         * modules/atexit (Makefile.am): Likewise.
66540         * modules/backupfile (Makefile.am): Likewise.
66541         * modules/c-strtod (Makefile.am): Likewise.
66542         * modules/c-strtold (Makefile.am): Likewise.
66543         * modules/calloc (Makefile.am): Likewise.
66544         * modules/canon-host (Makefile.am): Likewise.
66545         * modules/canonicalize (Makefile.am): Likewise.
66546         * modules/chdir-long (Makefile.am): Likewise.
66547         * modules/chdir-safer (Makefile.am): Likewise.
66548         * modules/check-version (Makefile.am): Likewise.
66549         * modules/chown (Makefile.am): Likewise.
66550         * modules/cloexec (Makefile.am): Likewise.
66551         * modules/close-stream (Makefile.am): Likewise.
66552         * modules/closeout (Makefile.am): Likewise.
66553         * modules/crc (Makefile.am): Likewise.
66554         * modules/cycle-check (Makefile.am): Likewise.
66555         * modules/des (Makefile.am): Likewise.
66556         * modules/dirfd (Makefile.am): Likewise.
66557         * modules/dirname (Makefile.am): Likewise.
66558         * modules/dup2 (Makefile.am): Likewise.
66559         * modules/euidaccess (Makefile.am): Likewise.
66560         * modules/exclude (Makefile.am): Likewise.
66561         * modules/exitfail (Makefile.am): Likewise.
66562         * modules/fcntl-safer (Makefile.am): Likewise.
66563         * modules/file-type (Makefile.am): Likewise.
66564         * modules/fileblocks (Makefile.am): Likewise.
66565         * modules/filemode (Makefile.am): Likewise.
66566         * modules/filenamecat (Makefile.am): Likewise.
66567         * modules/fnmatch (Makefile.am): Likewise.
66568         * modules/fopen-safer (Makefile.am): Likewise.
66569         * modules/fpending (Makefile.am): Likewise.
66570         * modules/fprintftime (Makefile.am): Likewise.
66571         * modules/free (Makefile.am): Likewise.
66572         * modules/fsusage (Makefile.am): Likewise.
66573         * modules/ftruncate (Makefile.am): Likewise.
66574         * modules/fts (Makefile.am): Likewise.
66575         * modules/gc (Makefile.am): Likewise.
66576         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
66577         * modules/getaddrinfo (Makefile.am): Likewise.
66578         * modules/getcwd (Makefile.am): Likewise.
66579         * modules/getdelim (Makefile.am): Likewise.
66580         * modules/getdomainname (Makefile.am): Likewise.
66581         * modules/getgroups (Makefile.am): Likewise.
66582         * modules/gethostname (Makefile.am): Likewise.
66583         * modules/gethrxtime (Makefile.am): Likewise.
66584         * modules/getline (Makefile.am): Likewise.
66585         * modules/getloadavg (Makefile.am): Likewise.
66586         * modules/getlogin_r (Makefile.am): Likewise.
66587         * modules/getopt (Makefile.am): Likewise.
66588         * modules/getpass (Makefile.am): Likewise.
66589         * modules/getpass-gnu (Makefile.am): Likewise.
66590         * modules/getsubopt (Makefile.am): Likewise.
66591         * modules/gettime (Makefile.am): Likewise.
66592         * modules/gettimeofday (Makefile.am): Likewise.
66593         * modules/getugroups (Makefile.am): Likewise.
66594         * modules/getusershell (Makefile.am): Likewise.
66595         * modules/glob (Makefile.am): Likewise.
66596         * modules/group-member (Makefile.am): Likewise.
66597         * modules/hard-locale (Makefile.am): Likewise.
66598         * modules/hash (Makefile.am): Likewise.
66599         * modules/hmac-md5 (Makefile.am): Likewise.
66600         * modules/hmac-sha1 (Makefile.am): Likewise.
66601         * modules/human (Makefile.am): Likewise.
66602         * modules/idcache (Makefile.am): Likewise.
66603         * modules/imaxabs (Makefile.am): Likewise.
66604         * modules/imaxdiv (Makefile.am): Likewise.
66605         * modules/inet_ntop (Makefile.am): Likewise.
66606         * modules/inet_pton (Makefile.am): Likewise.
66607         * modules/inttostr (Makefile.am): Likewise.
66608         * modules/isapipe (Makefile.am): Likewise.
66609         * modules/lchown (Makefile.am): Likewise.
66610         * modules/long-options (Makefile.am): Likewise.
66611         * modules/lstat (Makefile.am): Likewise.
66612         * modules/malloc (Makefile.am): Likewise.
66613         * modules/mathl (Makefile.am): Likewise.
66614         * modules/mbchar (Makefile.am): Likewise.
66615         * modules/md2 (Makefile.am): Likewise.
66616         * modules/md4 (Makefile.am): Likewise.
66617         * modules/md5 (Makefile.am): Likewise.
66618         * modules/memcasecmp (Makefile.am): Likewise.
66619         * modules/memchr (Makefile.am): Likewise.
66620         * modules/memcmp (Makefile.am): Likewise.
66621         * modules/memcoll (Makefile.am): Likewise.
66622         * modules/memcpy (Makefile.am): Likewise.
66623         * modules/memmem (Makefile.am): Likewise.
66624         * modules/memmove (Makefile.am): Likewise.
66625         * modules/mempcpy (Makefile.am): Likewise.
66626         * modules/memrchr (Makefile.am): Likewise.
66627         * modules/memset (Makefile.am): Likewise.
66628         * modules/memxor (Makefile.am): Likewise.
66629         * modules/mkancesdirs (Makefile.am): Likewise.
66630         * modules/mkdir (Makefile.am): Likewise.
66631         * modules/mkdir-p (Makefile.am): Likewise.
66632         * modules/mkdtemp (Makefile.am): Likewise.
66633         * modules/mkstemp (Makefile.am): Likewise.
66634         * modules/mktime (Makefile.am): Likewise.
66635         * modules/modechange (Makefile.am): Likewise.
66636         * modules/mountlist (Makefile.am): Likewise.
66637         * modules/nanosleep (Makefile.am): Likewise.
66638         * modules/openat (Makefile.am): Likewise.
66639         * modules/pagealign_alloc (Makefile.am): Likewise.
66640         * modules/physmem (Makefile.am): Likewise.
66641         * modules/poll (Makefile.am): Likewise.
66642         * modules/posixtm (Makefile.am): Likewise.
66643         * modules/posixver (Makefile.am): Likewise.
66644         * modules/putenv (Makefile.am): Likewise.
66645         * modules/quote (Makefile.am): Likewise.
66646         * modules/quotearg (Makefile.am): Likewise.
66647         * modules/raise (Makefile.am): Likewise.
66648         * modules/read-file (Makefile.am): Likewise.
66649         * modules/readline (Makefile.am): Likewise.
66650         * modules/readlink (Makefile.am): Likewise.
66651         * modules/readtokens (Makefile.am): Likewise.
66652         * modules/readutmp (Makefile.am): Likewise.
66653         * modules/realloc (Makefile.am): Likewise.
66654         * modules/regex (Makefile.am): Likewise.
66655         * modules/rename (Makefile.am): Likewise.
66656         * modules/rename-dest-slash (Makefile.am): Likewise.
66657         * modules/rijndael (Makefile.am): Likewise.
66658         * modules/rmdir (Makefile.am): Likewise.
66659         * modules/rpmatch (Makefile.am): Likewise.
66660         * modules/safe-read (Makefile.am): Likewise.
66661         * modules/safe-write (Makefile.am): Likewise.
66662         * modules/same (Makefile.am): Likewise.
66663         * modules/save-cwd (Makefile.am): Likewise.
66664         * modules/savedir (Makefile.am): Likewise.
66665         * modules/setenv (Makefile.am): Likewise.
66666         * modules/settime (Makefile.am): Likewise.
66667         * modules/sha1 (Makefile.am): Likewise.
66668         * modules/sig2str (Makefile.am): Likewise.
66669         * modules/snprintf (Makefile.am): Likewise.
66670         * modules/stdlib-safer (Makefile.am): Likewise.
66671         * modules/stpcpy (Makefile.am): Likewise.
66672         * modules/stpncpy (Makefile.am): Likewise.
66673         * modules/strcase (Makefile.am): Likewise.
66674         * modules/strcasestr (Makefile.am): Likewise.
66675         * modules/strchrnul (Makefile.am): Likewise.
66676         * modules/strcspn (Makefile.am): Likewise.
66677         * modules/strdup (Makefile.am): Likewise.
66678         * modules/strerror (Makefile.am): Likewise.
66679         * modules/strftime (Makefile.am): Likewise.
66680         * modules/strndup (Makefile.am): Likewise.
66681         * modules/strnlen (Makefile.am): Likewise.
66682         * modules/strpbrk (Makefile.am): Likewise.
66683         * modules/strsep (Makefile.am): Likewise.
66684         * modules/strstr (Makefile.am): Likewise.
66685         * modules/strtod (Makefile.am): Likewise.
66686         * modules/strtoimax (Makefile.am): Likewise.
66687         * modules/strtok_r (Makefile.am): Likewise.
66688         * modules/strtol (Makefile.am): Likewise.
66689         * modules/strtoll (Makefile.am): Likewise.
66690         * modules/strtoul (Makefile.am): Likewise.
66691         * modules/strtoull (Makefile.am): Likewise.
66692         * modules/strtoumax (Makefile.am): Likewise.
66693         * modules/strverscmp (Makefile.am): Likewise.
66694         * modules/time_r (Makefile.am): Likewise.
66695         * modules/timegm (Makefile.am): Likewise.
66696         * modules/tmpfile-safer (Makefile.am): Likewise.
66697         * modules/unistd-safer (Makefile.am): Likewise.
66698         * modules/unlinkdir (Makefile.am): Likewise.
66699         * modules/userspec (Makefile.am): Likewise.
66700         * modules/utime (Makefile.am): Likewise.
66701         * modules/utimecmp (Makefile.am): Likewise.
66702         * modules/utimens (Makefile.am): Likewise.
66703         * modules/vasnprintf (Makefile.am): Likewise.
66704         * modules/vasprintf (Makefile.am): Likewise.
66705         * modules/vsnprintf (Makefile.am): Likewise.
66706         * modules/xalloc (Makefile.am): Likewise.
66707         * modules/xgetcwd (Makefile.am): Likewise.
66708         * modules/xnanosleep (Makefile.am): Likewise.
66709         * modules/xreadlink (Makefile.am): Likewise.
66710         * modules/xstrtod (Makefile.am): Likewise.
66711         * modules/xstrtol (Makefile.am): Likewise.
66712         * modules/xstrtold (Makefile.am): Likewise.
66713         * modules/yesno (Makefile.am): Likewise.
66714
66715 2006-10-12  Jim Meyering  <jim@meyering.net>
66716
66717         * m4/getloadavg.m4: Revert the change below.
66718
66719         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
66720         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
66721         fail with a symlink, which is what coreutils' ./bootstrap now
66722         creates by default.
66723
66724 2006-10-12  Bruno Haible  <bruno@clisp.org>
66725
66726         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
66727         mingw.
66728         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
66729         MSVC and mingw explicitly.
66730
66731 2006-10-11  Simon Josefsson  <jas@extundo.com>
66732             Bruno Haible  <bruno@clisp.org>
66733
66734         Add support for multiple gnulib-tool invocations in the scope of a
66735         single configure.ac file.
66736         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
66737         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
66738         with the same contents as the _LIBADD variable.
66739         (func_emit_initmacro_start, func_emit_initmacro_end,
66740         func_emit_initmacro_done): New functions.
66741         (func_import, func_create_testdir): Invoke them. Allow the identifiers
66742         gl_LIBOBJS and gl_LTLIBOBJS.
66743
66744 2006-10-11  Bruno Haible  <bruno@clisp.org>
66745
66746         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
66747         (func_create_testdir): Don't create po/Makefile.am, don't invoke
66748         autoreconf. Instead, invoke autopoint explicitly but move back the
66749         *.m4 files from gnulib.
66750
66751 2006-10-11  Bruno Haible  <bruno@clisp.org>
66752
66753         * gnulib-tool (func_usage): Make module names after --create-testdir
66754         optional.
66755         (func_create_testdir): If no module was specified, use nearly all
66756         modules.
66757
66758 2006-10-12  Jim Meyering  <jim@meyering.net>
66759
66760         Big performance improvement for fts-based tools that use FTS_NOSTAT.
66761         Avoid spurious inode-mismatch problems on non-POSIX file systems.
66762         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
66763         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
66764         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
66765         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
66766         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
66767         (fts_set_stat_required): New function.
66768         (fts_open): Defer the calls to fts_stat, if possible or requested.
66769         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
66770         into fts_stat itself.
66771         (fts_read): Perform any required (deferred) fts_stat call.
66772         (fts_build): Likewise, for the directory we're about to open and read.
66773         In the readdir loop, carefully decide whether each entry will require
66774         an eventual call to fts_stat, using dirent.d_type info if available.
66775         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
66776         a command line argument into this function.  Update all callers.
66777         Map a return value of FTS_DOT to FTS_D for a command line argument.
66778         * modules/fts (Depends-on): Add d-type.  Alphabetize.
66779         Thanks to Miklos Szeredi for his tenacity and for the initial
66780         bug report about "find" failing on a FUSE-based file system.
66781
66782         * lib/fts.c (fts_open): Use consistent indentation.
66783
66784 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
66785
66786         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
66787         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
66788         reported by Jim Meyering.  All uses of cache variables renamed
66789         to match Autoconf's.
66790         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
66791         the other one.
66792
66793         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
66794         Fix misspelling in diagnostic.
66795
66796 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66797
66798         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
66799         defined.  Problem reported by Matthew Woehlke.
66800
66801         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
66802         Add support for Tandem NonStop R series.
66803         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
66804         Use new macro.
66805
66806         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
66807         (has_trailing_slash): Omit size arg; all callers changed.
66808         Omit 'inline', since it doesn't help performance and we'd
66809         need to configure it.
66810         Don't count //, ///, etc. as having a trailing slash.
66811         As a side effect, this removes a C99ism reported by Matthew Woehlke.
66812         (rpl_rename_dest_slash): On failure, use rename's errno rather
66813         than (in some cases) an incorrect or junk errno.
66814         Simplify code by removing need to compute length; this does
66815         cause it to make two passes instead of one over the file name,
66816         but it's worth it.
66817
66818         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
66819         change, since Autoconf's version may no longer be appropriate now
66820         that we are using CVS Autoconf's version.  Add support for Tandem.
66821
66822 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
66823             Bruno Haible  <bruno@clisp.org>
66824
66825         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
66826         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
66827         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
66828         gl_AC_TYPE_LONG_LONG.
66829
66830         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
66831         instead of HAVE_LONG_LONG.
66832         * lib/printf-args.c (printf_fetchargs): Likewise.
66833         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
66834         * lib/vasnprintf.c (VASNPRINTF): Likewise.
66835         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
66836         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
66837         gl_AC_TYPE_LONG_LONG.
66838
66839 2006-10-11  Bruno Haible  <bruno@clisp.org>
66840
66841         * m4/longlong.m4: Add comments.
66842         * m4/ulonglong.m4: Likewise.
66843
66844 2006-10-10  Bruno Haible  <bruno@clisp.org>
66845
66846         Make it possible to #define stpcpy, strdup to aliases.
66847         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
66848         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
66849
66850 2006-10-10  Bruno Haible  <bruno@clisp.org>
66851
66852         Make it possible to #define gcd to an alias.
66853         * lib/gcd.c: Include config.h.
66854
66855 2006-10-10  Bruno Haible  <bruno@clisp.org>
66856
66857         Make it possible to #define c_isascii to an alias.
66858         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
66859         defined. Undefine the macros before defining them, to avoid gcc
66860         warnings.
66861         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
66862         define NO_C_CTYPE_MACROS early.
66863
66864 2006-10-10  Bruno Haible  <bruno@clisp.org>
66865
66866         Make it possible to #define set_program_name to an alias.
66867         * lib/progname.c: Don't undefine set_program_name; instead, undefine
66868         ENABLE_RELOCATABLE early.
66869
66870 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
66871
66872         Port to Tandem NSK OSS, which has 64-bit signed int but at most
66873         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
66874         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
66875         More generally, don't assume that 64-bit signed int is available
66876         if unsigned int is, and vice versa.
66877         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
66878         unsigned symbols, not on their signed counterparts.
66879         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
66880         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
66881         (UINT64_C, UINTMAX_C):
66882         Likewise.
66883         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
66884         unsigned counterparts.
66885         (Have_long_long, Unsigned): New macros.
66886         (Int): Renamed from INT.
66887         (strtoimax): Use the new macros.
66888         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
66889         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
66890         * modules/inttypes (inttypes.h): Substitute
66891         HAVE_UNSIGNED_LONG_LONG_INT.
66892         * modules/stdint (stdint.h): Likewise.
66893         (Files): Add m4/ulonglong.m4.
66894
66895 2006-10-10  Bruno Haible  <bruno@clisp.org>
66896
66897         Fix a gcc -Wshadow warning.
66898         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
66899         to 'bucket'.
66900         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
66901         gl_linked_indexof_from_to): Likewise.
66902         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
66903         Likewise.
66904         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
66905         Likewise.
66906         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
66907         Reported by Eric Blake.
66908
66909 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
66910
66911         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
66912         for NetBSD.  Problem reported by Bruno Haible.
66913
66914 2006-10-09  Jim Meyering  <jim@meyering.net>
66915
66916         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
66917         Patch from Bruno Haible.
66918
66919 2006-10-09  Jim Meyering  <jim@meyering.net>
66920
66921         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
66922         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
66923         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
66924
66925 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66926
66927         Don't include <config.h> twice; this doesn't work in some cases,
66928         e.g., when config.h has "#define intmax_t long long int" and
66929         we include <config.h>, <inttypes.h>, <config.h> in that order.
66930         Problem reported by Matthew Woehlke in:
66931         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
66932         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
66933         * lib/fts-cycle.c: Don't include config.h.
66934         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
66935         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
66936         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
66937         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
66938         inttypes.h.
66939         * lib/xstrtoumax.c: Likewise.
66940         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
66941         __strtol and the like, so that this module is more like its siblings.
66942         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
66943         Remove; no longer needed now that we assume gnulib inttypes.h.
66944
66945 2006-10-08  Bruno Haible  <bruno@clisp.org>
66946
66947         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
66948         option.
66949
66950 2006-10-07  Jim Meyering  <jim@meyering.net>
66951
66952         * modules/inttypes (inttypes.h): Revert what seems to have been
66953         an inadvertent part of today's change: use "|", not "/" in the
66954         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
66955
66956 2006-10-07  Bruno Haible  <bruno@clisp.org>
66957
66958         * modules/sublist: New file.
66959
66960 2006-10-07  Bruno Haible  <bruno@clisp.org>
66961
66962         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
66963         * modules/argz (argz.h): Likewise.
66964         * modules/arpa_inet (arpa/inet.h): Likewise.
66965         * modules/byteswap (byteswap.h): Likewise.
66966         * modules/configmake (configmake.h): Likewise.
66967         * modules/fcntl (fcntl.h): Likewise.
66968         * modules/fnmatch (fnmatch.h): Likewise.
66969         * modules/getopt (getopt.h): Likewise.
66970         * modules/glob (glob.h): Likewise.
66971         * modules/inttypes (inttypes.h): Likewise.
66972         * modules/netinet_in (netinet/in.h): Likewise.
66973         * modules/poll (poll.h): Likewise.
66974         * modules/stdbool (stdbool.h): Likewise.
66975         * modules/stdint (stdint.h): Likewise.
66976         * modules/sys_select (sys/select.h): Likewise.
66977         * modules/sys_socket (sys/socket.h): Likewise.
66978         * modules/sys_stat (sys/stat.h): Likewise.
66979         * modules/sysexits (sysexits.h): Likewise.
66980         * modules/unistd (unistd.h): Likewise.
66981         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66982         Add a "DO NOT EDIT" comment to the generated file.
66983         (func_import): Likewise for gnulib-comp.m4.
66984
66985 2006-10-07  Bruno Haible  <bruno@clisp.org>
66986
66987         * lib/gl_sublist.h: New file.
66988         * lib/gl_sublist.c: New file.
66989
66990 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
66991
66992         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
66993         name (relative to the original working directory) and the file
66994         name component (relative to the temporary working directory).  All
66995         callers changed.
66996         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
66997         * lib/mkdir-p.c (make_dir_parents): Likewise.
66998         * lib/mkdir-p.h (make_dir_parents): Likewise.
66999
67000 2006-10-06  Eric Blake  <ebb9@byu.net>
67001
67002         Define several macros for use by the clean-temp module.
67003         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
67004         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
67005         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
67006
67007         * lib/clean-temp.h (close_stream_temp): New declaration.
67008         * lib/clean-temp.c (includes): Pull in headers according to what
67009         other modules are in use.
67010         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
67011
67012 2006-10-06  Bruno Haible  <bruno@clisp.org>
67013
67014         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
67015         instead of fopen, fwriteerror.
67016
67017 2006-10-06  Bruno Haible  <bruno@clisp.org>
67018
67019         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
67020         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
67021         int.
67022         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
67023         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
67024         Return an error indicator.
67025         Suggested by Eric Blake.
67026
67027 2006-10-06  Bruno Haible  <bruno@clisp.org>
67028
67029         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
67030         Reported by Eric Blake.
67031
67032 2006-10-06  Bruno Haible  <bruno@clisp.org>
67033
67034         * modules/closeout (Description): Mention stderr too.
67035
67036 2006-10-06  Bruno Haible  <bruno@clisp.org>
67037         and Paul Eggert  <eggert@cs.ucla.edu>
67038
67039         * lib/closeout.c (close_stdout): Also close stderr.
67040         * lib/closeout.h: Update comment.
67041
67042 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
67043
67044         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
67045         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
67046         * lib/dirchownmod.c: Include lchown.h.
67047         * lib/lchown.c: Don't include files that lchown.h now includes.
67048         Don't declare chown, since lchown.h now does that.
67049         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
67050         (lchown): Define to rpl_chown if lchown is declared but
67051         does not exist.  Declare using a prototype if lchown is not
67052         declared.  Add a copyright notice.
67053         * lib/mkstemp.h: Include <unistd.h>.
67054         * lib/openat.c: Include lchown.h.
67055
67056         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
67057         we now test for that separately.
67058         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
67059         rather than O_NOFOLLOW, when testing whether it's possible to
67060         avoid a race condition reliably.
67061         * lib/savewd.c (savewd_chdir): Likewise.
67062
67063         Remove macros that are no longer needed now that stdint.h is
67064         reliable.
67065         * lib/fsusage.c (UINTMAX_MAX): Remove.
67066         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
67067         * lib/utimecmp.c (SIZE_MAX): Remove.
67068
67069         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
67070
67071         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
67072         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
67073         O_NOATIME works.
67074
67075 2006-10-05  Bruno Haible  <bruno@clisp.org>
67076
67077         * lib/gl_list.h (gl_sortedlist_search_from_to,
67078         gl_sortedlist_indexof_from_to): New declarations.
67079         (gl_list_implementation): New fields sortedlist_search_from_to,
67080         sortedlist_indexof_from_to.
67081         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
67082         inline functions.
67083         * lib/gl_list.c (gl_sortedlist_search_from_to,
67084         gl_sortedlist_indexof_from_to): New functions.
67085         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
67086         function.
67087         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
67088         (gl_array_sortedlist_search_from_to): New function.
67089         (gl_array_list_implementation): Update.
67090         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
67091         function.
67092         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
67093         (gl_carray_sortedlist_search_from_to): New function.
67094         (gl_carray_list_implementation): Update.
67095         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
67096         gl_linked_sortedlist_indexof_from_to): New functions.
67097         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67098         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67099         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
67100         gl_tree_sortedlist_indexof_from_to): New functions.
67101         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67102         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67103         Update.
67104         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67105         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
67106         Update.
67107
67108 2006-10-05  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
67111         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
67112         (struct gl_list_implementation): Add fields search_from_to,
67113         indexof_from_to. Remove fields search, indexof.
67114         (gl_list_search): Use the search_from_to method.
67115         (gl_list_search_from, gl_list_search_from_to): New functions.
67116         (gl_list_indexof): Use the indexof_from_to method.
67117         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67118         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
67119         (gl_list_search_from, gl_list_search_from_to): New functions.
67120         (gl_list_indexof): Use the indexof_from_to method.
67121         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
67122         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
67123         gl_array_indexof. Add start_index, end_index arguments.
67124         (gl_array_search_from_to): Renamed from gl_array_search. Add
67125         start_index, end_index arguments.
67126         (gl_array_remove, gl_array_list_implementation): Update.
67127         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
67128         gl_carray_indexof. Add start_index, end_index arguments.
67129         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
67130         start_index, end_index arguments.
67131         (gl_carray_remove, gl_carray_list_implementation): Update.
67132         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
67133         gl_linked_search. Add start_index, end_index arguments.
67134         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
67135         start_index, end_index arguments.
67136         (gl_linked_remove): Update.
67137         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
67138         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
67139         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
67140         field to 'size_t'.
67141         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
67142         gl_tree_search. Add start_index, end_index arguments.
67143         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67144         start_index, end_index arguments.
67145         (gl_tree_remove): Update.
67146         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
67147         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
67148         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
67149         function.
67150         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
67151         gl_tree_search. Add start_index, end_index arguments.
67152         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
67153         start_index, end_index arguments.
67154         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
67155         Update.
67156         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
67157
67158 2006-10-05  Bruno Haible  <bruno@clisp.org>
67159
67160         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
67161
67162         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
67163         fwriteerror_temp): New declarations.
67164         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
67165         (descriptors): New variable.
67166         (cleanup): First, close the descriptors.
67167         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
67168         fclose_temp, fwriteerror_temp): New functions.
67169
67170 2006-10-04  Jim Meyering  <jim@meyering.net>
67171
67172         * lib/fts.c (fts_open): Tiny comment change.
67173
67174 2006-10-04  Bruno Haible  <bruno@clisp.org>
67175
67176         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
67177         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
67178         gl_LOCK_BODY.
67179         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
67180         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
67181         gl_LOCK_EARLY_BODY.
67182         (gl_LOCK): Require gl_LOCK_BODY.
67183
67184 2006-10-04  Bruno Haible  <bruno@clisp.org>
67185
67186         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
67187         (gl_oset_search_atleast): New declaration.
67188         (struct gl_oset_implementation): Add field 'search_atleast'.
67189         (gl_oset_search_atleast): New inline function.
67190         * lib/gl_oset.c (gl_oset_search_atleast): New function.
67191         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
67192         (gl_array_oset_implementation): Update.
67193         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
67194         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
67195         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
67196
67197 2006-10-04  Bruno Haible  <bruno@clisp.org>
67198
67199         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
67200
67201 2006-10-03  Bruno Haible  <bruno@clisp.org>
67202
67203         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
67204         from gl_avltreehash_list_implementation.
67205
67206 2006-10-03  Bruno Haible  <bruno@clisp.org>
67207
67208         * lib/gl_oset.c (gl_oset_add): Fix return type.
67209
67210 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
67211
67212         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
67213
67214 2006-10-02  Eric Blake  <ebb9@byu.net>
67215
67216         * modules/strnlen (Depends-on): Add extensions.
67217
67218 2006-10-02  Eric Blake  <ebb9@byu.net>
67219
67220         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
67221         definition in 2.60+.
67222
67223 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
67224
67225         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
67226         checks.
67227
67228 2006-10-02  Bruno Haible  <bruno@clisp.org>
67229
67230         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
67231         to the AUTOMAKE_OPTIONS.
67232         Reported by Jim Meyering.
67233
67234 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
67235
67236         Work around bug in Solaris 10 /proc file system:
67237         /proc/self/fd/NNN/.. isn't the parent directory of
67238         the directory whose file descriptor is NNN.  This needs to
67239         be worked around at run time, not compile time, since a
67240         program might be built on Solaris 8, where things work, and
67241         run on Solaris 10.
67242         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
67243         to use the following interface instead:
67244         (OPENAT_BUFFER_SIZE): New macro.
67245         (openat_proc_name): New function.
67246         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
67247         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
67248         Likewise.
67249         * lib/openat-proc.c: New file.
67250         * modules/openat (Files): Add lib/openat-proc.c.
67251         (Depends-on): Add same-inode, stdbool.
67252         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
67253
67254 2006-09-29  Bruno Haible  <bruno@clisp.org>
67255
67256         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
67257         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
67258         argument. Set stdout_closed before testing for ferror, not after.
67259         (fwriteerror, fwriteerror_no_ebadf): New functions.
67260
67261 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67262
67263         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
67264
67265 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
67266
67267         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
67268         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
67269
67270 2006-09-28  Jim Meyering  <jim@meyering.net>
67271
67272         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
67273         Include <unistd.h>.
67274
67275 2006-09-28  Bruno Haible  <bruno@clisp.org>
67276
67277         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
67278         * modules/linkedhash-list (Depends-on): Likewise.
67279         * modules/rbtreehash-list (Depends-on): Likewise.
67280
67281 2006-09-28  Bruno Haible  <bruno@clisp.org>
67282
67283         * lib/strndup.h: Simplify the redefinition of strndup.
67284         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
67285         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
67286
67287 2006-09-28  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
67290         * lib/gl_linkedhash_list.c: Likewise.
67291         * lib/gl_rbtreehash_list.c: Likewise.
67292
67293 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
67294
67295         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
67296         getaddrinfo.
67297
67298         * lib/__fpending.h: Don't include <stdio_ext.h> unless
67299         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
67300         it causes <stdio_ext.h> to cause a compile-time error.
67301         Problem reported by Nelson H. F. Beebe.
67302         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
67303         of HAVE_DECL___PENDING.
67304
67305         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
67306         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
67307         declaration.
67308
67309 2006-09-27  Jim Meyering  <jim@meyering.net>
67310
67311         This file could end up with a definition for a function
67312         named __strndup, rather than rpl_strndup on a system with
67313         incomplete weak_alias support.
67314         * lib/strndup.c (strndup): Rename from __strndup.
67315         Remove #defines that used to map __strndup to strndup.
67316         Don't use K&R prototypes.
67317         Remove LIBC-related code, since this file is not sync'd with glibc.
67318         * lib/strndup.h: Revamp, accordingly.
67319         * m4/strndup.m4: Modernize.
67320
67321 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
67322
67323         * modules/savewd (Depends-on): Add 'raise'.
67324         * lib/savewd.c: Include <signal.h>, for 'raise'.
67325
67326 2006-09-26  Jim Meyering  <jim@meyering.net>
67327
67328         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
67329         when we detect Darwin 8.7.0's acl_get_file bug.
67330         Rearrange to perform the new (below) run-test while $LIBS
67331         contains any acl-related library.  Set USE_ACL at the end.
67332         (gl_ACL_GET_FILE): New function.
67333
67334 2006-09-26  Eric Blake  <ebb9@byu.net>
67335
67336         * lib/verror.c: Include <config.h> unconditionally.
67337
67338 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
67339
67340         * modules/clock-time (Maintainer): Add self.
67341         * modules/getlogin_r (Depends-on): Add extensions.
67342
67343 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67344
67345         * modules/clock-time: New module.
67346         * modules/nanosleep (Depends-on): Add clock-time.
67347         * modules/gethrxtime (Depends-on): Likewise.
67348         * modules/gettime (Depends-on): Likewise.
67349         * modules/settime (Depends-on): Likewise.
67350
67351         * modules/fts-lgpl: Depend on openat.
67352         * modules/mkancesdirs: Depend on savewd.
67353         * modules/mkdir-p: Likewise.
67354
67355 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67356
67357         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
67358
67359         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
67360         `gl_have_arbitrary_file_name_length_limit' to
67361         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
67362         actually works between configure runs.
67363
67364 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67365             Bruno Haible  <bruno@clisp.org>
67366
67367         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
67368
67369 2006-09-25  Jim Meyering  <jim@meyering.net>
67370
67371         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
67372         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
67373
67374 2006-09-25  Eric Blake  <ebb9@byu.net>
67375
67376         * gnulib-tool (func_import, func_create_testdir): Fix typos in
67377         exec's in 2006-09-18 patch when shuffling fds.
67378
67379 2006-09-25  Bruno Haible  <bruno@clisp.org>
67380
67381         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
67382         Reported by Jim Meyering.
67383
67384 2006-09-24  Jim Meyering  <jim@meyering.net>
67385
67386         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
67387         compare a pointer against a literal "0".  That caused failures with
67388         at least HP-UX's hpcc.
67389
67390 2006-09-22  Simon Josefsson  <jas@extundo.com>
67391
67392         * modules/gc-sha1:
67393         * modules/gc-md4:
67394         * modules/gc-hmac-sha1:
67395         * modules/gc-hmac-md5:
67396         * modules/gc-des:
67397         * modules/gc-arcfour: Distribute more files.
67398
67399 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67400
67401         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
67402         (gl_linked_iterator_from_to): Initialize struct completely.
67403         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
67404         (gl_tree_iterator_from_to): Likewise
67405         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
67406         * lib/gl_array_list.c [lint] (gl_array_iterator)
67407         (gl_array_iterator_from_to): Likewise.
67408         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
67409         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
67410         (gl_carray_iterator_from_to): Likewise.
67411
67412         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
67413         * lib/md4.c (md4_process_block): Remove unused variable.
67414         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
67415         parentheses for clarity.
67416
67417 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67418
67419         * modules/bison-i18n (Depends-on): Add gettext.
67420
67421 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67422
67423         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
67424         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
67425         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
67426         also add missing comma that caused broken test.
67427         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
67428         stdlib.h, for `abort'.
67429         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
67430         variables.
67431         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
67432         include unistd.h if present, for `rmdir'.
67433         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
67434         variables.
67435         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
67436         in the process include standard headers for prototypes.
67437         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
67438         gets declared on GNU/Linux.
67439         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
67440         unistd.h, for `rmdir'.
67441         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
67442
67443         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
67444         always true.
67445         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
67446
67447         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
67448
67449 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67450
67451         * gnulib-tool (func_version): Create output all at once.  This
67452         may help avoid triggering unnecessary SIGPIPEs, and at any
67453         rate it doesn't hurt.
67454
67455 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67456             Bruno Haible  <bruno@clisp.org>
67457
67458         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
67459         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67460         * m4/signed.m4 (bh_C_SIGNED): Likewise.
67461
67462         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
67463         (gl_FUNC_VASPRINTF): Invoke it.
67464
67465 2006-09-22  Bruno Haible  <bruno@clisp.org>
67466
67467         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
67468         getloadavg.c as first argument.
67469
67470 2006-09-22  Bruno Haible  <bruno@clisp.org>
67471
67472         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
67473         at the beginning of the gl_INIT macro.
67474         * modules/getloadavg (configure.ac): Pass $gl_source_base to
67475         gl_GETLOADAVG.
67476
67477 2006-09-22  Bruno Haible  <bruno@clisp.org>
67478
67479         * gnulib-tool (func_create_megatestdir): Don't include the config-h
67480         module.
67481         Suggested by Ralf Wildenhues.
67482
67483 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67484
67485         Import this patch from libc:
67486
67487         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
67488
67489         * lib/regex_internal.c (re_string_reconstruct): Handle
67490         offset < pstr->valid_raw_len && pstr->offsets_needed case.
67491         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
67492         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
67493         re_string_context_at.
67494
67495         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
67496         now requires it.
67497         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
67498         gl_REGEX now does it for us.
67499         (gl_REGEX): Add test taken from
67500         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
67501
67502         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
67503         Check that large offsets work.  Modernize Autoconf usages.
67504         Prefer "yes" to mean a good thing rather than a bad.
67505         Don't put "#define mkstemp" in config.h, as this might interfere
67506         with standard system headers that "#define mkstemp mkstemp64".
67507
67508         * modules/mkstemp (Depends-on): Add extensions, so that
67509         mkstemp is visible on some platforms.
67510         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
67511         (Include): Change to "mkstemp.h" from <stdlib.h>.
67512         (Files): Add mkstemp.h.
67513
67514         * lib/mkstemp.h: New file, since some standard headers
67515         #define mkstemp.
67516         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
67517         Include "mkstemp.h".
67518         Make the _LIBC code resemble glibc original more,
67519         e.g., use K&R style.
67520         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
67521         (mkstemp): Remove, since mkstemp.h does this for us.
67522         * lib/stdlib--.h: Include mkstemp.h.
67523
67524         Import this patch from libc:
67525
67526         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67527
67528         * lib/tempname.c (__gen_tempname): Change attempts_min
67529         into a macro.  Use preprocessor to decide how to initialize
67530         attempts [Coverity CID 67].
67531
67532 2006-09-20  Bruno Haible  <bruno@clisp.org>
67533
67534         * lib/mkdtemp.c: Import from libc.
67535         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
67536                 * sysdeps/posix/tempname.c (__gen_tempname): Change
67537                 attempts_min into a macro.  Use preprocessor to decide how to
67538                 initialize attempts [Coverity CID 67].
67539         2001-11-27  Paul Eggert  <eggert@twinsun.com>
67540                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
67541                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
67542
67543 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67544
67545         * gnulib-tool (func_exit): New function, to allow to pass the
67546         exit status portably through the trap.  Use everywhere.
67547         (--help, --version): Signal a write error.
67548         (trap): catch SIGPIPE, for write errors.
67549         Exit at the end of the trap, with the correct exit status.
67550
67551 2006-09-19  Karl Berry  <karl@gnu.org>
67552
67553         * doc/gnulib.texi: note about the license texinfo files.
67554
67555 2006-09-19  Eric Blake  <ebb9@byu.net>
67556
67557         * gnulib-tool: Avoid space-tab.
67558
67559 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67560
67561         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
67562         that prevented coreutils 6.1 from building.  Problem reported
67563         by Petter Reinholdtsen.
67564
67565 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
67566
67567         * gnulib-tool (avoidlist): Fix typo that broke options like
67568         --avoid=lock that are used by coreutils bootstrap.
67569
67570 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
67571
67572         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
67573         more systematically.
67574
67575 2006-09-18  Jim Meyering  <jim@meyering.net>
67576
67577         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
67578
67579 2006-09-18  Bruno Haible  <bruno@clisp.org>
67580
67581         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
67582
67583 2006-09-18  Bruno Haible  <bruno@clisp.org>
67584
67585         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
67586         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
67587         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
67588         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
67589         * m4/gettext.m4: Require autoconf >= 2.52.
67590         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
67591         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
67592         of gl_cv_header_inttypes_h.
67593
67594 2006-09-18  Bruno Haible  <bruno@clisp.org>
67595
67596         * lib/javaversion.c: Include configmake.h.
67597
67598 2006-09-18  Bruno Haible  <bruno@clisp.org>
67599
67600         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
67601         avoid that the while loops be executed in a subshell.
67602
67603 2006-09-18  Bruno Haible  <bruno@clisp.org>
67604
67605         * MODULES.html.sh (func_module): Break long lines.
67606         Suggested by Bruce Korb <bkorb@gnu.org>.
67607
67608 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67609
67610         Speed up by a factor of 1.12.
67611         * gnulib-tool (nl): New variable.
67612         (func_import): Rewrite include directive extraction to only read each
67613         directive once.
67614
67615 2006-09-17  Bruno Haible  <bruno@clisp.org>
67616
67617         * modules/javaversion (Makefile.am): Remove DEFS setting.
67618         (Depends-on): Add configmake, for PKGDATADIR definition.
67619
67620 2006-09-17  Bruno Haible  <bruno@clisp.org>
67621
67622         * gnulib-tool (func_create_testdir): Rewrite all files at once.
67623
67624 2006-09-17  Bruno Haible  <bruno@clisp.org>
67625
67626         * gnulib-tool (func_append): New function, stolen from libtool.m4.
67627         (func_modules_transitive_closure, func_modules_add_dummy,
67628         func_modules_to_filelist, func_import, func_create_testdir,
67629         func_create_megatestdir, ...): Use it wherever possible.
67630         Suggested by Ralf Wildenhues.
67631
67632 2006-09-16  Karl Berry  <karl@gnu.org>
67633
67634         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
67635         to avoid sectioning errors.
67636         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
67637         [ifinfo]: blank line after @center-ed titles.
67638         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
67639         Spell FSF address consistently with others.
67640         (These changes approved by rms.)
67641
67642 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67643
67644         Speed up by a factor of 1.61.
67645         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
67646         already checked module names again.
67647
67648 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67649
67650         Speed up by a factor of 1.13.
67651         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
67652         for new_files, and the input to func_add_or_update.
67653
67654 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67655
67656         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
67657         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
67658
67659 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67660
67661         * modules/mkancesdirs (Depends-on): Add fcntl.
67662         * modules/savewd: New file.
67663         * MODULES.html.sh (File system functions): Add savewd.
67664
67665         * modules/configmake (Makefile.am): Add support for the
67666         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
67667
67668 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67669
67670         * m4/savewd.m4: New file.
67671
67672 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
67673
67674         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
67675         (dirchownmod): New arg FD.  All callers changed.
67676         Use FD rather than opening the directory ourself, as opening is
67677         now the caller's responsibility.
67678         * lib/dirchownmod.h: Likewise.
67679         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
67680         hosts that require <sys/types.h> before <sys/stat.h>.  Include
67681         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
67682         (test_dir): Remove.
67683         (mkancesdirs): Return length of prefix of FILE that has already
67684         been made, or -2 if there is a child doing the work.  Redo
67685         algorithm so that it is O(N) rather than O(N**2).  Optimize away
67686         ".", and treat ".." specially since it might stray back into
67687         already-created areas.  Use a subprocess if necessary.  New arg
67688         WD; all users changed.  MAKE_DIR function should now return 1
67689         if it creates a directory that is not readable.  Return -2 if
67690         a child process is spun off.
67691         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
67692         Adjust signature to match code.
67693         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
67694         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
67695         all users changed.
67696         * lib/savewd.c, lib/savewd.h: New files.
67697
67698 2006-09-15  Jim Meyering  <jim@meyering.net>
67699
67700         * modules/rename-dest-slash: New module.
67701         * MODULES.html.sh (posix_compat): Add it here.
67702
67703         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
67704
67705 2006-09-15  Jim Meyering  <jim@meyering.net>
67706
67707         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
67708         file.
67709
67710         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
67711
67712 2006-09-15  Jim Meyering  <jim@meyering.net>
67713
67714         * lib/rename-dest-slash.c (has_trailing_slash): Use
67715         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
67716         (rpl_rename_dest_slash): Perform the cheaper trailing slash
67717         test before testing whether SRC is a directory.
67718         Suggestions from Bruno Haible.
67719
67720         Avoid a warning about an unused variable.
67721         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
67722         into the #ifdef block where it's used.
67723
67724         * lib/rename-dest-slash.c: New file.
67725
67726 2006-09-14  Bruno Haible  <bruno@clisp.org>
67727
67728         * lib/allocsa.c: Include <config.h> unconditionally.
67729         * lib/asnprintf.c: Likewise.
67730         * lib/asprintf.c: Likewise.
67731         * lib/c-strcasecmp.c: Likewise.
67732         * lib/c-strcasestr.c: Likewise.
67733         * lib/c-strncasecmp.c: Likewise.
67734         * lib/c-strstr.c: Likewise.
67735         * lib/classpath.c: Likewise.
67736         * lib/clean-temp.c: Likewise.
67737         * lib/concatpath.c: Likewise.
67738         * lib/copy-file.c: Likewise.
67739         * lib/csharpcomp.c: Likewise.
67740         * lib/csharpexec.c: Likewise.
67741         * lib/execute.c: Likewise.
67742         * lib/fatal-signal.c: Likewise.
67743         * lib/findprog.c: Likewise.
67744         * lib/fwriteerror.c: Likewise.
67745         * lib/gl_array_list.c: Likewise.
67746         * lib/gl_array_oset.c: Likewise.
67747         * lib/gl_avltree_list.c: Likewise.
67748         * lib/gl_avltree_oset.c: Likewise.
67749         * lib/gl_avltreehash_list.c: Likewise.
67750         * lib/gl_carray_list.c: Likewise.
67751         * lib/gl_linked_list.c: Likewise.
67752         * lib/gl_linkedhash_list.c: Likewise.
67753         * lib/gl_list.c: Likewise.
67754         * lib/gl_oset.c: Likewise.
67755         * lib/gl_rbtree_list.c: Likewise.
67756         * lib/gl_rbtree_oset.c: Likewise.
67757         * lib/gl_rbtreehash_list.c: Likewise.
67758         * lib/imaxabs.c: Likewise.
67759         * lib/imaxdiv.c: Likewise.
67760         * lib/javacomp.c: Likewise.
67761         * lib/javaexec.c: Likewise.
67762         * lib/javaversion.c: Likewise.
67763         * lib/linebreak.c: Likewise.
67764         * lib/localcharset.c: Likewise.
67765         * lib/lock.c: Likewise.
67766         * lib/mbchar.c: Likewise.
67767         * lib/mbswidth.c: Likewise.
67768         * lib/mkdtemp.c: Likewise.
67769         * lib/pipe.c: Likewise.
67770         * lib/printf-args.c: Likewise.
67771         * lib/printf-parse.c: Likewise.
67772         * lib/progname.c: Likewise.
67773         * lib/progreloc.c: Likewise.
67774         * lib/readlink.c: Likewise.
67775         * lib/sh-quote.c: Likewise.
67776         * lib/stpcpy.c: Likewise.
67777         * lib/stpncpy.c: Likewise.
67778         * lib/strcasecmp.c: Likewise.
67779         * lib/strcasestr.c: Likewise.
67780         * lib/strcspn.c: Likewise.
67781         * lib/striconv.c: Likewise.
67782         * lib/strncasecmp.c: Likewise.
67783         * lib/strnlen1.c: Likewise.
67784         * lib/strstr.c: Likewise.
67785         * lib/strtok_r.c: Likewise.
67786         * lib/tls.c: Likewise.
67787         * lib/tmpdir.c: Likewise.
67788         * lib/unicodeio.c: Likewise.
67789         * lib/unsetenv.c: Likewise.
67790         * lib/vasnprintf.c: Likewise.
67791         * lib/vasprintf.c: Likewise.
67792         * lib/wait-process.c: Likewise.
67793         * lib/xallocsa.c: Likewise.
67794         * lib/xsetenv.c: Likewise.
67795         * lib/xstriconv.c: Likewise.
67796
67797 2006-09-13  Simon Josefsson  <jas@extundo.com>
67798
67799         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
67800         that internally, suggested by Ralf Wildenhues
67801         <Ralf.Wildenhues@gmx.de>.
67802
67803 2006-09-13  Simon Josefsson  <jas@extundo.com>
67804
67805         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
67806         @LIBOBJS@.
67807         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67808
67809 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67810
67811         * lib/_fpending.c: Include <config.h> unconditionally, since we no
67812         longer worry about uses that don't define HAVE_CONFIG_H.
67813         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
67814         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
67815         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
67816         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
67817         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
67818         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
67819         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
67820         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
67821         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
67822         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
67823         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
67824         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
67825         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
67826         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
67827         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
67828         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
67829         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
67830         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
67831         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
67832         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
67833         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
67834         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
67835         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
67836         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
67837         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
67838         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
67839         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
67840         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
67841         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
67842         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
67843         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
67844         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
67845         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
67846         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
67847         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
67848         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
67849         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
67850         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
67851         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
67852         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
67853         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
67854         Likewise.
67855
67856 2006-09-13  Eric Blake  <ebb9@byu.net>
67857
67858         * lib/getopt.c: Fix typo in last commit.
67859
67860 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67861
67862         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
67863         dgettext.
67864
67865 2006-09-12  Jim Meyering  <jim@meyering.net>
67866
67867         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
67868         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
67869         Reported by Nelson H. F. Beebe.
67870
67871 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67872
67873         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
67874         program_invocation_name and program_invocation_short_name are
67875         initialized.
67876         * lib/argp-namefrob.h: Move declarations of program_invocation_name
67877         and program_invocation_short_name to argp.h, so they are visible
67878         to user programs.
67879         * lib/argp.h: Likewise
67880
67881 2006-09-10  Bruno Haible  <bruno@clisp.org>
67882
67883         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67884         m4/inttypes_h.m4, m4/uintmax_t.m4.
67885
67886 2006-09-10  Bruno Haible  <bruno@clisp.org>
67887
67888         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
67889         gl_AC_TYPE_UINTMAX_T.
67890
67891 2006-09-10  Bruno Haible  <bruno@clisp.org>
67892
67893         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
67894
67895 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67896
67897         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
67898         convention.  Text proposed by Bruno Haible.
67899         (struct argp_option): Document the use of N_() wrappers.
67900
67901         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
67902         '\v', and translate the two parts separately, instead of feeding
67903         the whole string to gettext.  This allows to exclude
67904         '\v' from the strings visible to the translator by writing doc
67905         strings as N_("..") "\v" N_("..").
67906
67907 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
67908
67909         * config/srclist.txt: Undo latest change; the bug was fixed.
67910
67911 2006-09-09  Bruno Haible  <bruno@clisp.org>
67912
67913         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
67914         assignments if building a library without libtool.
67915         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
67916         in func_emit_lib_Makefile_am.
67917         (func_import): When building a static library libfoo.a, arrange to
67918         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
67919         (func_create_testdir): Likewise.
67920         * modules/gc (configure.ac, Makefile.am): If building statically,
67921         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
67922         * modules/iconvme (configure.ac, Makefile.am): Likewise.
67923         * modules/striconv (configure.ac, Makefile.am): Likewise.
67924         Based on a suggestion by Ralf Wildenhues.
67925
67926 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67927
67928         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67929         Check for unistd.h too, since Autoconf doesn't assume POSIX.
67930         Also:
67931
67932         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67933         Add year_2050_test to catch glibc bug 2821
67934         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67935
67936         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67937         Prefer #ifdef to #if.
67938
67939         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
67940         Return from 'main' instead of calling 'exit'.
67941
67942 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67943
67944         * lib/mktime.c (guess_time_tm): Fix bug where mktime
67945         returned the maximum time_t value rather than (time_t) -1.
67946         Problem originally reported by William Bardwell
67947         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
67948
67949         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67950         Moved to here ...
67951         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
67952         ... from here.
67953
67954 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
67955
67956         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
67957         2821 is fixed.
67958
67959 2006-09-08  Jim Meyering  <jim@meyering.net>
67960
67961         Don't make generated files read-only.  That would bother too many
67962         people.  However, do retain the ability to work when targets are
67963         read-only: remove the destination and temporary files before writing
67964         them (when generated via sed or echo), or by using the -f option for
67965         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
67966         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67967         * modules/byteswap, modules/configmake, modules/fcntl:
67968         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67969         * modules/localcharset, modules/netinet_in, modules/poll:
67970         * modules/stdbool, modules/stdint, modules/sys_select:
67971         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67972
67973 2006-09-08  Jim Meyering  <jim@meyering.net>
67974
67975         Avoid new build failure on FreeBSD 6.0.
67976         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
67977         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
67978         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
67979
67980 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67981
67982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
67983
67984 2006-09-07  Jim Meyering  <jim@meyering.net>
67985
67986         Fix global typo in last change: use chmod u-w, not chmod u-x.
67987         Spotted by Paul Eggert and Bruce Korb.
67988         * modules/alloca-opt, modules/argz, modules/arpa_inet:
67989         * modules/byteswap, modules/configmake, modules/fcntl:
67990         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
67991         * modules/localcharset, modules/netinet_in, modules/poll:
67992         * modules/stdbool, modules/stdint, modules/sys_select:
67993         * modules/sys_socket, modules/sys_stat, modules/sysexits:
67994
67995 2006-09-06  Jim Meyering  <jim@meyering.net>
67996
67997         Make generated files be read-only.
67998         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
67999         Ensure that each generated file is now read-only.
68000         * modules/argz: Likewise.
68001         * modules/arpa_inet: Likewise.
68002         * modules/byteswap: Likewise.
68003         * modules/configmake: Likewise.
68004         * modules/fcntl: Likewise.
68005         * modules/fnmatch: Likewise.
68006         * modules/getopt: Likewise.
68007         * modules/glob: Likewise.
68008         * modules/inttypes: Likewise.
68009         * modules/netinet_in: Likewise.
68010         * modules/poll: Likewise.
68011         * modules/stdbool: Likewise.
68012         * modules/stdint: Likewise.
68013         * modules/sys_select: Likewise.
68014         * modules/sys_socket: Likewise.
68015         * modules/sys_stat: Likewise.
68016         * modules/sysexits: Likewise.
68017         * modules/localcharset: Same as above, but continue using temporary
68018         file named "t-$@" (why different?) rather than the "$@-t" used
68019         everywhere else.
68020
68021         * modules/sysexits (Makefile.am): Replace literal occurrences
68022         of "sysexit.h" more readable, and more consistent, "$@".
68023
68024 2006-09-06  Bruno Haible  <bruno@clisp.org>
68025
68026         * modules/striconv: New file.
68027         * modules/xstriconv: New file.
68028         * MODULES.html.sh (Internationalization functions): Add striconv,
68029         xstriconv.
68030
68031 2006-09-06  Bruno Haible  <bruno@clisp.org>
68032
68033         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
68034         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
68035         not using libtool correctly.
68036
68037 2006-09-06  Bruno Haible  <bruno@clisp.org>
68038
68039         * lib/striconv.h: New file.
68040         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
68041         iconvstring.c.
68042         * lib/xstriconv.h: New file.
68043         * lib/xstriconv.c: New file.
68044
68045 2006-09-06  Bruno Haible  <bruno@clisp.org>
68046
68047         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68048         lib_..._LDFLAGS.
68049
68050 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68051
68052         * lib/argz_.h: Sync from Libtool.
68053
68054         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
68055                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
68056
68057         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
68058
68059 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68060
68061         * modules/trim: New file.
68062
68063 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
68064
68065         * lib/trim.h: New file.
68066         * lib/trim.c: New file.
68067
68068 2006-09-05  Bruno Haible  <bruno@clisp.org>
68069
68070         * MODULES.html.sh (String handling): Add trim.
68071
68072 2006-09-04  Karl Berry  <karl@gnu.org>
68073
68074         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
68075         until next release.
68076
68077 2006-09-03  Bruno Haible  <bruno@clisp.org>
68078
68079         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
68080         correctly.
68081
68082 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68083
68084         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
68085         not gl_GETLOADAVG.  Omit unneeded semicolons.
68086         Problems reported by Ralf Wildenhues in
68087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68088         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
68089         at the end, which is the usual gnulib style.
68090
68091         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
68092         of doing all the work ourselves.
68093         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
68094         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
68095
68096 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68097
68098         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
68099         Problem reported by Ralf Wildenhues in
68100         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
68101
68102         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
68103         HAVE_STRUCT_STATFS_F_FSTYPENAME.
68104
68105 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68106
68107         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
68108         yesterday's patch by changing test -n to test -z.
68109
68110 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68111
68112         * modules/getloadavg (Files): Add m4/getloadavg.m4.
68113         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
68114         the former is now obsolescent.
68115
68116         * modules/chdir-long (Depends-on): Add fcntl.
68117
68118 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68119
68120         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
68121         obsolescent, and programs should use gnulib instead.
68122         * m4/getloadavg.m4: New file, with contents taken from Autoconf
68123         but with prefixes changed.
68124
68125 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
68126
68127         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
68128         or stdbool.h, because they might not exist while configuring.
68129
68130         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
68131         Don't include unistd.h or limits.h; not needed, since chdir-long.h
68132         does that for us.
68133         (O_DIRECTORY): Remove.
68134
68135 2006-08-31  Eric Blake  <ebb9@byu.net>
68136
68137         * gnulib-tool: Don't let emacs change spaces to TAB.
68138
68139 2006-08-31  Bruno Haible  <bruno@clisp.org>
68140
68141         * gnulib-tool: When calling func_import more than once, do it in a
68142         subshell.
68143         Reported by Eric Blake <ebb9@byu.net>.
68144
68145 2006-08-31  Bruno Haible  <bruno@clisp.org>
68146
68147         * gnulib-tool (nl): Remove variable.
68148         (sed_transform_lib_file): Use more robust test for config-h module.
68149         (func_import): Fix typo in 2006-08-25 patch.
68150
68151 2006-08-31  Bruno Haible  <bruno@clisp.org>
68152
68153         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
68154         specified, augment Makefile.am variables instead of assigning them.
68155
68156 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68157
68158         Work around a bug in both the Linux and SunOS 64-bit kernels:
68159         nanosleep mishandles sleeps for longer than 2**31 seconds.
68160         Problem reported by Frank v Waveren in
68161         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68162         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
68163         Check for nanosleep bug.
68164         (LIB_NANOSLEEP): Append clock_gettime library if needed.
68165
68166 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68167
68168         Work around a bug in both the Linux and SunOS 64-bit kernels:
68169         nanosleep mishandles sleeps for longer than 2**31 seconds.
68170         Problem reported by Frank v Waveren in
68171         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
68172         * lib/nanosleep.c (BILLION): New constant.
68173         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
68174         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
68175         implementation.
68176
68177 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68178
68179         * modules/nanosleep (Depends-on): Add gettime.
68180
68181 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
68182         and Simon Josefsson  <jas@extundo.com>
68183         and Oskar Liljeblad  <oskar@osk.mine.nu>
68184
68185         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
68186         * gnulib-tool (func_import): New license type 'unmodifiable license
68187         text'.
68188         * modules/fdl: Use it.  Longer description.
68189         * module/gpl, module/lgpl: New files.
68190
68191 2006-08-30  Jim Meyering  <jim@meyering.net>
68192
68193         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
68194         shadowing the parameter.
68195
68196 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68197
68198         Sync from Libtool:
68199
68200         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68201
68202         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
68203         sharing with gnulib.  Report by Eric Blake.
68204
68205 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68206
68207         * modules/isapipe: New file.
68208         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
68209
68210 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68211
68212         * modules/configmake (Makefile.am): Add a comment, and omit
68213         the CONFIGMAKE_ prefix from generated macro names.  Suggested
68214         by Bruno Haible.
68215
68216 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68217
68218         * m4/isapipe.m4: New file.
68219
68220 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
68221
68222         * lib/isapipe.c, lib/isapipe.h: New files.
68223
68224 2006-08-29  Jim Meyering  <jim@meyering.net>
68225
68226         * modules/configmake (Makefile.am): Make configmake.h depend on
68227         Makefile.  Otherwise, a stale configmake.h could hang around.
68228
68229 2006-08-29  Eric Blake  <ebb9@byu.net>
68230
68231         * lib/error.c (error_at_line, print_errno_message): Match libc, after
68232         resolution of upstream bug 3044.
68233
68234 2006-08-29  Bruno Haible  <bruno@clisp.org>
68235
68236         * modules/localcharset (Depends-on): Add configmake.
68237         (Makefile.am): Remove setting of LIBDIR through DEFS.
68238
68239 2006-08-29  Bruno Haible  <bruno@clisp.org>
68240
68241         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
68242         defined.
68243
68244 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68245
68246         * modules/fcntl: New file.
68247         * modules/chdir-safer (Depends-on): Add fcntl.
68248         * modules/fts: Likewise.
68249         * modules/mkdir-p: Likewise.
68250
68251         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
68252         This undoes the most recent change, since we're now addressing the
68253         problem in a different way.
68254
68255         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
68256         into output, since the output might be called Makefile.am even
68257         if $makefile_name is something different.
68258         (func_import): Use $makefile_am rather than
68259         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
68260         empty.
68261
68262         * modules/inttypes (Files): Add m4/inttypes-h.m4.
68263
68264 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68265
68266         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
68267         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
68268         recent change to stdint.m4, since we're now addressing the problem in a
68269         different way.
68270
68271 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         * m4/fcntl_h.m4: New file.
68274
68275 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
68276
68277         * lib/fcntl_.h: New file.
68278         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
68279         the fcntl module.
68280         * lib/dirchownmod.c: Likewise.
68281         * lib/fts.c: Likewise.
68282
68283         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
68284         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
68285         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
68286         just before including <inttypes.h>, to avoid circular inclusion.
68287
68288 2006-08-28  Jim Meyering  <jim@meyering.net>
68289
68290         * doc/visibility.texi: Actually read and correct the grammar of the
68291         sentence affected by yesterday's change.
68292
68293 2006-08-28  Eric Blake  <ebb9@byu.net>
68294
68295         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
68296         needs wrapper.
68297
68298 2006-08-28  Eric Blake  <ebb9@byu.net>
68299
68300         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
68301
68302 2006-08-28  Eric Blake  <ebb9@byu.net>
68303
68304         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
68305
68306 2006-08-28  Bruno Haible  <bruno@clisp.org>
68307
68308         * modules/c-strstr: New file, from GNU gettext.
68309         * MODULES.html.sh (String handling): Add c-strstr.
68310
68311 2006-08-28  Bruno Haible  <bruno@clisp.org>
68312
68313         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
68314         macros.
68315         Reported by Eric Blake.
68316
68317 2006-08-28  Bruno Haible  <bruno@clisp.org>
68318
68319         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
68320         (VASNPRINTF): Return a string of length > INT_MAX without failing.
68321         * lib/vasprintf.c: Include errno.h, limits.h.
68322         (EOVERFLOW): New fallback definition.
68323         (vasprintf): Test here whether the string length is > INT_MAX.
68324         * lib/vsnprintf.c: Include errno.h, limits.h.
68325         (EOVERFLOW): New fallback definition.
68326         (vsnprintf): Fix bug when generated string was too long for the buffer.
68327         Test here whether the string length is > INT_MAX.
68328
68329 2006-08-28  Bruno Haible  <bruno@clisp.org>
68330
68331         * lib/inttypes_.h (SCNX*): Remove definitions.
68332         Reported by Eric Blake.
68333
68334 2006-08-28  Bruno Haible  <bruno@clisp.org>
68335
68336         * lib/c-strstr.h: New file, from GNU gettext.
68337         * lib/c-strstr.c: New file, from GNU gettext.
68338
68339 2006-08-28  Bruno Haible  <bruno@clisp.org>
68340
68341         * gnulib-tool: Reorder some statements.
68342
68343 2006-08-28  Bruno Haible  <bruno@clisp.org>
68344
68345         * gnulib-tool: New option --makefile-name.
68346         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
68347         $makefile_name.
68348         (func_import): Write $makefile_name to the cache file, and read it from
68349         there unless explicitly specified. Use $makefile_name as file name
68350         instead of Makefile.am. Adjust the recommendations accordingly.
68351
68352 2006-08-28  Bruno Haible  <bruno@clisp.org>
68353
68354         * gnulib-tool (func_verify_module): Check against misapplying patch.
68355
68356 2006-08-28  Bruno Haible  <bruno@clisp.org>
68357
68358         * gnulib-tool (func_relativize, func_relconcat): New functions.
68359         Give an error if --local-dir is given with --update.
68360         Remove trailing slashes from $local_gnulib_dir.
68361         (func_import): Store the relativized $local_gnulib_dir in
68362         gnulib-cache.m4, and read it from there if not specified explicitly.
68363
68364 2006-08-28  Bruno Haible  <bruno@clisp.org>
68365
68366         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
68367         is the current directory. Respect also $local_gnulib_dir.
68368
68369 2006-08-28  Bruno Haible  <bruno@clisp.org>
68370             Simon Josefsson  <jas@extundo.com>
68371
68372         BeOS portability.
68373         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
68374
68375 2006-08-27  Jim Meyering  <jim@meyering.net>
68376
68377         * doc/visibility.texi: Remove duplicate word: "pointer".
68378
68379 2006-08-26  Bruno Haible  <bruno@clisp.org>
68380
68381         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
68382         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
68383         (Makefile.am): Create inttypes.h from inttypes_.h.
68384         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
68385
68386         * modules/imaxabs: New file.
68387
68388         * modules/imaxdiv: New file.
68389
68390 2006-08-26  Bruno Haible  <bruno@clisp.org>
68391
68392         * m4/inttypes.m4: New file.
68393         * m4/_inttypes_h.m4: Remove file.
68394         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
68395         PRI_MACROS_BROKEN.
68396         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
68397
68398         * m4/imaxabs.m4: New file.
68399
68400         * m4/imaxdiv.m4: New file.
68401
68402 2006-08-26  Bruno Haible  <bruno@clisp.org>
68403
68404         * lib/inttypes_.h: New file.
68405         * lib/inttypes.h: Remove file.
68406         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
68407
68408         * lib/imaxabs.c: New file.
68409
68410         * lib/imaxdiv.c: New file.
68411
68412 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68413
68414         New config-h module, so that "make" output needn't be cluttered
68415         by -DHAVE_CONFIG_H.
68416         * MODULES.html.sh (Support for building libraries and executables):
68417         Add config-h.
68418         * modules/config-h: New file.
68419         * gnulib-tool (nl, sed_transform_lib_file): New vars.
68420         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
68421         the config-h module is used.
68422
68423         New configmake module, so that "make" output needn't be cluttered
68424         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
68425         * MODULES.html.sh (Support for building libraries and executables):
68426         Add configmake.
68427         * modules/configmake: New file.
68428
68429 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
68430
68431         * m4/config-h.m4: New file.
68432
68433 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68434
68435         * config/srclist.txt: Add elisp-comp.
68436
68437 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
68438
68439         * MODULES.html.sh (Support for building libraries and executables):
68440         Add elisp-comp.
68441         * build-aux/elisp-comp: New file.
68442         * modules/elisp-comp: New file.
68443
68444 2006-08-24  Bruno Haible  <bruno@clisp.org>
68445
68446         * gnulib-tool (func_create_testdir): Use non-default values of
68447         sourcebase and m4base.
68448
68449 2006-08-24  Bruno Haible  <bruno@clisp.org>
68450
68451         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
68452         HTML structure.
68453
68454 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         * modules/openat (Depends-on): Add lchown.
68457
68458 2006-08-23  Bruno Haible  <bruno@clisp.org>
68459
68460         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
68461         of gl_LOCK_EARLY instead of gl_LOCK.
68462
68463 2006-08-23  Bruno Haible  <bruno@clisp.org>
68464
68465         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
68466         on OSF/1 to no.
68467         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
68468
68469 2006-08-23  Bruno Haible  <bruno@clisp.org>
68470
68471         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
68472         as unusable.
68473
68474         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
68475         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
68476         (gl_LOCK): New macro.
68477
68478 2006-08-22  Simon Josefsson  <jas@extundo.com>
68479
68480         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
68481         to md5 module.
68482
68483 2006-08-22  Simon Josefsson  <jas@extundo.com>
68484
68485         * MODULES.html.sh: Add "Support for maintaining and release
68486         projects".
68487
68488         * build-aux/gnupload: New file, from coreutils.
68489
68490 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68491
68492         Avoid the need for AC_LIBSOURCES in m4 macros.
68493         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
68494         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
68495         * modules/check-version (EXTRA_DIST): Add check-version.h.
68496         * modules/crc (EXTRA_DIST): Add crc.h.
68497         * modules/des (EXTRA_DIST): Add des.h.
68498         * modules/gc (EXTRA_DIST): Add gc.h.
68499         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
68500         * modules/getline (EXTRA_DIST): Add getline.h.
68501         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
68502         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
68503         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
68504         * modules/md2 (EXTRA_DIST): Add md2.h.
68505         * modules/md4 (EXTRA_DIST): Add md4.h.
68506         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
68507         * modules/read-file (EXTRA_DIST): Add read-file.h.
68508         * modules/readline (EXTRA_DIST): Add readline.h.
68509         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
68510         rijndael-api-fst.h.
68511
68512 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68513
68514         * m4/rijndael.m4 (gl_ARCFOUR):
68515         * m4/arctwo.m4 (gl_ARCTWO):
68516         * m4/check-version.m4 (gl_CHECK_VERSION):
68517         * m4/crc.m4 (gl_CRC):
68518         * m4/des.m4 (gl_DES):
68519         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
68520         * m4/gc.m4 (gl_GC):
68521         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
68522         * m4/getline.m4 (gl_FUNC_GETLINE):
68523         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
68524         * m4/hmac-md5.m4 (gl_HMAC_MD5):
68525         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
68526         * m4/md2.m4 (gl_MD2):
68527         * m4/md4.m4 (gl_MD4):
68528         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
68529         * m4/read-file.m4 (gl_FUNC_READ_FILE):
68530         * m4/readline.m4 (gl_FUNC_READLINE):
68531         * m4/rijndael.m4 (gl_RIJNDAEL):
68532         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68533         to get the necessary .h files and whatnot.
68534
68535 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
68536
68537         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
68538         gnulib rather than the other way around.
68539         * config/srclistvars.sh (COREUTILS): Remove.
68540
68541 2006-08-22  Jim Meyering  <jim@meyering.net>
68542
68543         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
68544
68545         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
68546
68547 2006-08-22  Eric Blake  <ebb9@byu.net>
68548
68549         * modules/regexprops-generic: New file.
68550         * MODULES.html.sh (Support for building documentation): List it.
68551
68552 2006-08-22  Eric Blake  <ebb9@byu.net>
68553
68554         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
68555         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
68556         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
68557         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
68558
68559 2006-08-22  Bruno Haible  <bruno@clisp.org>
68560
68561         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
68562         and lib_LTLIBRARIES like the other lib_* variables.
68563
68564 2006-08-22  Bruno Haible  <bruno@clisp.org>
68565
68566         * build-aux/x-to-1.in: New file, from GNU gettext.
68567
68568 2006-08-22  Bruno Haible  <bruno@clisp.org>
68569
68570         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
68571         <utmpx.h> exists.
68572
68573 2006-08-22  Bruno Haible  <bruno@clisp.org>
68574
68575         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
68576         <utmpx.h> exists.
68577
68578 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68579
68580         BeOS portability.
68581         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
68582         exist.
68583         Problem reported by Bruno Haible.
68584
68585 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68586
68587         Avoid the need for AC_LIBSOURCES in m4 macros.
68588         * modules/acl (EXTRA_DIST): Add acl.h.
68589         * modules/argmatch (Files): Add m4/argmatch.m4.
68590         (configure.ac): Add gl_ARGMATCH.
68591         (EXTRA_DIST): Renamed from lib_SOURCES, for
68592         consistency with the other modules.  Remove argmatch.c.
68593         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
68594         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
68595         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
68596         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
68597         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
68598         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
68599         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
68600         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
68601         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
68602         * modules/closeout (EXTRA_DIST): Add closeout.h.
68603         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
68604         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
68605         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
68606         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
68607         dirname.h; remove basename.c and stripslash.c.
68608         * modules/exclude (EXTRA_DIST): Add exclude.h.
68609         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
68610         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
68611         * modules/file-type (EXTRA_DIST): Add file-type.h.
68612         * modules/filemode (EXTRA_DIST): Add filemode.h.
68613         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
68614         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68615         * modules/fpending (EXTRA_DIST): Add __fpending.h.
68616         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
68617         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
68618         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
68619         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
68620         * modules/getdate (EXTRA_DIST): Add getdate.c.
68621         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
68622         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
68623         * modules/getpass (EXTRA_DIST): Add getpass.h.
68624         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
68625         * modules/group-member (EXTRA_DIST): Add group-member.h.
68626         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
68627         * modules/hash (EXTRA_DIST): Add hash.h.
68628         * modules/human (EXTRA_DIST): Add human.h.
68629         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
68630         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
68631         * modules/lchown (EXTRA_DIST): Add lchown.h.
68632         * modules/long-options (EXTRA_DIST): Add long-options.h.
68633         * modules/lstat (EXTRA_DIST): Add lstat.h.
68634         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
68635         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
68636         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
68637         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
68638         * modules/memxor (EXTRA_DIST): Add memxor.h.
68639         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
68640         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
68641         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
68642         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
68643         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
68644         * modules/physmem (EXTRA_DIST): Add physmem.h.
68645         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
68646         * modules/posixver (EXTRA_DIST): Add posixver.h.
68647         * modules/quote (EXTRA_DIST): Add quote.h.
68648         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
68649         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
68650         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
68651         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
68652         regex_internal.h regexec.c.
68653         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
68654         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
68655         * modules/same (EXTRA_DIST): Add same.h.
68656         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
68657         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
68658         * modules/savedir (EXTRA_DIST): Add savedir.h.
68659         * modules/sha1 (EXTRA_DIST): Add sha1.h.
68660         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
68661         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
68662         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
68663         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
68664         * modules/strdup (EXTRA_DIST): Add strdup.h.
68665         * modules/strftime (EXTRA_DIST): Add strftime.h.
68666         * modules/strndup (EXTRA_DIST): Add strndup.h.
68667         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
68668         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
68669         * modules/time_r (EXTRA_DIST): Add time_r.h.
68670         * modules/timespec (EXTRA_DIST): Add timespec.h.
68671         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
68672         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
68673         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
68674         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
68675         * modules/userspec (EXTRA_DIST): Add userspec.h.
68676         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
68677         * modules/utimens (EXTRA_DIST): Add utimens.h.
68678         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
68679         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
68680         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
68681         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
68682         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
68683         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
68684         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
68685         * modules/yesno (EXTRA_DIST): Add yesno.h.
68686
68687 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
68688
68689         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
68690
68691         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
68692         * m4/dev-ino.m4, same-inode.m4: Remove.
68693
68694         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
68695         * m4/acl.m4 (AC_FUNC_ACL):
68696         * m4/backupfile.m4 (gl_BACKUPFILE):
68697         * m4/c-strtod.m4 (gl_C99_STRTOLD):
68698         * m4/canon-host.m4 (gl_CANON_HOST):
68699         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68700         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
68701         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
68702         * m4/cloexec.m4 (gl_CLOEXEC):
68703         * m4/close-stream.m4 (gl_CLOSE_STREAM):
68704         * m4/closeout.m4 (gl_CLOSEOUT):
68705         * m4/dirfd.m4 (gl_FUNC_DIRFD):
68706         * m4/dirname.m4 (gl_DIRNAME):
68707         * m4/exclude.m4 (gl_EXCLUDE):
68708         * m4/exitfail.m4 (gl_EXITFAIL):
68709         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
68710         * m4/file-type.m4 (gl_FILE_TYPE):
68711         * m4/filemode.m4 (gl_FILEMODE):
68712         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
68713         * m4/fpending.m4 (gl_FUNC_FPENDING):
68714         * m4/fprintftime.m4 (gl_FPRINTFTIME):
68715         * m4/fts.m4 (gl_FUNC_FTS):
68716         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
68717         * m4/getdate.m4 (gl_GETDATE):
68718         * m4/gethrxtime.m4 (gl_GETHRXTIME):
68719         * m4/getpagesize.m4 (gl_GETPAGESIZE):
68720         * m4/getpass.m4 (gl_FUNC_GETPASS):
68721         * m4/gettime.m4 (gl_GETTIME):
68722         * m4/getugroups.m4 (gl_GETUGROUPS):
68723         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
68724         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
68725         * m4/hard-locale.m4 (gl_HARD_LOCALE):
68726         * m4/hash.m4 (gl_HASH):
68727         * m4/idcache.m4 (gl_IDCACHE):
68728         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
68729         * m4/lchown.m4 (gl_FUNC_LCHOWN):
68730         * m4/long-options.m4 (gl_LONG_OPTIONS):
68731         * m4/lstat.m4 (gl_FUNC_LSTAT):
68732         * m4/md5.m4 (gl_MD5):
68733         * m4/memcasecmp.m4 (gl_MEMCASECMP):
68734         * m4/memcoll.m4 (gl_MEMCOLL):
68735         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
68736         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
68737         * m4/memxor.m4 (gl_MEMXOR):
68738         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
68739         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
68740         * m4/modechange.m4 (gl_MODECHANGE):
68741         * m4/mountlist.m4 (gl_MOUNTLIST):
68742         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68743         * m4/openat.m4 (gl_FUNC_OPENAT):
68744         * m4/pathmax.m4 (gl_PATHMAX):
68745         * m4/physmem.m4 (gl_PHYSMEM):
68746         * m4/posixtm.m4 (gl_POSIXTM):
68747         * m4/posixver.m4 (gl_POSIXVER):
68748         * m4/quote.m4 (gl_QUOTE):
68749         * m4/quotearg.m4 (gl_QUOTEARG):
68750         * m4/readtokens.m4 (gl_READTOKENS):
68751         * m4/readutmp.m4 (gl_READUTMP):
68752         * m4/regex.m4 (gl_REGEX):
68753         * m4/safe-read.m4 (gl_SAFE_READ):
68754         * m4/safe-write.m4 (gl_SAFE_WRITE):
68755         * m4/same.m4 (gl_SAME):
68756         * m4/save-cwd.m4 (gl_SAVE_CWD):
68757         * m4/savedir.m4 (gl_SAVEDIR):
68758         * m4/settime.m4 (gl_SETTIME):
68759         * m4/sha1.m4 (gl_SHA1):
68760         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
68761         * m4/stat-macros.m4 (gl_STAT_MACROS):
68762         * m4/stat-time.m4 (gl_STAT_TIME):
68763         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
68764         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
68765         * m4/strdup.m4 (gl_FUNC_STRDUP):
68766         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
68767         * m4/strndup.m4 (gl_FUNC_STRNDUP):
68768         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
68769         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
68770         * m4/time_r.m4 (gl_TIME_R):
68771         * m4/timespec.m4 (gl_TIMESPEC):
68772         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
68773         * m4/unlinkdir.m4 (gl_UNLINKDIR):
68774         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
68775         * m4/userspec.m4 (gl_USERSPEC):
68776         * m4/utimecmp.m4 (gl_UTIMECMP):
68777         * m4/utimens.m4 (gl_UTIMENS):
68778         * m4/xalloc.m4 (gl_XALLOC):
68779         * m4/xgetcwd.m4 (gl_XGETCWD):
68780         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
68781         * m4/xreadlink.m4 (gl_XREADLINK):
68782         * m4/xstrtod.m4 (gl_XSTRTOD):
68783         * m4/yesno.m4 (gl_YESNO):
68784         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
68785         to get the necessary .h files and whatnot.
68786
68787 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
68788             Bruno Haible  <bruno@clisp.org>
68789
68790         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
68791         /bin/sh understanding of '!' conditional negation.
68792
68793 2006-08-21  Jim Meyering  <jim@meyering.net>
68794
68795         * modules/openat (Depends-on): Really alphabetize.
68796
68797         * modules/acl (Depends-on): Add error and quote.
68798
68799         * check-module (find_included_lib_files): Add at-func.c to the
68800         ok-to-include-more-than-once white list.
68801
68802         * modules/openat (Depends-on): Add lstat.  Alphabetize.
68803
68804 2006-08-21  Bruno Haible  <bruno@clisp.org>
68805
68806         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68807         Emit a pkgdata_DATA variable only if some snippets add contents to it.
68808         Reported by Martin Lambers <marlam@marlam.de>.
68809
68810 2006-08-21  Bruno Haible  <bruno@clisp.org>
68811
68812         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
68813         specify an installation location, don't emit a noinst_LIBRARIES or
68814         noinst_LTLIBRARIES assignment.
68815
68816 2006-08-21  Bruno Haible  <bruno@clisp.org>
68817
68818         BeOS portability.
68819         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
68820         BeOS has mbrtowc() but no <wctype.h>.
68821
68822 2006-08-21  Bruno Haible  <bruno@clisp.org>
68823
68824         BeOS portability.
68825         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
68826         exist.
68827
68828 2006-08-21  Bruno Haible  <bruno@clisp.org>
68829
68830         BeOS portability.
68831         * lib/mbchar.h: Include <wctype.h> only if it exists.
68832
68833 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68834
68835         Remove files that are no longer needed by their respective modules.
68836         * m4/obstack.m4: Remove.
68837         * m4/strerror_r.m4: Remove.
68838         * m4/uint32_t.m4: Remove.
68839         * m4/uintptr_t.m4: Remove.
68840         * m4/ullong_max.m4: Remove.
68841         * m4/xstrtoimax.m4: Remove.
68842         * m4/xstrtoumax.m4: Remove.
68843
68844         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
68845         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
68846         dependencies now capture this.
68847
68848         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
68849         Do not use AC_LIBSOURCES, since gnulib modules now do this.
68850         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
68851         * m4/human.m4 (gl_HUMAN): Likewise.
68852         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
68853         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
68854
68855         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
68856
68857         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
68858         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
68859         stdint.
68860         * m4/human.m4 (gl_HUMAN): Likewise.
68861         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
68862         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
68863         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68864         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68865         * m4/xstrtol (gl_XSTRTOL): Likewise.
68866
68867         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
68868         AC_TYPE_LONG_LONG_INT.
68869         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
68870         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
68871         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
68872         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
68873
68874         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
68875         on stdbool.
68876
68877         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
68878         (gl_PREREQ_XSTRTOUL): Remove.
68879
68880         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
68881
68882         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
68883         mode.
68884
68885 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68886
68887         Add and change modules to make it easier for coreutils to use
68888         gnulib-tool.
68889         * modules/backupfile (Files): Remove m4/d-ino.m4.
68890         (Depends-on): Add d-ino.
68891         * modules/cycle-check (Depends-on): Add stdint.
68892         (lib_SOURCES): Add cycle-check.h.
68893         * modules/d-ino: New module.
68894         * modules/d-type: New module.
68895         * modules/error (Files): Remove m4/strerror_r.m4.
68896         * modules/filemode (Files): Add m4/st_dm_mode.m4.
68897         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
68898         m4/inttypes_h.m4, m4/uintmax_t.m4.
68899         (Depends-on): Add stdint.
68900         (lib_SOURCES): Add fsusage.h.
68901         * modules/getcwd (Files): Remove d-ino.m4.
68902         (Depends-on): Add d-ino.
68903         * modules/getndelim2 (Depends-on): Add stdint.
68904         * modules/glob (Files): Remove m4/d-type.m4.
68905         (Depends-on): Add d-type.
68906         * modules/host-os: New module.
68907         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
68908         m4/inttypes_h.m4, m4/uintmax_t.m4.
68909         * Depends-on: Add stdint.
68910         (lib_SOURCES): Add human.h.
68911         * modules/inttostr (Files): Remove m4/intmax_t.m4,
68912         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
68913         m4/uintmax_t.m4, m4/ulonglong.m4.
68914         (Depends-on): Add stdint.
68915         (EXTRA_DIST): Add inttostr.h.
68916         * modules/lchmod: New module.
68917         * modules/link-follow: New module.
68918         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
68919         (Depends-on): Add lchmod.
68920         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
68921         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
68922         (Depends-on): Add stdint.
68923         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
68924         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
68925         (Depends-on): Add stdint.
68926         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
68927         * modules/perl: New module.
68928         * modules/regex (Depends-on): Add stdint.
68929         * modules/rmdir-errno: New module.
68930         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68931         m4/intmax_t.m4.
68932         (Depends-on): Add stdint.
68933         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
68934         m4/uintmax_t.m4.
68935         (Depends-on): Add stdint.
68936         * modules/unlink-busy: New module.
68937         * modules/utimecmp (Depends-on): Add stdint.
68938         * modules/uptime: New module.
68939         * modules/winsz-ioctl: New module.
68940         * modules/winsz-termios: New module.
68941         * modules/xnanosleep (Depends-on): Add nanosleep.
68942         * modules/ullong_max: Remove.
68943         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
68944         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
68945         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
68946         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
68947         (Depends-on): Add inttypes.
68948         (lib_SOURCES): Add xstrtol.h.
68949         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
68950         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
68951         * MODULES.html.sh: Move 'assert' into the assert section.
68952         Move 'dummy' into the linking section.
68953         Remove ullong_max.
68954         Add section for compatibility checks for POSIX:2001 functions,
68955         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
68956         winsz-ioctl, and winsz-termios into it.
68957         Add lchmod.
68958         Add top-level Misc section and put host-os, perl, and uptime
68959         into it.
68960
68961 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
68962
68963         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
68964         now assume the stdint module.  Do not include inttypes.h.
68965         * lib/fsusage.h: Likewise.
68966         * lib/getndelim2.c: Likewise.
68967         * lib/human.h: Likewise.
68968         * lib/inttostr.h: Likewise.
68969         * lib/obstack.c: Likewise.
68970         * lib/regex_internal.h: Likewise.
68971         * lib/tempname.c: Likewise.
68972         * lib/utimecmp.c: Likewise.
68973         * lib/xstrtol.h: Likewise.
68974
68975         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
68976
68977         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
68978         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
68979         * lib/xtime.h: Likewise.
68980
68981 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68982
68983         * modules/openat (Files): Add lib/fchmodat.c.
68984         Fixes problem reported by Jay Youngman.
68985
68986 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68987
68988         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
68989         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
68990
68991 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
68992             Bruno Haible  <bruno@clisp.org>
68993
68994         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
68995         and is a script that invokes bison. Tighten the code. Add comments.
68996
68997 2006-08-18  Jim Meyering  <jim@meyering.net>
68998
68999         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
69000         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
69001         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
69002         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
69003
69004 2006-08-18  Bruno Haible  <bruno@clisp.org>
69005
69006         * modules/bison-i18n: New file.
69007         * MODULES.html.sh (Internationalization functions): Add it.
69008
69009 2006-08-18  Bruno Haible  <bruno@clisp.org>
69010
69011         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
69012         sys/statvfs.h. When getmntinfo was found, check its declaration and
69013         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
69014
69015 2006-08-18  Bruno Haible  <bruno@clisp.org>
69016
69017         * m4/bison-i18n.m4: New file, from bison.
69018
69019 2006-08-18  Bruno Haible  <bruno@clisp.org>
69020
69021         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
69022         (ME_DUMMY): Treat "kernfs" as a dummy.
69023         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
69024
69025 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69026
69027         Update from coreutils.
69028
69029         2006-08-15  Jim Meyering  <jim@meyering.net>
69030
69031         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
69032
69033         2006-01-17  Jim Meyering  <jim@meyering.net>
69034
69035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
69036
69037         2006-01-11  Jim Meyering  <jim@meyering.net>
69038
69039         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
69040         Check for the lchmod function.
69041
69042 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69043
69044         Update from coreutils.
69045
69046         * lib/__fpending.h: Add copyright notice.
69047         * lib/fprintftime.h: Likewise.
69048         * lib/savedir.c: Use (C) in copyright notice.
69049         * lib/savedir.h: Likewise.
69050
69051         2006-08-15  Jim Meyering  <jim@meyering.net>
69052
69053         * lib/at-func.c: New file, with the logic of all emulated at-functions.
69054         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
69055         in support of the EXPECTED_ERRNO macro.
69056         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
69057         definitions.  Instead, define the appropriate symbols and include
69058         "at-func.c".
69059         * lib/mkdirat.c (mkdirat): Likewise.
69060         * lib/fchmodat.c (fchmodat): Likewise.
69061         (ENOSYS): Remove definition.
69062         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
69063         it.  Don't include "unistd--.h" -- it wasn't ever used.
69064
69065         2006-01-17  Jim Meyering  <jim@meyering.net>
69066
69067         Rewrite fts.c not to change the current working directory,
69068         by using openat, fstatat, fdopendir, etc..
69069
69070         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
69071         (HAVE_OPENAT_SUPPORT): Define.
69072         [_LIBC] (fchdir): Don't undef or define; no longer used.
69073         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
69074         Now, this `function' always succeeds, and consumes its file descriptor
69075         parameter -- so callers must not close such FDs.  Update callers.
69076         (diropen_fd, opendirat, cwd_advance_fd): New functions.
69077         (diropen): Add parameter, SP.  Adjust all callers.
69078         Implement using diropen_fd, rather than open.
69079         (fts_open): Initialize new member, fts_cwd_fd.
69080         Remove fts_rft-setting code.
69081         (fts_close): Close fts_cwd_fd, if necessary.
69082         (__opendir2): Define in terms of opendir or opendirat,
69083         depending on whether the FST_NOCHDIR flag is set.
69084         (fts_build): Since fts_safe_changedir consumes its FD, and since
69085         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
69086         and close the dup'd file descriptor upon failure.
69087         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
69088         (fts_safe_changedir): Tweak semantics to reflect that this function
69089         now calls cwd_advance_fd and hence consumes its FD argument.
69090         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
69091         [struct FTS] (fts_rft): Remove now-unused member.
69092         [struct FTS] (fts_cycle.state): Improve comment.
69093
69094         * lib/openat.c (openat_needs_fchdir): New function.
69095         * lib/openat.h (openat_needs_fchdir): Declare it.
69096
69097 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69098
69099         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
69100         Problem and fix reported by Pádraig Brady in
69101         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
69102
69103 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69104
69105         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
69106
69107 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69108
69109         * lib/memcoll.c (memcoll): Optimize for the common case where the
69110         arguments are bytewise equal.
69111
69112 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69113
69114         * doc/regexprops-generic.texi: Add a copyright notice.
69115
69116 2006-08-15  Bruno Haible  <bruno@clisp.org>
69117
69118         * modules/tmpdir (License): Change to LGPL.
69119
69120 2006-08-15  Bruno Haible  <bruno@clisp.org>
69121
69122         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
69123         module.
69124
69125 2006-08-14  Simon Josefsson  <jas@extundo.com>
69126
69127         * config/srclist.txt: Add gnupload.
69128
69129 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69130
69131         Change copyright notice from LGPL 2 to GPL 2, since that's the
69132         standard form used in the gnulib repository.
69133         * tests/test-lock.c: Likewise.
69134         * tests/test-stdint.c: Likewise.
69135         * tests/test-tls.c: Likewise.
69136
69137         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
69138         prelude-manager.  User shorter URLs for GNU projects, without '?'.
69139         Add copyright notice.
69140
69141         * check-module: Add copyright notice.  Output a copyright
69142         notice if "--version" is specified.
69143         * modules/COPYING: New file.
69144         * tests/test-getaddrinfo.c: Add copyright notice.
69145         * tests/test-verify.c: Likewise.
69146
69147 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69148
69149         Change copyright notice from LGPL 2 to GPL 2, since that's the
69150         standard form used in the gnulib repository.
69151         * lib/lock.c: LGPL -> GPL.
69152         * lib/lock.h: Likewise.
69153         * lib/strnlen1.c: Likewise.
69154         * lib/strnlen1.h: Likewise.
69155         * lib/tls.c: Likewise.
69156         * lib/tls.h: Likewise.
69157         * lib/tmpdir.c: Likewise.
69158
69159         * lib/TODO: Remove; this belongs only in coreutils.
69160
69161 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69162
69163         Add copyright notices to long-enough files that lack them, since
69164         otherwise the files aren't clearly free.  Use the same notice that
69165         getdate.texi already uses.
69166         * doc/alloca-opt.texi: Add copyright notice.
69167         * doc/alloca.texi: Likewise.
69168         * doc/ctime.texi: Likewise.
69169         * doc/functions.texi: Likewise.
69170         * doc/gcd.texi: Likewise.
69171         * doc/gnulib-tool.texi: Likewise.
69172         * doc/inet_ntoa.texi: Likewise.
69173         * doc/visibility.texi: Likewise.
69174
69175         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
69176         * doc/quote.texi: Add copyright notice.
69177
69178         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
69179         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
69180         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
69181         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
69182         is now obsolete, and give a pointer to the Sun list.
69183         Add copyright notice.
69184
69185 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
69186
69187         * config/srclistvars.sh: Add copyright notice.
69188
69189 2006-08-14  Eric Blake  <ebb9@byu.net>
69190
69191         Import the following change from libc:
69192
69193         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
69194
69195         Upstream bug 2997.
69196         * lib/misc/error.c: Add space between program name and message if file
69197         name is missing.
69198
69199 2006-08-12  Karl Berry  <karl@gnu.org>
69200
69201         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
69202         remove, these originate in gnulib now.
69203
69204 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69205
69206         * doc/Makefile (standards.info standards.html standards.dvi):
69207         Also depend on make-stds.texi.
69208
69209 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69210
69211         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
69212         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
69213
69214         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
69215         in wchar_t.  Problem reported by Eric Blake.
69216
69217         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
69218         LEN is smaller than SIZE.  Suggested by Bruno Haible.
69219         Also, help the compiler to keep LEN in a register.
69220
69221 2006-08-11  Eric Blake  <ebb9@byu.net>
69222
69223         * users.txt: Sort.  Add tar.
69224
69225 2006-08-11  Bruno Haible  <bruno@clisp.org>
69226
69227         * users.txt: New file.
69228
69229 2006-08-11  Bruno Haible  <bruno@clisp.org>
69230
69231         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
69232         before <wchar.h>. Needed for OSF/1 and BSD/OS.
69233
69234 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69235
69236         * modules/snprintf (Depends-on): Remove minmax.
69237         (Maintainer): Add self and Bruno.
69238
69239 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
69240
69241         * lib/.cppi-disable: Add snprintf.h, socket_.h.
69242         * lib/snprintf.c: Include <errno.h> and <limits.h>.
69243         (EOVERFLOW): Define if the system does not.
69244         Do not include "minmax.h"; it wasn't used.
69245         (snprintf): Don't assume size_t promotes to an unsigned type.
69246         Fix bug when generated string was too long for the buffer: the
69247         buffer's contents are supposed to be the initial prefix of the
69248         output.  Don't assume vasnprintf returns EOVERFLOW if the size
69249         exceeds INT_MAX; do the check ourselves.
69250
69251         Import the following changes from libc:
69252
69253         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
69254
69255         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
69256         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
69257         set wc to the byte which couldn't be converted.
69258         (re_string_reconstruct): Don't clear valid_raw_len before calling
69259         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
69260         tip_context using re_string_context_at.
69261
69262         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
69263
69264         * lib/posix/regex.h: g++ still cannot handled [restrict].
69265
69266         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
69267
69268         * lib/posix/regex.h: Remove special handling for VMS.
69269
69270 2006-08-10  Jim Meyering  <jim@meyering.net>
69271
69272         * modules/same-inode: New module.
69273         * modules/dev-ino: New module.
69274         * modules/cycle-check: Depend on these modules, rather than simply
69275         including their .h files.
69276         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
69277         required via m4/cycle-check.m4.
69278         * modules/same: Depend on new same-inode module, rather than
69279         including same-inode.h.
69280         * modules/chdir-safer: New file.
69281
69282         * modules/chown (Depends-on): Add stat-macros.
69283
69284 2006-08-10  Jim Meyering  <jim@meyering.net>
69285
69286         * m4/cycle-check.m4: New file.
69287         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
69288         * m4/dev-ino.m4, m4/same-inode.m4: New files.
69289
69290 2006-08-10  Eric Blake  <ebb9@byu.net>
69291
69292         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
69293         in from original proposal.
69294
69295 2006-08-10  Eric Blake  <ebb9@byu.net>
69296         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69297
69298         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
69299         namespace.
69300
69301 2006-08-10  Bruno Haible  <bruno@clisp.org>
69302
69303         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
69304         as well.
69305
69306 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69307
69308         Sync from coreutils.
69309
69310         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
69311
69312         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
69313         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
69314
69315 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69316
69317         * modules/restrict: Remove; no longer needed now that we assume
69318         Autoconf 2.59 or later.
69319         * MODULES.html.sh: Remove 'restrict'.
69320         * modules/argp (Depends-on): Remove 'restrict'.
69321         * modules/base64 (Depends-on): Likewise.
69322         * modules/gc (Depends-on): Likewise.
69323         * modules/getaddrinfo (Depends-on): Likewise.
69324         * modules/glob (Depends-on): Likewise.
69325         * modules/inet_ntop (Depends-on): Likewise.
69326         * modules/inet_pton (Depends-on): Likewise.
69327         * modules/memxor (Depends-on): Likewise.
69328         * modules/regex (Depends-on): Likewise.
69329         * modules/strtok_r (Depends-on): Likewise.
69330         * modules/time_r (Depends-on): Likewise.
69331
69332 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69333
69334         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
69335         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
69336         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
69337         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
69338         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
69339         * m4/memxor.m4 (gl_MEMXOR): Likewise.
69340         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
69341         gl_C_RESTRICT replaced by AC_C_RESTRICT.
69342
69343         Merge from coreutils.
69344         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
69345         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
69346         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69347         * m4/time_r.m4 (gl_TIME_R): Likewise.
69348
69349 2006-08-09  Karl Berry  <karl@gnu.org>
69350
69351         * config/srclist.txt: no more gettext-tools, per Bruno.
69352
69353 2006-08-08  Eric Blake  <ebb9@byu.net>
69354
69355         * modules/verror: New module.
69356         * MODULES.html.sh: Document it.
69357
69358 2006-08-08  Eric Blake  <ebb9@byu.net>
69359
69360         * lib/verror.h, lib/verror.c: New files.
69361
69362 2006-08-08  Eric Blake  <ebb9@byu.net>
69363
69364         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
69365         verror_at_line output complies with GNU Coding Standards even when
69366         file is NULL.
69367
69368 2006-08-07  Bruno Haible  <bruno@clisp.org>
69369
69370         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
69371         versions of AIX.
69372         Reported by Ralf Wildenhues.
69373
69374 2006-08-07  Bruno Haible  <bruno@clisp.org>
69375
69376         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
69377         in an AC_DEFUN. Needed so that the autoconf snippets can use
69378         AC_REQUIRE.
69379
69380 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69381
69382         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69383         Initialize pkgdata_DATA.
69384         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
69385         overriding it.
69386
69387 2006-08-06  Eric Blake  <ebb9@byu.net>
69388
69389         * lib/error.h: Fold in some upstream changes from glibc.
69390         * lib/error.c: Likewise.
69391
69392 2006-08-04  Bruno Haible  <bruno@clisp.org>
69393
69394         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69395         Make the mostlyclean-local rule depend on mostlyclean-generic.
69396         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
69397
69398 2006-07-31  Bruno Haible  <bruno@clisp.org>
69399
69400         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
69401         <stdlib.h>, <string.h>.
69402
69403 2006-07-30  Bruno Haible  <bruno@clisp.org>
69404
69405         * modules/readlink (License): Change to LGPL.
69406
69407 2006-07-30  Bruno Haible  <bruno@clisp.org>
69408
69409         * modules/javaversion (Makefile.am): Distribute javaversion.java and
69410         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
69411         set PKGDATADIR to point to it.
69412
69413 2006-07-30  Bruno Haible  <bruno@clisp.org>
69414
69415         * modules/csharpexec (configure.ac): Comment out macro invocation.
69416         * modules/javaexec (configure.ac): Likewise.
69417         * modules/javacomp-script (configure.ac): Likewise.
69418
69419         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
69420
69421 2006-07-30  Bruno Haible  <bruno@clisp.org>
69422
69423         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
69424         linked-list.
69425
69426 2006-07-30  Bruno Haible  <bruno@clisp.org>
69427
69428         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
69429
69430 2006-07-30  Bruno Haible  <bruno@clisp.org>
69431
69432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69433         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
69434         get removed.
69435
69436 2006-07-29  Bruno Haible  <bruno@clisp.org>
69437
69438         Make it possible for gnulib-tool to work with locally modified or
69439         augmented gnulib repositories.
69440         * gnulib-tool (func_usage): Document --local-dir option.
69441         (local_gnulib_dir): New variable.
69442         Handle --local-dir option.
69443         (func_lookup_file): New function.
69444         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
69445         (func_get_description, func_get_filelist, func_get_description,
69446         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
69447         func_get_automake_snippet, func_get_include_directive,
69448         func_get_license, func_get_maintainer): Use func_lookup_file.
69449         (func_import, func_create_testdir): Use func_lookup_file.
69450
69451 2006-07-29  Bruno Haible  <bruno@clisp.org>
69452
69453         * modules/setenv (Depends-on): Add unistd.
69454
69455 2006-07-29  Bruno Haible  <bruno@clisp.org>
69456
69457         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
69458
69459 2006-07-29  Bruno Haible  <bruno@clisp.org>
69460
69461         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
69462
69463 2006-07-29  Bruno Haible  <bruno@clisp.org>
69464
69465         * gnulib-tool (import, update): If there is no Makefile.am, look at
69466         aclocal.m4, instead of bailing out.
69467
69468 2006-07-29  Bruno Haible  <bruno@clisp.org>
69469
69470         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
69471         Categorize the options by when they are useful.
69472
69473 2006-07-29  Bruno Haible  <bruno@clisp.org>
69474
69475         * gnulib-tool (func_usage): Document option --no-libtool.
69476         Handle option --no-libtool.
69477         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
69478         for changed semantics of $libtool variable.
69479         (func_import): Likewise. If libtool is not used, show this through
69480         an option --no-libtool.
69481         (func_create_testdir): Update.
69482
69483 2006-07-29  Bruno Haible  <bruno@clisp.org>
69484
69485         * gnulib-tool (func_import): Extend error message about missing
69486         --doc-base.
69487
69488 2006-07-29  Bruno Haible  <bruno@clisp.org>
69489
69490         * gnulib-tool (func_import): Don't create the $docbase directory if
69491         there is no file to store there.
69492
69493 2006-07-29  Bruno Haible  <bruno@clisp.org>
69494
69495         * gnulib-tool (autoconf_minversion): If a --dir option is given and
69496         relevant, look for configure.ac there, not in the current directory.
69497         Also use a simple search for AC_PREREQ, not "autoconf --trace".
69498
69499 2006-07-29  Bruno Haible  <bruno@clisp.org>
69500
69501         * gnulib-tool (SORT): New variable.
69502         (func_usage): Undocument --assume-autoconf option.
69503         Remove --assume-autoconf option handling.
69504         (autoconf_minversion): Determine from the contents of configure.ac.
69505         (func_import): Remove autoconf_minversion handling.
69506         Suggested by Eric Blake.
69507
69508 2006-07-29  Bruno Haible  <bruno@clisp.org>
69509
69510         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
69511
69512 2006-07-29  Bruno Haible  <bruno@clisp.org>
69513
69514         * config/srclist.txt (*setenv.[ch]): Remove rules.
69515
69516 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69517
69518         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
69519
69520 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69521
69522         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
69523         arpa/inet.h.
69524
69525 2006-07-28  Simon Josefsson  <jas@extundo.com>
69526
69527         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
69528         * modules/inet_pton (Depends-on): Likewise.
69529
69530 2006-07-28  Simon Josefsson  <jas@extundo.com>
69531
69532         * m4/netinet_in_h.m4: New file.
69533
69534 2006-07-28  Simon Josefsson  <jas@extundo.com>
69535
69536         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
69537         #include's.
69538
69539 2006-07-28  Simon Josefsson  <jas@extundo.com>
69540
69541         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
69542         #include's.
69543
69544 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
69545
69546         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
69547         setgid on directories only if they set these bits.
69548         * lib/modechange.h: Remove obsolete comment about masks.
69549
69550 2006-07-28  Eric Blake  <ebb9@byu.net>
69551
69552         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
69553         macro expansion.
69554
69555 2006-07-28  Bruno Haible  <bruno@clisp.org>
69556
69557         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
69558
69559 2006-07-28  Bruno Haible  <bruno@clisp.org>
69560
69561         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
69562
69563 2006-07-28  Bruno Haible  <bruno@clisp.org>
69564
69565         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
69566         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
69567         Define fallbacks.
69568         Avoids link error on FreeBSD 4.x.
69569         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69570
69571         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
69572         encoding.
69573         * lib/mbswidth.c (iswcntrl): Likewise.
69574
69575 2006-07-27  Bruno Haible  <bruno@clisp.org>
69576
69577         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
69578         test.
69579
69580 2006-07-27  Bruno Haible  <bruno@clisp.org>
69581
69582         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
69583         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
69584         defined.
69585
69586 2006-07-26  Eric Blake  <ebb9@byu.net>
69587
69588         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
69589
69590 2006-07-26  Eric Blake  <ebb9@byu.net>
69591
69592         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
69593         like mingw that lack mkstemp.
69594         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
69595         avoid compilation warning on mingw.
69596
69597 2006-07-26  Bruno Haible  <bruno@clisp.org>
69598
69599         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
69600         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
69601         INT_FAST*_MIN, INTPTR_MIN.
69602
69603 2006-07-25  Bruno Haible  <bruno@clisp.org>
69604
69605         * modules/version-etc (Depends-on): Add stdarg.
69606
69607 2006-07-25  Bruno Haible  <bruno@clisp.org>
69608
69609         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
69610         complex commands.
69611
69612 2006-07-25  Bruno Haible  <bruno@clisp.org>
69613
69614         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
69615         defined in <stdarg.h> or config.h.
69616
69617 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
69620         (gl_STDIO_SAFER): Remove.
69621
69622 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
69623
69624         * MODULES.html.sh (File stream based Input/Output):
69625         Add fopen-safer, tmpfile-safer; remove stdio-safer.
69626         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
69627         * modules/fopen-safer, modules/tmpfile-safer: New files.
69628         * modules/stdio-safer: Remove.
69629
69630 2006-07-24  Bruno Haible  <bruno@clisp.org>
69631
69632         * modules/tmpdir: New file.
69633         * MODULES.html.sh (File system functions): Add it.
69634
69635 2006-07-24  Bruno Haible  <bruno@clisp.org>
69636
69637         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
69638         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
69639
69640 2006-07-24  Bruno Haible  <bruno@clisp.org>
69641
69642         * modules/clean-temp: New file.
69643
69644 2006-07-24  Bruno Haible  <bruno@clisp.org>
69645
69646         * m4/tmpdir.m4: New file, from GNU gettext.
69647
69648 2006-07-24  Bruno Haible  <bruno@clisp.org>
69649
69650         * lib/tmpdir.h: New file, from GNU gettext.
69651         * lib/tmpdir.c: New file, from GNU gettext.
69652
69653 2006-07-24  Bruno Haible  <bruno@clisp.org>
69654
69655         * lib/clean-temp.h: New file, from GNU gettext.
69656         * lib/clean-temp.c: New file, from GNU gettext.
69657
69658 2006-07-23  Eric Blake  <ebb9@byu.net>
69659
69660         * modules/stdio-safer (Files): Add tmpfile-safer.c.
69661         (Depends-on): Add binary-io.
69662
69663 2006-07-23  Eric Blake  <ebb9@byu.net>
69664
69665         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
69666
69667 2006-07-23  Eric Blake  <ebb9@byu.net>
69668
69669         * lib/tmpfile-safer.c: New file.
69670         * lib/stdio-safer.h (fopen_safer): Add prototype.
69671         * lib/stdio--.h (tmpfile): Make safer.
69672
69673 2006-07-23  Bruno Haible  <bruno@clisp.org>
69674
69675         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
69676         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
69677         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
69678         gl_linked_remove_at): Use it.
69679
69680 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69681         and Simon Josefsson <jas@extundo.com>
69682
69683         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
69684
69685         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
69686
69687 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69688
69689         * modules/close-stream: New file.
69690         * modules/closeout (Description): Make it clear that it exits
69691         with a diagnostic on error.
69692         (Depends-on): Add close-stream.  Remove fpending, stdbool.
69693         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
69694
69695 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69696
69697         * m4/close-stream.m4: New file.
69698
69699 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
69700
69701         * lib/close-stream.c, lib/close-stream.h: New files.
69702
69703 2006-07-22  Bruno Haible  <bruno@clisp.org>
69704
69705         Merge from GNU gettext 0.15.
69706
69707         2006-05-01  Bruno Haible  <bruno@clisp.org>
69708
69709                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
69710
69711         2006-07-22  Bruno Haible  <bruno@clisp.org>
69712
69713                 * modules/javaversion: New file.
69714                 * MODULES.html.sh (Java): Add javaversion.
69715
69716         2006-03-12  Bruno Haible  <bruno@clisp.org>
69717
69718                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
69719
69720         2005-12-04  Bruno Haible  <bruno@clisp.org>
69721
69722                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
69723                 (untested).
69724
69725         2006-06-21  Bruno Haible  <bruno@clisp.org>
69726
69727                 Avoid warnings from recent versions of mcs.
69728                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
69729                 -o, -L, -r any more. Use options documented since mcs-1.0
69730                 instead. Similarly for -g.
69731
69732         2005-12-04  Bruno Haible  <bruno@clisp.org>
69733
69734                 * build-aux/csharpcomp.sh.in: Suffix for resources is
69735                 .resources, not .resource.
69736
69737         2005-07-09  Bruno Haible  <bruno@clisp.org>
69738
69739                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
69740                 add a .dll suffix.
69741                 Reported by Mark Junker <mjscod@gmx.de>.
69742
69743         2006-07-22  Bruno Haible  <bruno@clisp.org>
69744
69745                 * modules/gettext: Upgrade to gettext-0.15.
69746                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
69747                 m4/visibility.m4.
69748                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
69749
69750 2006-07-22  Bruno Haible  <bruno@clisp.org>
69751
69752         Merge from GNU gettext 0.15.
69753
69754         2006-03-25  Bruno Haible  <bruno@clisp.org>
69755
69756                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
69757
69758         2006-07-21  Bruno Haible  <bruno@clisp.org>
69759
69760                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
69761                 "1.1".
69762
69763         2006-05-09  Bruno Haible  <bruno@clisp.org>
69764
69765                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
69766                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
69767                 for the conftestver execution.
69768
69769         2006-05-01  Bruno Haible  <bruno@clisp.org>
69770
69771                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
69772                 optional target-version argument. Verify that the compiler
69773                 groks source of the specified source-version, or add -source
69774                 option as necessary. Verify that the compiler produces
69775                 bytecode in the specified target-version, or add -target and
69776                 -source options as necessary. Make the result of the test
69777                 available as variable CONF_JAVAC. Also log error output in
69778                 config.log.
69779
69780         2006-03-11  Bruno Haible  <bruno@clisp.org>
69781
69782                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
69783
69784         2006-05-09  Bruno Haible  <bruno@clisp.org>
69785
69786                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
69787                 CLASSPATH_SEPARATOR to a semicolon.
69788
69789         2006-03-12  Bruno Haible  <bruno@clisp.org>
69790
69791                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
69792                 available as variable CONF_JAVA, for subsequent autoconf
69793                 tests. Also log error output in config.log.
69794
69795         2006-07-19  Bruno Haible  <bruno@clisp.org>
69796
69797                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
69798                 that getline works on glibc2 systems. Needed to avoid trouble
69799                 in relocatable.c.
69800                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
69801
69802         2005-12-04  Bruno Haible  <bruno@clisp.org>
69803
69804                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
69805                 launcher (untested).
69806
69807         2005-12-04  Bruno Haible  <bruno@clisp.org>
69808
69809                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
69810
69811         2006-07-22  Bruno Haible  <bruno@clisp.org>
69812
69813                 * gettext.m4: Update from GNU gettext-0.15.
69814                 * nls.m4: Likewise.
69815                 * po.m4: Likewise.
69816                 * inttypes-pri.m4: Likewise.
69817                 * inttypes-h.m4: Renamed from inttypes.m4.
69818                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
69819
69820 2006-07-22  Bruno Haible  <bruno@clisp.org>
69821
69822         Merge from GNU gettext 0.15.
69823
69824         2005-07-05  Bruno Haible  <bruno@clisp.org>
69825
69826                 * printf-args.c (printf_fetchargs): Work around broken
69827                 definition of wint_t on mingw.
69828
69829         2005-02-12  Bruno Haible  <bruno@clisp.org>
69830
69831                 * xallocsa.h: Add extern "C" for C++.
69832
69833         2006-05-17  Bruno Haible  <bruno@clisp.org>
69834
69835                 Cygwin portability.
69836                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
69837
69838         2006-04-30  Bruno Haible  <bruno@clisp.org>
69839
69840                 * progreloc.c: Include <mach-o/dyld.h> if available.
69841                 (find_executable): Use _NSGetExecutablePath when possible.
69842
69843         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69844
69845                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
69846                 function.
69847
69848         2005-12-29  Bruno Haible  <bruno@clisp.org>
69849
69850                 * progreloc.c (set_program_name_and_installdir): Fix
69851                 compilation error.
69852
69853         2005-12-04  Bruno Haible  <bruno@clisp.org>
69854
69855                 Cygwin portability.
69856                 * progreloc.c: Include <windows.h> also on Cygwin.
69857                 (find_executable): Add support for Cygwin.
69858                 (set_program_name_and_installdir): Handle also platforms with
69859                 nonempty EXEEXT.
69860
69861         2006-07-11  Bruno Haible  <bruno@clisp.org>
69862
69863                 * javacomp.c: Fix a comment.
69864                 Reported by Jim Meyering.
69865
69866         2006-04-30  Bruno Haible  <bruno@clisp.org>
69867
69868                 * javacomp.h (compile_java_class): Add source_version,
69869                 target_version arguments.
69870                 * javacomp.c: Rewritten to choose only a compiler that
69871                 respects the specified source_version and target_version.
69872
69873         2006-06-27  Bruno Haible  <bruno@clisp.org>
69874
69875                 Assume correct S_ISDIR macro.
69876                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
69877
69878         2006-07-22  Bruno Haible  <bruno@clisp.org>
69879
69880                 * javaversion.h: New file, from GNU gettext.
69881                 * javaversion.c: New file, from GNU gettext.
69882                 * javaversion.java: New file, from GNU gettext.
69883                 * javaversion.class: New file, from GNU gettext.
69884
69885         2006-05-17  Bruno Haible  <bruno@clisp.org>
69886
69887                 Cygwin portability.
69888                 * javaexec.c (execute_java_class): Test for jview program
69889                 also on Cygwin.
69890
69891         2006-04-09  Bruno Haible  <bruno@clisp.org>
69892
69893                 * fatal-signal.c: Don't include string.h.
69894                 (at_fatal_signal): Use a copying loop instead of memcpy.
69895
69896         2005-12-04  Bruno Haible  <bruno@clisp.org>
69897
69898                 * csharpexec.c: Add support for 'clix' launcher (untested).
69899                 (execute_csharp_using_sscli): New function.
69900                 (execute_csharp_program): Call it.
69901
69902         2006-06-21  Bruno Haible  <bruno@clisp.org>
69903
69904                 Avoid warnings from recent versions of mcs.
69905                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
69906                 -o, -L, -r any more. Use options documented since mcs-1.0
69907                 instead. Similarly for -g.
69908
69909         2005-07-09  Bruno Haible  <bruno@clisp.org>
69910
69911                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
69912                 add a .dll suffix.
69913                 Reported by Mark Junker <mjscod@gmx.de>.
69914
69915         2006-06-17  Bruno Haible  <bruno@clisp.org>
69916
69917                 * config.charset: Update for NetBSD 3.0.
69918
69919         2006-05-17  Bruno Haible  <bruno@clisp.org>
69920
69921                 Cygwin portability.
69922                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
69923
69924         2006-05-16  Bruno Haible  <bruno@clisp.org>
69925
69926                 * localcharset.c [CYGWIN]: Include <windows.h>.
69927                 (get_charset_aliases): For Cygwin, return the same CPxxx
69928                 aliases list as under WIN32.
69929                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
69930                 the environment variables. Fall back to GetACP().
69931
69932         2006-04-05  Bruno Haible  <bruno@clisp.org>
69933
69934                 * config.charset: Update Juan Manuel Guerrero's address.
69935
69936         2005-02-12  Bruno Haible  <bruno@clisp.org>
69937
69938                 * allocsa.h: Add extern "C" for C++.
69939
69940         2005-02-10  Bruno Haible  <bruno@clisp.org>
69941
69942                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
69943                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
69944
69945         2006-07-22  Bruno Haible  <bruno@clisp.org>
69946
69947                 * gettext.h: Update to GNU gettext-0.15.
69948
69949 2006-07-22  Bruno Haible  <bruno@clisp.org>
69950
69951         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
69952         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
69953         lib-prefix.m4, longdouble.m4, ssize_t.m4.
69954
69955 2006-07-21  Eric Blake  <ebb9@byu.net>
69956
69957         * modules/stdlib-safer: New file.
69958         * MODULES.html.sh (File stream based Input/Output): Add
69959         stdlib-safer.
69960
69961 2006-07-21  Eric Blake  <ebb9@byu.net>
69962
69963         * lib/stdlib-safer.h: New file from coreutils, required by
69964         stdlib--.h.
69965
69966 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
69967
69968         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
69969
69970 2006-07-20  Bruno Haible  <bruno@clisp.org>
69971
69972         * gnulib-tool: Recognize new option --assume-autoconf.
69973         (autoconf_minversion): New variable.
69974         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
69975
69976 2006-07-20  Bruno Haible  <bruno@clisp.org>
69977
69978         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
69979
69980 2006-07-19  Derek R. Price  <derek@ximbiot.com>
69981
69982         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
69983         Reindent and repaginate.
69984
69985 2006-07-19  Derek Price  <derek@ximbiot.com>
69986
69987         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
69988         Correct grammar.
69989
69990 2006-07-17  Bruno Haible  <bruno@clisp.org>
69991
69992         * modules/list: New file.
69993         * modules/array-list: New file.
69994         * modules/carray-list, modules/carray-list-tests: New files.
69995         * modules/linked-list, modules/linked-list-tests: New files.
69996         * modules/avltree-list, modules/avltree-list-tests: New files.
69997         * modules/rbtree-list, modules/rbtree-list-tests: New files.
69998         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
69999         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
70000         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
70001         * modules/oset: New file.
70002         * modules/array-oset: New file.
70003         * modules/avltree-oset, modules/avltree-oset-tests: New files.
70004         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
70005         * tests/test-carray_list.c: New file.
70006         * tests/test-linked_list.c: New file.
70007         * tests/test-avltree_list.c: New file.
70008         * tests/test-rbtree_list.c: New file.
70009         * tests/test-linkedhash_list.c: New file.
70010         * tests/test-avltreehash_list.c: New file.
70011         * tests/test-rbtreehash_list.c: New file.
70012         * tests/test-avltree_oset.c: New file.
70013         * tests/test-rbtree_oset.c: New file.
70014         * MODULES.html.sh (Container data structures): New section.
70015
70016 2006-07-17  Bruno Haible  <bruno@clisp.org>
70017
70018         * m4/gl_list.m4: New file.
70019
70020 2006-07-17  Bruno Haible  <bruno@clisp.org>
70021
70022         * lib/gl_list.h: New file.
70023         * lib/gl_list.c: New file.
70024         * lib/gl_array_list.h: New file.
70025         * lib/gl_array_list.c: New file.
70026         * lib/gl_carray_list.h: New file.
70027         * lib/gl_carray_list.c: New file.
70028         * lib/gl_linked_list.h: New file.
70029         * lib/gl_linked_list.c: New file.
70030         * lib/gl_anylinked_list1.h: New file.
70031         * lib/gl_anylinked_list2.h: New file.
70032         * lib/gl_avltree_list.h: New file.
70033         * lib/gl_avltree_list.c: New file.
70034         * lib/gl_anyavltree_list1.h: New file.
70035         * lib/gl_anyavltree_list2.h: New file.
70036         * lib/gl_rbtree_list.h: New file.
70037         * lib/gl_rbtree_list.c: New file.
70038         * lib/gl_anyrbtree_list1.h: New file.
70039         * lib/gl_anyrbtree_list2.h: New file.
70040         * lib/gl_anytree_list1.h: New file.
70041         * lib/gl_anytree_list2.h: New file.
70042         * lib/gl_linkedhash_list.h: New file.
70043         * lib/gl_linkedhash_list.c: New file.
70044         * lib/gl_anyhash_list1.h: New file.
70045         * lib/gl_anyhash_list2.h: New file.
70046         * lib/gl_avltreehash_list.h: New file.
70047         * lib/gl_avltreehash_list.c: New file.
70048         * lib/gl_rbtreehash_list.h: New file.
70049         * lib/gl_rbtreehash_list.c: New file.
70050         * lib/gl_anytreehash_list1.h: New file.
70051         * lib/gl_anytreehash_list2.h: New file.
70052
70053         * lib/gl_oset.h: New file.
70054         * lib/gl_oset.c: New file.
70055         * lib/gl_array_oset.h: New file.
70056         * lib/gl_array_oset.c: New file.
70057         * lib/gl_avltree_oset.h: New file.
70058         * lib/gl_avltree_oset.c: New file.
70059         * lib/gl_rbtree_oset.h: New file.
70060         * lib/gl_rbtree_oset.c: New file.
70061         * lib/gl_anytree_oset.h: New file.
70062
70063 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70064
70065         * m4/mkancesdirs.m4: New file.
70066         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
70067         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
70068         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
70069         it.
70070
70071 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70072
70073         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
70074         * lib/mkancesdirs.h: New files.
70075         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
70076         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
70077         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
70078         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
70079         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
70080         callers changed.  Revamp internals significantly, by not
70081         attempting to create directories that are temporarily more
70082         permissive than the final results.  Do not attempt to use
70083         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
70084         This removes some race conditions, fixes some bugs, and simplifies
70085         things.  Use new dirchownmod function to do owner and mode changes.
70086         * lib/mkdir-p.h: Likewise.
70087         * lib/modechange.c (octal_to_mode): New function.
70088         (struct mode_change): New member mentioned.
70089         (make_node_op_equals): New arg mentioned.  All callers changed.
70090         (mode_compile): Keep track of which mode bits the user has explicitly
70091         mentioned.
70092         (mode_adjust): New arg DIR, so that we implement the X op correctly.
70093         New arg PMODE_BITS, to keep track of which mode bits the user
70094         mentioned; it treats S_ISUID and S_ISGID speciall.
70095         All callers changed.
70096         * lib/modechange.h: Likewise.
70097
70098 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
70099
70100         * MODULES.html.sh: Add mkancestors.
70101         * modules/mkancesdirs: New module.
70102         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
70103         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
70104         The chdir-safer and afs files are now orphans; I'll remove them
70105         unless someone speaks up.
70106         Add lib/dirchownmod.c, lib/dirchownmod.h.
70107         (Depends-on): Remove alloca, chown, save-cwd, dirname.
70108         Add lchown, mkancesdirs.
70109         (Maintainer): Add self.
70110
70111 2006-07-15  Karl Berry  <karl@gnu.org>
70112
70113         * gnulib-tool: help message wording/arrangement.
70114
70115 2006-07-14  Simon Josefsson  <jas@extundo.com>
70116
70117         * doc/gnulib.texi (Libtool and Windows): New section.
70118
70119 2006-07-12  Simon Josefsson  <jas@extundo.com>
70120
70121         * modules/gendocs (License): Fix license, approved by Karl.
70122
70123 2006-07-12  Eric Blake  <ebb9@byu.net>
70124
70125         * MODULES.html.sh: Add gendocs.
70126
70127 2006-07-11  Eric Blake  <ebb9@byu.net>
70128
70129         * modules/fdl: New module, to install doc/fdl.texi.
70130         * MODULES.html.sh: Add new section for documentation modules.
70131         * gnulib-tool: Avoid space-tab.
70132         (--doc-base): New option, to manage files from doc.
70133
70134 2006-07-11  Eric Blake  <ebb9@byu.net>
70135
70136         * m4/absolute-header.m4: Fix comments to match recent change.
70137
70138 2006-07-11  Eric Blake  <ebb9@byu.net>
70139
70140         * gnulib-tool: List --doc-base before --tests-base.
70141
70142 2006-07-11  Derek R. Price  <derek@ximbiot.com>
70143
70144         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
70145
70146 2006-07-11  Bruno Haible  <bruno@clisp.org>
70147
70148         * README: Mention where to put documentation.
70149
70150 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70151
70152         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
70153
70154 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70155
70156         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
70157         to stdint.m4.
70158
70159 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
70160
70161         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
70162         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
70163         "no/such/file/stdint.h" when there is no such file, so that
70164         the resulting C code can be parsed by dodgy compilers.
70165         Problems reported by Bob Proulx.
70166
70167 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70168
70169         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
70170         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70171         macros into the GNU _D_EXACT_NAMLEN.
70172         * lib/savedir.c:  Likewise.
70173         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
70174
70175 2006-07-10  Derek R. Price  <derek@ximbiot.com>
70176         and Paul Eggert  <eggert@cs.ucla.edu>
70177
70178         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
70179         * m4/savedir.m4:
70180         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
70181         macros into the GNU _D_EXACT_NAMLEN.
70182
70183 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70184
70185         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
70186         around the absolute name, to work around a problem with the HP-UX
70187         11.23 native C compiler, reported by Bob Proulx.
70188
70189 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70190
70191         * doc/maintain.texi, make-stds.texi: Sync from
70192         <http://savannah.gnu.org/projects/gnustandards>.
70193
70194 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70195
70196         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
70197
70198 2006-07-09  Jim Meyering  <jim@meyering.net>
70199
70200         * m4/glob.m4: Remove a doubled word in a comment.
70201
70202 2006-07-09  Jim Meyering  <jim@meyering.net>
70203
70204         * lib/argp-pv.c: Remove a doubled word in a comment.
70205         * lib/check-version.c (check_version): Likewise.
70206         * lib/javacomp.c (compile_java_class): Likewise.
70207
70208 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70209
70210         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
70211         for the benefit of people using Autoconf 2.60.  If you want to
70212         support older Autoconf versions you can copy m4/onceonly_2_57.m4
70213         (or m4/onceonly.m4, if pre-2.57) manually.
70214
70215 2006-07-08  Jim Meyering  <jim@meyering.net>
70216
70217         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
70218         comment.
70219         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
70220         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
70221         comment.
70222
70223 2006-07-08  Jim Meyering  <jim@meyering.net>
70224
70225         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
70226
70227 2006-07-07  Simon Josefsson  <jas@extundo.com>
70228
70229         * tests/test-crc.c: Change expected crc value, the test vector
70230         were probably computed using the old broken crc.c?
70231
70232 2006-07-06  Simon Josefsson  <jas@extundo.com>
70233
70234         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
70235         now the canonical place for the M4 file).
70236
70237         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
70238         from the sys_socket dependency now.
70239
70240         * modules/inet_pton (Files): Ditto.
70241
70242         * modules/inet_ntop (Files): Ditto.
70243
70244 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70245
70246         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
70247         not gl_PREREQ_GETUSERSHELL.
70248
70249 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70250
70251         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
70252         with only one argument, for Autoconf 2.60.
70253         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
70254         expand to nothing, so add a shell command to avoid syntax error.
70255         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
70256
70257 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70258
70259         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
70260
70261 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70262
70263         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
70264         no longer needed.  Check for isblank decl.
70265         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
70266         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
70267         of existence.
70268
70269 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70270
70271         * lib/getloadavg.c: Use __VMS, not VMS.
70272         * lib/getopt.c: Likewise.
70273         * lib/getpagesize.h: Likewise.
70274         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
70275         and probably does not work.
70276
70277 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70278
70279         * lib/.cppi-disable: Add wcwidth.
70280         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
70281         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
70282         (ISGRAPH): Remove.  All uses changed to isgraph.
70283         (FOLD) [!defined _LIBC]: Remove special case.
70284         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
70285         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
70286         HAVE_ISBLANK.
70287         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
70288         case.
70289
70290 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70291
70292         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
70293         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
70294         brackets.  Other minor changes to suppress some compiler
70295         warnings.
70296
70297 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70298         and Paul Eggert  <eggert@cs.ucla.edu>
70299
70300         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
70301         of invoking obsolescent AC_HEADER_DIRENT macro.
70302         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
70303         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
70304         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
70305         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
70306         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
70307         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
70308         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
70309         * m4/readdir.m4: Remove; no longer needed.
70310
70311 2006-07-06  Derek R. Price  <derek@ximbiot.com>
70312         and Paul Eggert  <eggert@cs.ucla.edu>
70313
70314         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
70315         Don't worry about this obsolete case any more.
70316         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
70317         directories.
70318         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
70319         worry about this obsolete case any more.
70320         * lib/fts.c: Likewise.
70321         * lib/getcwd.c: Likewise.
70322         * lib/glob.h: Likewise.
70323         * lib/savedir.c: Likewise.
70324
70325 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70326
70327         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
70328         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
70329         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
70330         needed.
70331         All uses removed.
70332         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70333         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70334         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
70335         needed.
70336         * m4/getdate.m4 (gl_GETDATE): Likewise.
70337         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70338         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70339         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70340         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70341         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
70342         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70343         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
70344         needed.
70345
70346 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70347
70348         * lib/memcasecmp.c: Include <limits.h>.
70349         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
70350         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
70351         Don't assume isdigit succeeds only on '0' through '9'.
70352
70353 2006-07-05  Eric Blake  <ebb9@byu.net>
70354
70355         * modules/getaddrinfo (Depends-on): Add snprintf.
70356
70357 2006-07-05  Eric Blake  <ebb9@byu.net>
70358
70359         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
70360         to avoid 'header present but could not be compiled' on cygwin.
70361
70362 2006-07-05  Eric Blake  <ebb9@byu.net>
70363
70364         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
70365         missing from netdb.h.
70366         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
70367
70368 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70369
70370         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
70371         no longer needed.
70372         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
70373         * m4/getdate.m4 (gl_GETDATE): Likewise.
70374         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
70375         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
70376         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
70377         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
70378         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70379
70380 2006-07-05  Derek R. Price  <derek@ximbiot.com>
70381
70382         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
70383         All uses of is_space replaced by isspace.
70384         * lib/exit.h: Don't talk about STDC_HEADERS.
70385         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
70386         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
70387         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
70388         replaced by isprint etc.
70389         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
70390         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70391         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
70392         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
70393         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
70394         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
70395
70396 2006-07-05  Bruno Haible  <bruno@clisp.org>
70397
70398         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
70399         the function exists, before testing against AIX.
70400         Reported by Martin Lambers <marlam@marlam.de>.
70401
70402 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70403
70404         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
70405         From Mark D. Baushke.
70406
70407 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
70408
70409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
70410         to the absolute name, not just one, to bypass Sun C 5.8's
70411         "warning: #include of /usr/include/... may be non-portable".
70412
70413 2006-07-04  Eric Blake  <ebb9@byu.net>
70414
70415         * modules/dirname-tests: New test module.
70416         * tests/test-dirname.c: New file, replacing dirname.c
70417         TEST_DIRNAME section that was recently deleted.
70418
70419 2006-07-04  Bruno Haible  <bruno@clisp.org>
70420
70421         Assume ANSI C header files and <ctype.h> functions.
70422         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
70423         (mbsnwidth): Use isprint, iscntrl instead.
70424
70425 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70426
70427         Merge from coreutils.
70428         * MODULES.html.sh: Add xstrtold.
70429         * modules/xstrtold: New file.
70430         * modules/cycle-check (Files): Add lib/same-inode.h.
70431         * modules/dirname (Files): Add m4/double-slash-root.m4.
70432         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
70433         * modules/mkdir-p (Files): Add lib/same-inode.h.
70434         * modules/same (Files): Add lib/same-inode.h.
70435
70436 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70437
70438         * m4/absolute-header.m4: Renamed from full-header-path.m4.
70439         This is to keep the terminology clean; POSIX talks about
70440         "absolute pathnames", not "full pathnames", but the GNU
70441         Coding Standards say to use "path" for something else;
70442         so use "absolute" to keep both sides happy.
70443         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
70444         Set gl_absolute_header, not gl_full_header_path.
70445         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
70446         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
70447         All uses changed.
70448
70449         Merge from coreutils.
70450
70451         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70452
70453         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
70454         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
70455         want to require the building of c-strtod.o.
70456         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
70457         needs -lm directly.
70458         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
70459
70460         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
70461
70462         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
70463         --as-needed option if available.  Problem reported by Albert Chin in
70464         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
70465         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
70466         cc merely issues a bunch of annoying warnings for --as-needed
70467         (this problem was reported by Bob Proulx).  Also, try linking with
70468         -lm to detect a bug in binutils 2.16 (this problem was reported
70469         by Ralf Wildenhues).
70470
70471         2006-06-18  Jim Meyering  <jim@meyering.net>
70472
70473         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
70474         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
70475         macro.
70476         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
70477         also check for glibc-2.4's abort-inducing bug.
70478
70479         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
70480         Low-probability clean-up should be to use rmdir to get rid of
70481         the just-created directory, not unlink.
70482
70483         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
70484         configure fail, and request a bug report to inform us about it.
70485         Add a comment that, barring reports to the contrary, in 2007 we'll
70486         assume ftruncate is universally available.
70487
70488         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70489
70490         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
70491
70492         2006-03-12  Jim Meyering  <jim@meyering.net>
70493
70494         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
70495         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
70496         * m4/same.m4 (gl_SAME): Likewise.
70497         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
70498
70499         2006-03-11  Eric Blake  <ebb9@byu.net>
70500
70501         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
70502         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
70503         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
70504         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
70505
70506 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70507
70508         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
70509         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
70510         reported by Mark D. Baushke, one in
70511         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
70512
70513         Merge from coreutils.
70514
70515         * lib/.cppi-disable: Add stdint_.h.
70516         * lib/.cvsignore: Add stdint.h.
70517
70518         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
70519
70520         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
70521         both double and long double versions.
70522         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
70523         * lib/xstrtold.c: New file.
70524         * lib/xstrtod.h (xstrtold): New decl.
70525
70526         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70527
70528         * lib/filemode.c (setst): Remove.
70529         (strmode): Rewrite to avoid setst.  This makes the code shorter,
70530         (arguably) clearer, and the generated code is a bit smaller on my
70531         Debian GNU/Linux stable x86 host.
70532
70533         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
70534
70535         * lib/filemode.c: Include "filemode.h" first, to test the interface.
70536         Assume that filemode.h includes sys/types.h and sys/stat.h.
70537         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
70538         (ftypelet): Reorder to put common cases first, for efficiency.
70539         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
70540         to do 'M'.
70541         (strmode): Renamed from mode_string, and now stores 12 bytes instead
70542         of 10, for compatibility with FreeBSD.  All callers changed.
70543         (filemodestring): Now stores 12 bytes instead of 10, and sets file
70544         types that can't be deduced solely from st_mode.  First arg is now a
70545         const pointer.
70546         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
70547         (strmode): Renamed from mode_string.
70548         (filemodestring): New decl.
70549         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
70550         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
70551         needed.
70552         (S_ISPORT, S_ISWHT): New macros, if not already defined.
70553
70554         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
70555
70556         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
70557         fsusage.h now does that.  Include fsusage.h first, to test interface.
70558         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
70559         at most one method (the old code could have generated decls that
70560         didn't conform to C89, not that this was ever exercised).
70561         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
70562
70563         2006-03-19  Jim Meyering  <jim@meyering.net>
70564
70565         Work even in a chroot where d_ino values for entries in "/"
70566         don't match the stat.st_ino values for the same names.
70567         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
70568         number, iterate through all entries again, using lstat instead.
70569         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
70570         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
70571
70572         * lib/getcwd.c (__getcwd): Clarify a comment.
70573         Use memcpy in place of a call to strcpy.
70574
70575         2006-03-12  Jim Meyering  <jim@meyering.net>
70576
70577         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
70578         matches that of the current directory (which we're about to chdir ".."
70579         out of), then save the dev-ino of the parent, instead.
70580
70581         * lib/same-inode.h (SAME_INODE): New file/macro.
70582         * lib/chdir-safer.c (SAME_INODE): Remove definition.
70583         Include "same-inode.h", instead.
70584         * lib/same.c: Likewise.
70585         * lib/cycle-check.h: Include "same-inode.h".
70586         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
70587         * lib/cycle-check.c (SAME_INODE): Remove definition.
70588         * lib/root-dev-ino.h: Include "same-inode.h".
70589
70590         2006-03-11  Eric Blake  <ebb9@byu.net>
70591
70592         * lib/same.c (same_name): s/base_name/last_component/
70593         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
70594         * lib/filenamecat.c (file_name_concat): Likewise.
70595
70596         2006-03-11  Eric Blake  <ebb9@byu.net>,
70597                     Paul Eggert  <eggert@cs.ucla.edu>
70598
70599         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
70600         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
70601         drive prefix.
70602         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
70603         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
70604         (last_component): New method.
70605         * lib/dirname.c (dir_len): Determine when drive letters need a
70606         subsequent slash.  Preserve // when it is special.
70607         (dir_name): Don't append dot when drive letter is absolute.
70608         [TEST_DIRNAME]: Move into a full-blown gnulib test.
70609         * lib/basename.c (base_name): New semantics - malloc the result.
70610         Preserve // when it is special.  Preserve relative files that look
70611         like drive letters.
70612         (base_len): Preserve // when it is special.
70613         (last_component): New method, similar to old base_name semantics.
70614         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
70615         base_name.  Strip redundant slashes from ///.
70616
70617 2006-07-03  Jim Meyering  <jim@meyering.net>
70618
70619         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
70620         macro is used before the first cycle_check call.
70621
70622 2006-07-03  Eric Blake  <ebb9@byu.net>
70623
70624         * modules/dirname (Depends-on): Add xstrndup.
70625
70626 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70627
70628         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
70629         test cases, so that config.log is a bit easier to follow.
70630
70631 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
70632
70633         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
70634         both are 64 bits, since this seems to be the tradition, and this
70635         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
70636         we ever run into a host that prefers long long to long in this
70637         case, we'll need another configure-time test.  Problem reported by
70638         Jim Meyering.
70639
70640 2006-07-02  Eric Blake  <ebb9@byu.net>
70641
70642         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
70643
70644 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70645
70646         * modules/inttypes (Depends-on): No longer depends on stdint.
70647         * modules/stdint (Description): Say more about assumptions.
70648         Say that the fast types might differ.  Say macros are used.
70649         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
70650         (Makefile.am): Revise list of substituted symbols to match
70651         new stdint.m4.
70652         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
70653         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
70654         * tests/test-stdint.c (verify_same_types)
70655         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
70656         the code conforms to C99/C89.
70657         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
70658         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
70659
70660 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70661
70662         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
70663         but fix a bug, by requiring at least 64 bits.
70664         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
70665         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
70666         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
70667         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70668
70669         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
70670         changes.  Make 2.59 a prerequisite.  Check and substitute for
70671         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
70672         inttypes.h.  Do not use special include files; just use the
70673         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
70674         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
70675         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
70676         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
70677         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
70678         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
70679         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
70680         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
70681         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
70682         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
70683         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
70684         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
70685         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
70686         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
70687         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
70688         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
70689         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
70690         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
70691         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
70692         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
70693         WINT_MAX.  Check for C99 conformance more strictly, by detecting
70694         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
70695         not check for things that C99 does not require, e.g., int8_t.  If
70696         a test isn't needed unless <stdint.h> isn't working, and is
70697         unlikely to be needed for any other reason, then don't do it
70698         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
70699         size_t, since we assume C89 freestanding at least.  Do not check
70700         for sig_atomic_t, wchar_t, or wint_t, since the code now does
70701         the right thing even if the types are not defined.  Instead use:
70702         (gl_STDINT_TYPE_PROPERTIES): New macro.
70703         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
70704         testing whether <sys/types.h> clashes, as Autoconf does this for
70705         us now.  All uses removed.
70706         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
70707         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
70708         (gl_CHECK_TYPE_SAME):
70709         Remove; no longer needed.
70710         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
70711         exists, since we'll return 0 anyway in that case.
70712         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
70713
70714 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
70717         possible collision with system files.
70718         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
70719         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
70720         WCHAR_MIN and WCHAR_MAX in this case.
70721         (<stddef.h>): Do not include; no longer needed.
70722         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
70723         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
70724         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
70725         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
70726         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
70727         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
70728         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
70729         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
70730         !defined(__c99))]: Include in this case too, since it's harmless
70731         now.
70732         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
70733         dangerous to do so.
70734         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
70735         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
70736         (_STDINT_MIN, _STDINT_MAX): New macros.
70737         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
70738         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
70739         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
70740         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
70741         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
70742         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
70743         macros, not typedefs; this simplifies things quite a bit.
70744         Use long int for all types narrower than int64_t.
70745         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
70746         Define in terms of long long int or int64_t or long int,
70747         not int64_t or int32_t.  This saves some compile-time testing.
70748         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
70749         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
70750         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
70751         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
70752         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
70753         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
70754         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
70755         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
70756         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
70757         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
70758         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70759         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70760         undef any previous version and define our own version, for
70761         simplicity and consistency with the new macros for types.
70762         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
70763         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
70764         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
70765         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
70766         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
70767         @WINT_T_SUFFIX@ to keep things simple here.
70768         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
70769         Simplify by assuming typical 8/16/32/64 host, since we're
70770         already doing that elsewhere anyway.
70771         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
70772         and assume long long int is 64 bits if available.  This
70773         speeds up 'configure'.
70774
70775 2006-07-01  Eric Blake  <ebb9@byu.net>
70776
70777         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
70778         Reported by Andreas Buening.
70779
70780 2006-07-01  Eric Blake  <ebb9@byu.net>
70781
70782         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
70783
70784 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
70785
70786         * lib/getaddrinfo.c: fixed typo
70787
70788 2006-06-29  Jim Meyering  <jim@meyering.net>
70789
70790         * modules/strftime (Maintainer): Add my name, since with the
70791         FPRINTFTIME changes strftime.c has forked from glibc.
70792
70793 2006-06-29  Eric Blake  <ebb9@byu.net>
70794
70795         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
70796
70797 2006-06-29  Eric Blake  <ebb9@byu.net>
70798
70799         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
70800
70801 2006-06-29  Eric Blake  <ebb9@byu.net>
70802
70803         * lib/stat_.h: New file.
70804
70805 2006-06-29  Eric Blake  <ebb9@byu.net>
70806
70807         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
70808         unused static function.
70809
70810 2006-06-29  Eric Blake  <ebb9@byu.net>
70811
70812         * doc/functions.texi (Function Portability): Document missing lstat
70813         on mingw.
70814
70815 2006-06-29  Eric Blake  <ebb9@byu.net>
70816
70817         * MODULES.html.sh: Add sys_stat.
70818         * modules/sys_stat: New module.
70819         * modules/mkstemp (Depends-on): Add sys_stat.
70820
70821 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70822
70823         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
70824
70825 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70826
70827         * m4/c-bs-a.m4: Removed.
70828
70829 2006-06-29  Derek R. Price  <derek@ximbiot.com>
70830
70831         * lib/strftime.c: Assume strftime() exists.
70832
70833 2006-06-29  Derek Price  <derek@ximbiot.com>
70834
70835         * modules/c-bs-a: Removed - \a is C89.
70836         * MODULES.html.sh: Remove c-bs-a.
70837
70838 2006-06-29  Bruno Haible  <bruno@clisp.org>
70839
70840         * modules/wcwidth (License): Change to LGPL.
70841
70842 2006-06-28  Simon Josefsson  <jas@extundo.com>
70843
70844         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
70845         on _WIN32.
70846
70847         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
70848         getnameinfo.
70849
70850 2006-06-28  Simon Josefsson  <jas@extundo.com>
70851
70852         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
70853
70854 2006-06-28  Simon Josefsson  <jas@extundo.com>
70855
70856         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
70857         functions there.  It will succeed on Windows XP, but on Windows
70858         2000 and (presumably) earlier, it will fail, and use the internal
70859         re-implementation.
70860         (use_win32_p): New function.
70861         (getaddrinfo): Use strtoul on servname, to support numeric ports.
70862         Support AI_NUMERICSERV to disable getservbyname.
70863         (getnameinfo): New function, only supports
70864         NI_NUMERICHOST|NI_NUMERICSERV for now.
70865
70866         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
70867         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
70868         getnameinfo.
70869
70870 2006-06-28  Eric Blake  <ebb9@byu.net>
70871
70872         * modules/wcwidth: New file.
70873         * modules/mbchar (Depends-on): Add wcwidth.
70874         * modules/mbswidth (Depends-on): Add wcwidth.
70875         * MODULES.html.sh: Add wcwidth.
70876
70877 2006-06-28  Eric Blake  <ebb9@byu.net>
70878
70879         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
70880         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
70881
70882 2006-06-28  Eric Blake  <ebb9@byu.net>
70883
70884         * lib/xvasprintf.h: Fix comments.
70885
70886 2006-06-28  Eric Blake  <ebb9@byu.net>
70887
70888         * lib/mbchar.h (wcwidth): Include wcwidth.h.
70889         * lib/mbswidth.c (wcwidth): Move from here...
70890         * lib/wcwidth.h: ...to this new file.
70891
70892 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70893
70894         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
70895
70896         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
70897         it's obsolete.
70898         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
70899
70900 2006-06-28  Derek R. Price  <derek@ximbiot.com>
70901
70902         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
70903         Autoconf 2.60 says this stuff was obsolete.
70904
70905 2006-06-28  Bruno Haible  <bruno@clisp.org>
70906
70907         * modules/wcwidth (Files): Add m4/wchar_t.m4.
70908
70909 2006-06-28  Bruno Haible  <bruno@clisp.org>
70910
70911         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
70912         gt_TYPE_WCHAR_T.
70913
70914 2006-06-28  Bruno Haible  <bruno@clisp.org>
70915
70916         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
70917         declaration for wcwidth.
70918         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
70919
70920 2006-06-28  Bruno Haible  <bruno@clisp.org>
70921
70922         * lib/mkdtemp.c [MINGW]: Include <io.h>.
70923         (mkdir): Define using _mkdir.
70924
70925 2006-06-28  Bruno Haible  <bruno@clisp.org>
70926
70927         * lib/getaddrinfo.h: Fix POSIX URL.
70928         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
70929         _WIN32.
70930         (use_win32_p): Make static.
70931         (getaddrinfo): Reject service name if it is empty or does not consist
70932         solely of decimal digits, or if its value is > 65535.
70933         (getnameinfo): Remove useless casts.
70934
70935 2006-06-27  Simon Josefsson  <jas@extundo.com>
70936
70937         * modules/sys_select: New file, suggested by Bruno Haible, Paul
70938         Eggert and Martin Lambers.
70939
70940 2006-06-27  Simon Josefsson  <jas@extundo.com>
70941
70942         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
70943         Eggert and Martin Lambers.
70944
70945 2006-06-27  Bruno Haible  <bruno@clisp.org>
70946
70947         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
70948         result to 0, not to empty.
70949         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
70950
70951 2006-06-27  Bruno Haible  <bruno@clisp.org>
70952
70953         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
70954
70955 2006-06-26  Simon Josefsson  <jas@extundo.com>
70956
70957         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
70958         present.
70959
70960 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
70963         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
70964         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
70965
70966 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
70967
70968         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
70969
70970 2006-06-26  Bruno Haible  <bruno@clisp.org>
70971
70972         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
70973
70974 2006-06-26  Bruno Haible  <bruno@clisp.org>
70975
70976         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
70977
70978 2006-06-26  Bruno Haible  <bruno@clisp.org>
70979
70980         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
70981         SGI C compiler in pre-C99 mode.
70982         Suggested by Mark D. Baushke and Larry Jones.
70983
70984 2006-06-26  Bruno Haible  <bruno@clisp.org>
70985
70986         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
70987         WCHAR_MAX.
70988         Reported by Mark D. Baushke and Larry Jones.
70989
70990 2006-06-26  Bruno Haible  <bruno@clisp.org>
70991
70992         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
70993         in pre-C99 mode.
70994         Suggested by Mark D. Baushke and Larry Jones.
70995
70996 2006-06-23  Simon Josefsson  <jas@extundo.com>
70997             Bruno Haible  <bruno@clisp.org>
70998
70999         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
71000         Emit mostlyclean-local rule.
71001         (func_emit_tests_Makefile_am): Likewise.
71002         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
71003
71004 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
71005
71006         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
71007
71008 2006-06-23  Bruno Haible  <bruno@clisp.org>
71009
71010         * tests/test-stdint.c: Update to match ISO C 99 Technical
71011         Corrigendum 1.
71012
71013 2006-06-23  Bruno Haible  <bruno@clisp.org>
71014
71015         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
71016
71017 2006-06-23  Bruno Haible  <bruno@clisp.org>
71018
71019         * lib/stdint_.h: Treat IRIX like OpenBSD.
71020
71021 2006-06-23  Bruno Haible  <bruno@clisp.org>
71022
71023         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
71024         ISO C 99 Technical Corrigendum 1.
71025
71026 2006-06-22  Simon Josefsson  <jas@extundo.com>
71027
71028         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
71029         MinGW.
71030
71031 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71032
71033         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
71034         needed.  Some compiler complained about some of them.  Problem reported
71035         by Larry Jones in
71036         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
71037
71038 2006-06-21  Simon Josefsson  <jas@extundo.com>
71039
71040         * tests/test-getaddrinfo.c: New file.
71041
71042         * modules/getaddrinfo-tests: New file.
71043
71044         * MODULES.html.sh: Add inet_pton.
71045
71046         * modules/inet_pton: New file.
71047
71048 2006-06-21  Simon Josefsson  <jas@extundo.com>
71049
71050         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
71051         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
71052         of using the (limited) gnulib implementation on Windows XP.
71053
71054         * m4/inet_pton.m4: New file.
71055
71056 2006-06-21  Simon Josefsson  <jas@extundo.com>
71057
71058         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
71059         variable.
71060
71061         * lib/socket_.h: Don't define WINVER.
71062
71063         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
71064         slightly modified to work in gnulib.
71065
71066 2006-06-21  Simon Josefsson  <jas@extundo.com>
71067
71068         * doc/gnulib.texi (Windows sockets): Add.
71069
71070 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
71071
71072         * lib/read-file.c (fread_file): Start with buffer allocation of
71073         0 bytes rather than 1 byte; this simplifies the code.
71074         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
71075         code to free buffer and save/restore errno.
71076         (internal_read_file): Remove unused local.
71077
71078 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
71079
71080         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
71081         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
71082         Problem reported by Denis Excoffier in
71083         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
71084
71085 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71086
71087         * modules/sys_socket, modules/socklen: Include sys/types since
71088         FreeBSD 4.x's sys/socket.h needs it.
71089
71090 2006-06-19  Simon Josefsson  <jas@extundo.com>
71091
71092         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
71093
71094 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
71095
71096         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
71097
71098 2006-06-19  Bruno Haible  <bruno@clisp.org>
71099
71100         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
71101         and FULL_PATH_INTTYPES_H in angle brackets.
71102         Reported by Mark D. Baushke <mdb@gnu.org>.
71103
71104 2006-06-17  Eric Blake  <ebb9@byu.net>
71105
71106         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
71107         errno.
71108
71109 2006-06-17  Bruno Haible  <bruno@clisp.org>
71110
71111         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
71112         <sys/inttypes.h>.
71113
71114 2006-06-17  Bruno Haible  <bruno@clisp.org>
71115
71116         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
71117         whether errno is declared. Assume <errno.h> declares errno.
71118
71119 2006-06-17  Bruno Haible  <bruno@clisp.org>
71120
71121         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
71122
71123 2006-06-17  Bruno Haible  <bruno@clisp.org>
71124
71125         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
71126         problem on Solaris 2.5.1.
71127
71128 2006-06-16  Eric Blake  <ebb9@byu.net>
71129
71130         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
71131         * lib/unicodeio.c [!defined errno]: Likewise.
71132         * lib/strtol.c [!defined errno]: Likewise.
71133         * lib/strtod.c [!defined errno]: Likewise.
71134
71135 2006-06-15  Eric Blake  <ebb9@byu.net>
71136
71137         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
71138
71139 2006-06-15  Eric Blake  <ebb9@byu.net>
71140
71141         * config/srclist.txt (ssize_t.m4): Lose sync.
71142
71143 2006-06-15  Bruno Haible  <bruno@clisp.org>
71144
71145         * modules/stdint (Files): Include m4/full-header-path.m4,
71146         m4/size_max.m4, m4/wchar_t.m4.
71147         (Makefile.am): Many more substitutions.
71148         * modules/stdint-tests: New file.
71149         * tests/test-stdint.c: New file.
71150
71151 2006-06-15  Bruno Haible  <bruno@clisp.org>
71152
71153         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
71154         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
71155         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
71156         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
71157         gl_CHECK_TYPE_SAME): New macros.
71158
71159 2006-06-15  Bruno Haible  <bruno@clisp.org>
71160
71161         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
71162
71163 2006-06-15  Bruno Haible  <bruno@clisp.org>
71164
71165         * lib/stdint_.h: Rewritten to be fully auto-configured.
71166         Fixes bug on HP-UX/IA64.
71167
71168 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
71169
71170         * lib/getdate.y (__attribute__): Don't define if already defined.
71171         Problem reported by Larry Jones.
71172         * lib/utimens.c (__attribute__): Likewise.
71173
71174 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
71175
71176         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
71177         reported by Andreas Schwab.
71178
71179 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71180             Bruno Haible  <bruno@clisp.org>
71181
71182         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
71183         check for the declaration of strnlen and a run test that exposes the
71184         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
71185         rpl_strndup.
71186
71187 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71188             Bruno Haible  <bruno@clisp.org>
71189
71190         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
71191
71192 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71193
71194         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
71195         compile test, for Tru64 4.0D.
71196
71197 2006-05-28  Karl Berry  <karl@gnu.org>
71198
71199         * config/srclist.txt (printf-args.c): lose sync.
71200
71201 2006-05-26  Martin Lambers  <marlam@marlam.de>
71202
71203         * lib/getpass.c: Updates the test for the native W32 API, and adds
71204         missing includes, thus fixing compilation warnings.
71205
71206 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
71207
71208         * lib/exclude.c (exclude_fnmatch): New function.
71209         (excluded_file_name): Call exclude_fnmatch.
71210         * lib/exclude.h (excluded_file_name): New prototype
71211
71212 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
71213
71214         * lib/tempname.c (small_open, large_open): New macros.
71215         (__open, __open64) [!_LIBC]: Remove.
71216         (__gen_tempname): Use small_open and large_open instead of __open
71217         and __open64.  This fixes a portability bug on HP-UX 11.11i
71218         reported by Simon Wing-Tang in
71219         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
71220
71221 2006-05-24  Bruno Haible  <bruno@clisp.org>
71222
71223         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
71224         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
71225         Reported by Thorsten Maerz <torte@netztorte.de> via
71226         Aaron Stone <aaron@serendipity.cx>.
71227
71228 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71229
71230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
71231         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
71232         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
71233         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
71234         not really conditional on the cache.
71235         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
71236
71237 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
71238
71239         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
71240         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
71241         (my_usleep): Don't mishandle maximum value.
71242
71243 2006-05-19  Jim Meyering  <jim@meyering.net>
71244
71245         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
71246
71247 2006-05-17  Bruno Haible  <bruno@clisp.org>
71248
71249         Cygwin portability.
71250         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
71251
71252 2006-05-17  Bruno Haible  <bruno@clisp.org>
71253
71254         * lib/stdint_.h: Fix recognition of Cygwin.
71255
71256 2006-05-15  Bruno Haible  <bruno@clisp.org>
71257
71258         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
71259         on libtool patch by Ralf Wildenhues.
71260
71261 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
71262
71263         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
71264         test for C99 conformance; (bool) 0.5 is an integer constant
71265         expression, but (bool) -0.5 is not.  Problem reported by Fedor
71266         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
71267
71268 2006-05-11  Simon Josefsson  <jas@extundo.com>
71269
71270         * m4/xvasprintf.m4: Fix obvious typo.
71271
71272 2006-05-11  Jim Meyering  <jim@meyering.net>
71273
71274         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
71275         James Lemley.
71276
71277 2006-05-10  Simon Josefsson  <jas@extundo.com>
71278
71279         * lib/md4.c: Typo fix, update copyright years.
71280         (K1, K2): Don't use L because it turn computations into 64-bit on
71281         64-bit platforms.
71282
71283 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
71284
71285         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
71286         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
71287         unwanted sign propagation, e.g., on hosts with 64-bit int.
71288         There still are some problems with reeelly weird theoretical hosts
71289         (e.g., 33-bit int) but it's not worth worrying about now.
71290         * lib/sha1.c (rol): Likewise.
71291         (K1, K2, K3, K4): Remove unnecessary L suffix.
71292
71293 2006-05-10  Bruno Haible  <bruno@clisp.org>
71294
71295         * lib/des.c: Cast to avoid warnings.
71296
71297 2006-05-09  Bruno Haible  <bruno@clisp.org>
71298
71299         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
71300         (Depends-on): Depend also on xsize, stdarg.
71301         (configure.ac): Add gl_XVASPRINTF.
71302
71303 2006-05-09  Bruno Haible  <bruno@clisp.org>
71304
71305         * m4/xvasprintf.m4: New file.
71306
71307 2006-05-09  Bruno Haible  <bruno@clisp.org>
71308
71309         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
71310         (EOVERFLOW): Define fallback value.
71311         (xstrcat): New function.
71312         (xvasprintf): Recognize the special case of a string concatenation.
71313
71314 2006-05-08  Eric Blake  <ebb9@byu.net>
71315
71316         * gnulib-tool (func_version): Base copyright year on CVS date.
71317         (func_emit_copyright_notice): New function.
71318         (func_emit_lib_Makefile_am): Use it.
71319         (func_emit_tests_Makefile_am): Likewise.
71320         (func_import): Likewise.
71321
71322 2006-05-08  Bruno Haible  <bruno@clisp.org>
71323
71324         * modules/stdarg: New file.
71325         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
71326
71327 2006-05-08  Bruno Haible  <bruno@clisp.org>
71328
71329         * m4/stdarg.m4: New file, from GNU gettext.
71330
71331 2006-05-08  Bruno Haible  <bruno@clisp.org>
71332
71333         * config/srclist.txt (build-aux/config.rpath): different from latest
71334         release.
71335
71336 2006-05-08  Bruno Haible  <bruno@clisp.org>
71337
71338         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
71339
71340 2006-05-05  Jim Meyering  <jim@meyering.net>
71341
71342         * m4/warning.m4: New file, derived from bison's file by the same name.
71343
71344 2006-05-03  Bruno Haible  <bruno@clisp.org>
71345
71346         * lib/stdint_.h: Shorter URL.
71347         * lib/inttypes.h: Likewise.
71348
71349 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71350
71351         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
71352
71353 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * lib/verify.h: Document the internals better.  Most of this change
71356         was written by Bruno Haible.
71357
71358 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
71359
71360         * doc/verify.texi: New file, partly based on a proposal by
71361         Bruno Haible.
71362
71363 2006-05-02  Bruno Haible  <bruno@clisp.org>
71364
71365         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
71366         test from here...
71367         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
71368
71369 2006-04-29  Bruno Haible  <bruno@clisp.org>
71370
71371         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
71372         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
71373
71374 2006-04-29  Bruno Haible  <bruno@clisp.org>
71375
71376         * gnulib-tool: Make --update option actually work.
71377
71378 2006-04-29  Bruno Haible  <bruno@clisp.org>
71379
71380         * doc/gcd.texi: New file.
71381         * doc/gnulib.texi: Include it.
71382
71383 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
71384
71385         * lib/getdate.y (get_date): When adding relative date, start with the
71386         initial time, not with the result of the first mktime call.
71387
71388 2006-04-25  Bruno Haible  <bruno@clisp.org>
71389
71390         * gnulib-tool (func_import): Output the include directives in three
71391         blocks, sorted separately.
71392         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71393
71394 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
71397         to define main with arguments, for C++.  Reported by Eric Blake.
71398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
71399         Prefer 'int main ()' to 'int main (void)', for C++.
71400         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
71401         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
71402         for 'main', for C99 and C++.
71403
71404 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
71405
71406         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
71407         Don't assume that exit status -1 is valid.
71408         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71409         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
71410         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
71411         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
71412         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
71413         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
71414         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
71415         functions can be used without declaring them, or that you can
71416         exit with status -1.
71417         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
71418
71419 2006-04-24  Karl Berry  <karl@gnu.org>
71420
71421         * config/srclist.txt (longdouble.m4): sync lost.
71422
71423 2006-04-24  Eric Blake  <ebb9@byu.net>
71424
71425         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
71426
71427 2006-04-24  Bruno Haible  <bruno@clisp.org>
71428
71429         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
71430         poll() implementation in AIX.
71431         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71432
71433 2006-04-24  Bruno Haible  <bruno@clisp.org>
71434
71435         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
71436         assigned exactly once.
71437
71438 2006-04-23  Claudio Fontana  <claudio@gnu.org>
71439             Bruno Haible  <bruno@clisp.org>
71440
71441         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
71442         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
71443         for AM_CPPFLAGS.
71444
71445 2006-04-23  Bruno Haible  <bruno@clisp.org>
71446
71447         * modules/copy-file: Depend on unistd.
71448         * modules/execute: Likewise.
71449         * modules/fatal-signal: Likewise.
71450         * modules/findprog: Likewise.
71451         * modules/mkdtemp : Likewise.
71452         * modules/pipe: Likewise.
71453         * modules/wait-process: Likewise.
71454
71455 2006-04-23  Bruno Haible  <bruno@clisp.org>
71456
71457         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
71458         condition was already detected.
71459         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71460
71461 2006-04-23  Bruno Haible  <bruno@clisp.org>
71462
71463         * lib/copy-file.c: Include <unistd.h> unconditionally.
71464         * lib/execute.c: Likewise.
71465         * lib/fatal-signal.c: Likewise.
71466         * lib/findprog.c: Likewise.
71467         * lib/mkdtemp.c: Likewise.
71468         * lib/pipe.h: Likewise.
71469         * lib/pipe.c: Likewise.
71470         * lib/wait-process.h: Likewise.
71471
71472 2006-04-23  Bruno Haible  <bruno@clisp.org>
71473
71474         * gnulib-tool (func_usage): Fix --import description. Document
71475         --update.
71476         (func_import): Create temporary file in a temporary directory, if
71477         --dry-run is specified. Silence errors from 'grep' when there are no
71478         m4 files in $m4dir.
71479         (func_create_testdir): Silence errors from 'grep' when there are no
71480         m4 files in $m4dir.
71481         Reported by Karl Berry <karl@freefriends.org>.
71482
71483 2006-04-20  Bruno Haible  <bruno@clisp.org>
71484
71485         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
71486         one argument, so that the code will be portable to Autoconf 2.60.
71487         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
71488         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
71489         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
71490
71491 2006-04-19  Derek Price  <derek@ximbiot.com>
71492             Eric Blake  <ebb9@byu.net>
71493
71494         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
71495         rather than "/full/path.h".  Update comment to match.  Shorten &
71496         generalize m4_translit call via AS_TR_CPP.
71497
71498 2006-04-19  Derek Price  <derek@ximbiot.com>
71499             Eric Blake  <ebb9@byu.net>
71500
71501         * lib/inttypes.h: Correct grammar in comment.
71502
71503 2006-04-18  Derek Price  <derek@ximbiot.com>
71504             Paul Eggert  <eggert@cs.ucla.edu>
71505
71506         * modules/inttypes: New file.
71507         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
71508
71509 2006-04-18  Derek Price  <derek@ximbiot.com>
71510             Paul Eggert  <eggert@cs.ucla.edu>
71511
71512         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
71513         New files.
71514
71515 2006-04-18  Derek Price  <derek@ximbiot.com>
71516             Paul Eggert  <eggert@cs.ucla.edu>
71517
71518         * lib/inttypes.h: New file.
71519         * lib/strtoimax.c: Assume <inttypes.h>.
71520
71521 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
71522
71523         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
71524         isn't mounted.  Problem reported by Kir Kolyshkin.
71525
71526 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71527
71528         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
71529         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
71530         Derek R. Price.
71531         * lib/regex.h (RE_DUP_MAX): Update comment to match current
71532         implementation.
71533
71534 2006-04-12  Eric Blake  <ebb9@byu.net>
71535
71536         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
71537         is now done automatically by the corresponding Autoconf macro.
71538
71539 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
71540
71541         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
71542         time_r.h.
71543
71544 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71545
71546         Merge regex changes from libc, removing some of our
71547         POSIX-conformance changes that were rejected and redoing them in a
71548         less-intrusive way.
71549
71550         * lib/regcomp.c (re_compile_internal, init_dfa):
71551         Length arg is now size_t, not Idx.  All uses changed.
71552         (peek_token): Forward decl now says internal_function.
71553         (__re_error_msgid, __re_error_msgid_idx):
71554         Now static rather than extern with attribute_hidden.
71555         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
71556         For some reason libc prefers K&R style defns for external functions.
71557         (regerror) [!defined _LIBC]: Likewise.
71558         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
71559         (seek_collating_symbol_entry, lookup_collation_sequence_value):
71560         (build_range_exp, build_collating_symbol):
71561         Use K&R-style defn.
71562         (re_compile_fastmap): Use '\0' to memset, not 0.
71563         (utf8_sb_map): Make the calculations more obvious.
71564         (init_dfa, parse_bracket_exp, build_charclass_op):
71565         Call calloc and cast result, as glibc does.
71566         (init_word_char, fetch_token, peek_token, peek_token_bracket):
71567         (build_range_exp, build_collating_symbol):
71568         Now internal functions.
71569
71570         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
71571
71572         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
71573         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
71574         Don't depend on VMS; depend on __VMS instead, for POSIX
71575         namespace cleanness.
71576         (regoff_t): Define to ssize_t, not long int.
71577
71578         Remove the REG_ macros named below.  Instead, make the old names
71579         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
71580         __USE_GNU_REGEX.
71581         (REG_BACKSLASH_ESCAPE_IN_LISTS):
71582         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
71583         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
71584         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
71585         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
71586         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
71587         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
71588         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
71589         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
71590         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
71591         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
71592         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
71593         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
71594         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
71595         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
71596         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
71597         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
71598         (REG_NREGS):
71599         Remove.  All uses replaced by the old RE_* names.
71600         (RE_BACKSLASH_ESCAPE_IN_LISTS):
71601         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
71602         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
71603         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
71604         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
71605         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
71606         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
71607         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
71608         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
71609         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
71610         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
71611         Don't bother having these macros be independent of each others'
71612         values, since they no longer exist in the POSIX name space.
71613
71614         Rename the following member names back to their old names,
71615         unless !__USE_GNU_REGEX.  All uses changed back.
71616         (buffer): Renamed from re_buffer.
71617         (allocated): Renamed from re_allocated.
71618         (used): Renamed from re_used.
71619         (syntax): Renamed from re_syntax.
71620         (fastmap): Renamed from re_fastmap.
71621         (translate): Renamed from re_translate.
71622         (can_be_null): Renamed from re_can_be_null.
71623         (regs_allocated): Renamed from re_regs_allocated.
71624         (fastmap_accurate): Renamed from re_fastmap_accurate.
71625         (no_sub): Renamed from re_no_sub.
71626         (not_bol): Renamed from re_not_bol.
71627         (not_eol): Renamed from re_not_eol.
71628         (newline_anchor): Renamed from re_newline_anchor.
71629         (num_regs): Renamed from rm_num_regs.
71630         (start): Renamed from rm_start.
71631         (end): Renamed from rm_end.
71632
71633         (free_state): Move up a bit.
71634
71635         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
71636         #define to be empty.
71637         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
71638         when that is what is intended.
71639         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
71640         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
71641         (MAX): New macro.
71642         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
71643         All uses changed back to re_malloc, etc.  It's now the caller's
71644         responsibility to check for overflow; all callers changed.
71645         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
71646         (re_x2nrealloc): Remove.
71647         (free_state): Remove decl.
71648
71649         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
71650         (re_set_registers, re_exec):
71651         Use K&R-style defn.
71652
71653         2006-01-31  Roland McGrath  <roland@redhat.com>
71654
71655         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
71656         Reported by Mike Frysinger <vapier@gentoo.org>.
71657
71658         2006-01-15  Andreas Jaeger  <aj@suse.de>
71659
71660         [BZ #1950]
71661         * lib/regex_internal.c (re_string_reconstruct): Adjust for
71662         build_wcs_upper_buffer change.
71663         (build_wcs_upper_buffer): Change return type.
71664
71665         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
71666
71667         * lib/regex_internal.h: Include <stdint.h> if available.
71668
71669         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
71670
71671         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
71672
71673         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71674
71675         * lib/regcomp.c: Adjust for changed secondary hash function.
71676
71677         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
71678
71679         * lib/regex.h: Pretty printing.
71680         Clean up namespace a bit.
71681
71682         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
71683
71684         * lib/regexec.c (update_cur_sifted_state, check_arrival,
71685         check_arrival_add_next_nodes): Avoid using uninitialized variable.
71686
71687         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71688                     Ulrich Drepper  <drepper@redhat.com>
71689
71690         [BZ #1302]
71691         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
71692         changed.
71693         (bitset_word_t): Renamed from bitset_word.  All uses changed.
71694
71695         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
71696
71697         [BZ #281]
71698         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
71699         * lib/regcomp.c: Remove unnecessary uses of
71700         unsigned RE_TRANSLATE_TYPE.
71701         * lib/regex_internal.h: Likewise.
71702         * lib/regex_internal.c: Likewise.
71703         * lib/regexec.c: Likewise.
71704         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
71705
71706         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
71707
71708         * lib/regexec.c (find_recover_state): Remove unnecessary
71709         initialization.
71710         (transit_state_bkref): Make DFA a const pointer.
71711         (get_subexp): Likewise.
71712         (check_arrival): Likewise.
71713         (update_cur_sifted_state): Likewise.
71714         (re_search_internal): Likewise.
71715         (prune_impossible_nodes): Likewise.
71716         (acquire_init_state_context): Likewise.
71717         (proceed_next_node): Likewise.
71718         (set_regs): Likewise.
71719         (free_fail_stack_return): Likewise.
71720         (check_arrival_expand_ecl): Mark DFA parameter as const.
71721         (check_arrival_expand_ecl_sub): Likewise.
71722         (check_subexp_limits): Likewise.
71723         (sub_epsilon_src_nodes):  Likewise.
71724         (add_epsilon_src_nodes):  Likewise.
71725         (merge_state_array): Likewise.
71726         (update_regs): Likewise.
71727         (build_trtable): Likewise.
71728         (sift_states_backward): Mark MCTX parameter as const.
71729         (build_sifted_states): Likewise.
71730         (update_cur_sifted_state): Likewise.
71731         (sift_states_mkref): Likewise.
71732         (check_arrival_expand_ecl): Mark eclosure as const.
71733         (check_dst_limits_calc_pos_1): Likewise.
71734         * lib/regex_internal.h (re_match_context_t): Make dfa a const
71735         pointer.
71736
71737         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
71738
71739         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
71740         (transit_state_sb): Likewise.
71741         (transit_state_mb): Likewise.
71742         (sift_states_iter_mb): Likewise.
71743         (check_arrival_add_next_nodes): Likewise.
71744         (check_node_accept_bytes): Change first parameter to pointer-to-const.
71745         [_LIBC] (re_search_2_stub): Use mempcpy.
71746
71747         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
71748         mbrtowc for very simple UTF-8 case.
71749
71750         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
71751         a pointer-to-const.
71752         (re_acquire_state_context): Likewise.
71753         * lib/regex_internal.h: Adjust prototypes.
71754
71755         * lib/regex.c: Prevent using C++ compilers.
71756
71757         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
71758         (re_acquire_state_context): Likewise.
71759
71760 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71761
71762         * modules/regex (Depends-on): Add ssize_t.
71763
71764 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71765
71766         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
71767         translation table.
71768
71769 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
71770
71771         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
71772
71773 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
71774             Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
71777         <sys/types.h> and <inttypes.h>.
71778
71779 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71780
71781         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
71782         `__error_t_defined', so argp.h will not typedef the former.
71783
71784 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
71785
71786         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
71787         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
71788         glibc names.  Even if glibc is changed to conform to POSIX, the
71789         traditional names will be available anyway, since regex depends on
71790         the extensions module.  Also, fix a longstanding typo in the
71791         implementation of Spencer ERE test #75 from grep 2.3.  Problems
71792         reported by Emanuele Giaquinta.  Also, change sense of cached
71793         variable, so that the message makes sense.
71794
71795 2006-03-24  Simon Josefsson  <jas@extundo.com>
71796
71797         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
71798         including some doc fixes.
71799         (base64_encode_alloc): Fix +1 bug on allocation failures.
71800
71801 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71802
71803         * lib/base64.c (base64_encode): Do not read past end of array with
71804         unsanitized input on systems with CHAR_BIT > 8.
71805
71806 2006-03-24  Eric Blake  <ebb9@byu.net>
71807
71808         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
71809
71810 2006-03-22  Karl Berry  <karl@gnu.org>
71811
71812         * config/srclist.txt (*setenv.[ch]): get from coreutils.
71813         * config/srclistvars.sh (COREUTILS): new var.
71814
71815 2006-03-17  Jim Meyering  <jim@meyering.net>
71816
71817         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
71818         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
71819
71820 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71821
71822         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
71823         no longer needs it.  Instead, check that regoff_t is as least
71824         as wide as ptrdiff_t.
71825
71826         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
71827         so that our regex.h stays compatible with the installed regex.
71828         This is helpful for installers who configure --without-included-regex.
71829         Problem reported by Emanuele Giaquinta.
71830
71831 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
71832
71833         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
71834         Typedef to long int, not to off_, as POSIX will likely change
71835         in that direction.
71836
71837 2006-03-15  Eric Blake  <ebb9@byu.net>
71838
71839         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
71840
71841 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
71842
71843         * lib/argp-help.c (validate_uparams): Fix typo
71844         * lib/argp-parse.c (argp_default_options): Consistently begin help
71845         messages with a lowercase letter.
71846
71847 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
71848
71849         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
71850         overrun buffers and shouldn't be used (much as gets shouldn't be
71851         used).
71852         * lib/time_r.c (asctime_r, ctime_r): Likewise.
71853
71854 2006-03-08  Simon Josefsson  <jas@extundo.com>
71855
71856         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
71857         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71858
71859 2006-03-08  Simon Josefsson  <jas@extundo.com>
71860
71861         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
71862         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71863
71864 2006-03-08  Simon Josefsson  <jas@extundo.com>
71865
71866         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
71867         signal that configure disabled the device.
71868
71869 2006-03-08  Simon Josefsson  <jas@extundo.com>
71870
71871         * build-aux/maint.mk: Fix refresh-po, to handle no translated
71872         languages.
71873
71874 2006-03-07  Simon Josefsson  <jas@extundo.com>
71875
71876         * modules/getopt (Depends-on): Add unistd.
71877
71878         * modules/unistd: New file.
71879
71880 2006-03-07  Simon Josefsson  <jas@extundo.com>
71881
71882         * modules/gc-random: New file.
71883
71884 2006-03-07  Simon Josefsson  <jas@extundo.com>
71885
71886         * m4/unistd_h.m4: New file.
71887
71888 2006-03-07  Simon Josefsson  <jas@extundo.com>
71889
71890         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
71891         test to be side-effect free by storing the result in the cache
71892         variable gl_cv_lib_readline, and moving the assignment of
71893         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
71894         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71895
71896 2006-03-07  Simon Josefsson  <jas@extundo.com>
71897
71898         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
71899         error on missing devices (the functions will return an error).
71900
71901         * m4/gc.m4: Move random stuff to gc-random.m4
71902
71903 2006-03-07  Simon Josefsson  <jas@extundo.com>
71904
71905         * lib/unistd_.h: New file.
71906
71907 2006-03-07  Simon Josefsson  <jas@extundo.com>
71908
71909         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
71910
71911 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71912
71913         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
71914         Problem reported by Juan Manuel Guerrero.
71915
71916 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71917
71918         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
71919         the unistd module.
71920         * lib/getlogin_r.c: Likewise.
71921         * lib/getlogin_r.h: Likewise.
71922         * lib/glob.c: Likewise.
71923         * lib/pagealign_alloc.c: Likewise.
71924         * lib/unistd_.h: Remove; no longer needed.
71925
71926 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
71927
71928         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71929         Add unistd.
71930         * modules/c-stack (Depends-on): Add unistd.
71931         * modules/getlogin_r: Likewise.
71932         * modules/glob: Likewise.
71933         * modules/pagealign_alloc: Likewise.
71934         * modules/unistd (Files): Remove lib/unistd_.h.
71935         (EXTRA_DIST): Remove.
71936         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
71937         need unistd_.h.
71938         (MOSTLYCLEANFILES): Remove unistd.h-t.
71939
71940 2006-03-03  Simon Josefsson  <jas@extundo.com>
71941
71942         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
71943
71944 2006-03-03  Simon Josefsson  <jas@extundo.com>
71945
71946         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
71947         libidn and bison.
71948
71949 2006-03-03  Simon Josefsson  <jas@extundo.com>
71950
71951         * build-aux/maint.mk: Add indent target.
71952
71953 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
71954
71955         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
71956         our replacement poll.h in any case, to avoid a differing
71957         declaration from a system header.  Seen on AIX.
71958
71959 2006-03-01  Simon Josefsson  <jas@extundo.com>
71960
71961         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
71962         <kasal@ucw.cz>.
71963
71964 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71965
71966         * modules/gettime (Depends-on): Add extensions module.
71967         * modules/nanosleep (Depends-on): Likewise.
71968         * modules/settime (Depends-on): Likewise.
71969
71970 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71971
71972         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
71973         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
71974         pedantically.
71975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71976         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
71977
71978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
71979         not "==".  Reported by Ralf Wildenhues.
71980
71981 2006-03-01  Karl Berry  <karl@gnu.org>
71982
71983         * doc/Copyright/request-*: new files, synced from gnuorg.
71984
71985 2006-03-01  Karl Berry  <karl@gnu.org>
71986
71987         * config/srclist.txt (Copyright/*): new entries.
71988
71989 2006-02-28  Simon Josefsson  <jas@extundo.com>
71990
71991         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
71992
71993 2006-02-27  Simon Josefsson  <jas@extundo.com>
71994
71995         * lib/base64.h: Indent #define's.  From Jim Meyering
71996         <jim@meyering.net>.
71997
71998 2006-02-27  Jim Meyering  <jim@meyering.net>
71999
72000         Revert the change of 2006-02-24, so these files can continue
72001         to be sync'd from gettext.
72002         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
72003         of `config.h'.
72004
72005 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72006
72007         * modules/intprops: New file.
72008         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72009         Add intprops.
72010         * modules/getloadavg (Files): Remove lib/intprops.h.
72011         (Depends-on): Add intprops.
72012         * modules/human: Likewise.
72013         * modules/inttostr: Likewise.
72014         * modules/openat: Likewise.
72015         * modules/sig2str: Likewise.
72016         * modules/userspec: Likewise.
72017         * modules/utimecmp: Likewise.
72018         * modules/xnanosleep: Likewise.
72019         * modules/xstrtol: Likewise.
72020
72021 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
72022
72023         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
72024         * modules/lock-tests (TESTS): Use $(EXEEXT).
72025         * modules/tls-tests: Likewise.
72026         * modules/argp-tests: Likewise.
72027         (check_PROGRAMS): New var, replacing...
72028         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
72029
72030 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72031
72032         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
72033         `config.h'.
72034
72035 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72036
72037         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
72038
72039 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72040
72041         Sync from coreutils.
72042         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
72043         gl_CHDIR_SAFER.
72044
72045 2006-02-22  Jim Meyering  <jim@meyering.net>
72046
72047         Sync from coreutils.
72048         * m4/chdir-safer.m4: New file.
72049
72050 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72051
72052         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
72053         AT_FDCWD exceeds INT_MAX.
72054         * lib/openat.h (AT_FDCWD): Likewise.
72055
72056 2006-02-17  Eric Blake  <address@hidden>
72057
72058         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
72059
72060 2006-02-16  Simon Josefsson  <jas@extundo.com>
72061
72062         * modules/getaddrinfo (Depends-on): Add sys_socket.
72063
72064 2006-02-15  Simon Josefsson  <jas@extundo.com>
72065
72066         * build-aux/maint.mk: Add dsyntax-check rule.
72067
72068 2006-02-15  Eric Blake  <ebb9@byu.net>
72069
72070         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
72071         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
72072         'present but cannot compile' warnings on cygwin.
72073         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
72074         use ws2tcpip.h if sys/socket.h works.
72075         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
72076         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
72077
72078 2006-02-14  Simon Josefsson  <jas@extundo.com>
72079
72080         * modules/maintainer-makefile (Files): Rename.
72081
72082         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
72083         and (the local) Makefile.cfg to maint-cfg.mk.
72084
72085         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
72086         to the latter.
72087
72088         * modules/maintainer-makefile: New module.
72089
72090         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
72091         severaly stripped to make it possible to build it up from scratch
72092         with reliable tests.
72093
72094         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
72095         fixes to permit overriding the default actions when configure and
72096         makefile are not available.
72097
72098 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72099
72100         Sync from coreutils.
72101         * modules/lstat (Depends-on): Don't depend on xalloc.
72102         (License): Change from GPL to LGPL, since this is now simply a
72103         replacement for a libc function.
72104
72105 2006-02-14  Jim Meyering  <jim@meyering.net>
72106
72107         Sync from coreutils.
72108
72109         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
72110         failure on deficient systems, and simplify gnulib lgpl dependencies.
72111         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
72112         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
72113
72114         * lib/xalloc-die.c: Remove unused definition of N_.
72115
72116 2006-02-14  Jim Meyering  <jim@meyering.net>
72117
72118         Sync from coreutils.
72119         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
72120         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
72121         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
72122         double-quote uses of that variable, to accommodate the rare case in
72123         which getmntent is available in none of the libraries checked.  This
72124         happens at least on FreeBSD 5.0.
72125
72126 2006-02-13  Simon Josefsson  <jas@extundo.com>
72127
72128         * gnulib-tool (Usage): Fix --import, from
72129         karl@freefriends.org (Karl Berry).
72130
72131 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
72132
72133         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
72134
72135 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
72136
72137         * lib/argp-namefrob.h: Restore changes accidentally lost during the
72138         "autoupdate" on 2005-12-12.
72139
72140 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72141
72142         * modules/closeout (Depends-on): Remove atexit.
72143
72144 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
72145
72146         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
72147         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
72148
72149 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72150
72151         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
72152         __EXTENSIONS__ if this causes compilation to fail.  Problem
72153         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
72154         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
72155
72156 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
72157
72158         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
72159         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
72160         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
72161         All uses changed.
72162
72163 2006-01-26  Simon Josefsson  <jas@extundo.com>
72164
72165         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
72166         prototype is visible on mingw32.
72167
72168         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
72169         for mingw32.
72170
72171         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
72172         mingw32).
72173
72174 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72175
72176         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
72177         attempt to open for write; this always fails, at least on POSIX
72178         hosts.  This reinstates the 2006-01-09 change, which was
72179         inadvertently removed.
72180
72181 2006-01-26  Bruno Haible  <bruno@clisp.org>
72182
72183         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
72184         Reported by Paul Eggert.
72185
72186 2006-01-26  Bruno Haible  <bruno@clisp.org>
72187             Paul Eggert  <eggert@cs.ucla.edu>
72188
72189         * lib/stdbool_.h (_Bool)
72190         [(! (defined __cplusplus || defined __BEOS__)
72191           && !defined __GNUC__
72192           && !(defined __HP_cc || defined __xlc__
72193                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
72194                || defined __sgi))]:
72195         #define to signed char in these cases too; this simplifies
72196         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
72197         etc., separately) and makes it more conservative.
72198
72199 2006-01-25  Simon Josefsson  <jas@extundo.com>
72200
72201         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
72202         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
72203         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
72204
72205 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72206
72207         * lib/argp-namefrob.h: Bugfix. Remove stray #
72208
72209 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
72210
72211         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
72212         so that we test the test.
72213         Check for yet another HP-UX cc bug involving *bool |= bool.
72214
72215 2006-01-25  Karl Berry  <karl@gnu.org>
72216
72217         * config/srclist.txt (vasnprintf.c): sync lost.
72218
72219 2006-01-25  Jim Meyering  <jim@meyering.net>
72220
72221         Sync from the stable (b5) branch of coreutils:
72222
72223         * lib/fts.c (fts_children): Don't let close() clobber errno from
72224         failed fchdir().
72225
72226         * lib/fts.c (fts_stat): When following a symlink-to-directory,
72227         don't necessarily interpret stat-fails+lstat-succeeds as indicating
72228         a dangling symlink.  That can also happen at least for ELOOP.
72229         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
72230         FYI, this bug predates the inclusion of fts.c in coreutils.
72231
72232         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
72233         in their own block, so pre-c99 compilers don't object.
72234
72235         Avoid the double-free (first in fts_read, second in fts_close) that
72236         would occur when an `active' directory is made inaccessible (e.g.,
72237         via chmod a-x) during a traversal.
72238         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72239         before returning.  Reproduce this failure by
72240         mkdir -p a/b; cd a; chmod a-x . b
72241         Reported by Stavros Passas.
72242
72243 2006-01-25  Jim Meyering  <jim@meyering.net>
72244
72245         * lib/fileblocks.c: Remove more useless parentheses.
72246         * lib/readutmp.h: Likewise.
72247
72248 2006-01-25  Bruno Haible  <bruno@clisp.org>
72249
72250         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
72251         warnings.
72252         Reported by Paul Eggert.
72253
72254 2006-01-25  Bruno Haible  <bruno@clisp.org>
72255
72256         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
72257         rid of a trap command. For Solaris sh.
72258         Reported by Mark D. Baushke <mdb@gnu.org>.
72259
72260 2006-01-24  Simon Josefsson  <jas@extundo.com>
72261
72262         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
72263         Bruno.
72264
72265 2006-01-24  Karl Berry  <karl@gnu.org>
72266
72267         * config/srclist.txt (argp-namefrob.h): sync lost.
72268
72269 2006-01-24  Jim Meyering  <jim@meyering.net>
72270
72271         * modules/openat (Files): Add lib/intprops.h.
72272         From Mark D. Baushke.
72273
72274 2006-01-24  Jim Meyering  <jim@meyering.net>
72275
72276         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
72277         Reported by Mark D. Baushke.
72278
72279 2006-01-24  Jim Meyering  <jim@meyering.net>
72280
72281         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
72282
72283 2006-01-24  Bruno Haible  <bruno@clisp.org>
72284
72285         * modules/strnlen (Maintainer): Change from glibc to all.
72286
72287 2006-01-24  Bruno Haible  <bruno@clisp.org>
72288
72289         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
72290         Patch by Paul Eggert.
72291
72292 2006-01-24  Bruno Haible  <bruno@clisp.org>
72293
72294         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
72295         already has it.
72296         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
72297         2005-11-26.
72298
72299         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
72300         'signed char' to avoid problems with the built-in _Bool type.
72301         Reported by Paul Eggert on 2005-11-26.
72302
72303 2006-01-24  Bruno Haible  <bruno@clisp.org>
72304
72305         * gnulib-tool (func_import): Avoid constructing complicated sed
72306         expressions inside backquote.
72307         Report and solution by Mark D. Baushke <mdb@gnu.org>.
72308
72309 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
72310
72311         These changes imported from libc.
72312         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
72313         test and two separate function calls.
72314         * lib/strndup.c (__strndup): Add libc_hidden_def.
72315
72316 2006-01-23  Simon Josefsson  <jas@extundo.com>
72317
72318         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
72319         Remove the test_*_SOURCES variable: automake infers it by default.
72320         * modules/tls-tests: Likewise.
72321
72322 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72323
72324         Work around porting bugs reported by Dieter in
72325         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
72326         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
72327         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
72328         Include "getopt.h" first, to check interface.
72329         (getenv): Declare only if defined HAVE_DECL_GETENV &&
72330         !HAVE_DECL_GETENV.
72331         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
72332         (__strndup): Revert to K&R-style function dfns, the glibc style.
72333         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
72334         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
72335         Include strnlen.h first, to get prototype properly.
72336         (strnlen): Renamed from __strnlen.
72337         Remove weak alias.
72338
72339 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72340
72341         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
72342
72343 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * config/srclist.txt: Adjust to reflect glibc reorganization.
72346         This affects only comments.
72347
72348 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72349
72350          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
72351          Reported by Bruce Korb <bkorb@gnu.org>.
72352
72353 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72354
72355         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
72356         to pacify gcc -Wswitch-default.
72357
72358 2006-01-22  Bruno Haible  <bruno@clisp.org>
72359
72360         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
72361         temporary buffer for sprintf, take into account the precision also
72362         for 'd', 'i', 'u', 'o', 'x', 'X'.
72363
72364 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72365
72366         * modules/argp-tests: New module
72367         * tests/test-argp.c: New file
72368         * tests/test-argp-2.sh: New file
72369
72370 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
72371
72372         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
72373         (__argp_base_name): Removed
72374         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
72375         typo.
72376         (__argp_base_name): Provide macro definition or extern declaration
72377         depending on the configuration
72378
72379 2006-01-20  Simon Josefsson  <jas@extundo.com>
72380
72381         * modules/inet_ntop (Depends-on): Depend on sys_socket.
72382
72383 2006-01-20  Simon Josefsson  <jas@extundo.com>
72384
72385         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
72386
72387 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72388
72389         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
72390         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
72391         Suggested by Bruno Haible.
72392
72393 2006-01-20  Karl Berry  <karl@gnu.org>
72394
72395         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
72396         until changes propagate, I guess.
72397
72398 2006-01-19  Simon Josefsson  <jas@extundo.com>
72399
72400         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
72401
72402 2006-01-19  Simon Josefsson  <jas@extundo.com>
72403
72404         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
72405
72406 2006-01-19  Simon Josefsson  <jas@extundo.com>
72407
72408         * gnulib-tool: Set check_PROGRAMS.
72409
72410         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72411         modules/des-tests, modules/gc-arcfour-tests,
72412         modules/gc-arctwo-tests, modules/gc-des-tests,
72413         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72414         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72415         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72416         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72417         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72418         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
72419         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
72420         test_*_SOURCES.
72421
72422 2006-01-18  Simon Josefsson  <jas@extundo.com>
72423
72424         * modules/socklen (Depends-on): Depend on sys_socket.
72425
72426 2006-01-18  Simon Josefsson  <jas@extundo.com>
72427
72428         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
72429         modules/des-tests, modules/gc-arcfour-tests,
72430         modules/gc-arctwo-tests, modules/gc-des-tests,
72431         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
72432         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
72433         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
72434         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
72435         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
72436         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
72437         $(EXEEXT) to automake TESTS variable, for mingw32.
72438
72439 2006-01-17  Simon Josefsson  <jas@extundo.com>
72440
72441         * modules/socklen (Include): Need sys/socket.h.
72442
72443 2006-01-17  Bruno Haible  <bruno@clisp.org>
72444
72445         * modules/ssize_t (Include): Add <sys/types.h>.
72446
72447 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
72448
72449         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
72450         it's not portable and it doesn't work with cross-compiles.
72451         Problem reported by Bruno Haible.  Fix missing-$ typo in
72452         'test "gl_cv_ignore_unused_libraries" ...' that prevented
72453         -zignore from being used with Sun's C compiler.
72454
72455 2006-01-12  Simon Josefsson  <jas@extundo.com>
72456
72457         * lib/base64.c: Fix warning, reported by Bruno Haible
72458         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
72459
72460 2006-01-12  Bruno Haible  <bruno@clisp.org>
72461
72462         * modules/ldd: New file.
72463         * build-aux/ldd.sh.in: New file.
72464         * MODULES.html.sh (Support for building libraries and executables): Add
72465         ldd.
72466
72467 2006-01-12  Bruno Haible  <bruno@clisp.org>
72468
72469         * m4/ldd.m4: New file.
72470
72471 2006-01-12  Bruno Haible  <bruno@clisp.org>
72472
72473         * gnulib-tool (func_import, func_create_testdir): Don't go into an
72474         endless loop while replacing $auxdir with build-aux.
72475
72476 2006-01-11  Simon Josefsson  <jas@extundo.com>
72477
72478         * lib/stdint_.h (SIZE_MAX): Add missing (.
72479
72480 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
72481
72482         Sync from coreutils.
72483         * lib/md5.c: Fix commentary typos.
72484         (alignof, UNALIGNED_P): No need for a GCC-specific version.
72485         * lib/md5.h (__attribute__): Remove; unused.
72486         * lib/sha1.c: Fix commentary to match md5 better.
72487         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
72488         so that we don't need to worry about alignment.  All uses changed.
72489         This merges the 2005-10-28 md5 change into sha1.
72490
72491 2006-01-11  Jim Meyering  <jim@meyering.net>
72492
72493         Sync from coreutils.
72494         * lib/md5.c (OP): Fix spacing.
72495
72496 2006-01-11  Bruno Haible  <bruno@clisp.org>
72497
72498         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72499         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
72500         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
72501
72502 2006-01-11  Bruno Haible  <bruno@clisp.org>
72503
72504         Ensure automatic ordering between gl_LOCK and gl_ARGP.
72505         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
72506         the "early" section as well.
72507
72508 2006-01-11  Bruno Haible  <bruno@clisp.org>
72509
72510         Avoid "ar: no archive members specified" error on MacOS X.
72511         * gnulib-tool (func_modules_add_dummy): New function.
72512         (func_import, func_create_testdir): Invoke it.
72513
72514 2006-01-11  Bruno Haible  <bruno@clisp.org>
72515
72516         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
72517         with $auxdir in AC_CONFIG_FILES statements.
72518
72519 2006-01-11  Bruno Haible  <bruno@clisp.org>
72520
72521         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72522         Initialize also noinst_HEADERS to empty.
72523
72524 2006-01-11  Bruno Haible  <bruno@clisp.org>
72525
72526         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
72527         variables.
72528         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
72529         autoreconf.
72530
72531 2006-01-11  Bruno Haible  <bruno@clisp.org>
72532
72533         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
72534         overridable by the user.
72535         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72536
72537 2006-01-10  Simon Josefsson  <jas@extundo.com>
72538
72539         * modules/sys_socket: New file.
72540
72541 2006-01-10  Simon Josefsson  <jas@extundo.com>
72542
72543         * m4/sys_socket_h.m4: New file.
72544
72545 2006-01-10  Simon Josefsson  <jas@extundo.com>
72546
72547         * lib/socket_.h: New file.
72548
72549 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72550
72551         * modules/readutmp (Maintainer): Add myself.
72552
72553 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72554
72555         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
72556         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
72557         People who are still concerned with buggy memcmp implementations
72558         can invoke gl_FUNC_MEMCMP themselves.
72559
72560 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72561
72562         * lib/regex_internal.h (BITSET_WORD_BITS):
72563         Work around a bug in 64-bit PGC (before version 6.1-2), where the
72564         preprocessor mishandles large unsigned values as if they were signed.
72565         Problem reported by Claudio Fontana in
72566         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
72567
72568 2006-01-10  Jim Meyering  <jim@meyering.net>
72569
72570         Avoid the double-free (first in fts_read, second in fts_close) that
72571         would occur when an `active' directory is made inaccessible (e.g.,
72572         via chmod a-x) during a traversal.
72573         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
72574         before returning.  Reproduce this failure by
72575         mkdir -p a/b; cd a; chmod a-x . b
72576         Reported by Stavros Passas.
72577
72578         Sync from coreutils.
72579         * lib/sha1.c: Tweak grammar in a comment.
72580
72581 2006-01-10  Jim Meyering  <jim@meyering.net>
72582
72583         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
72584         Patch by Joerg Sonnenberger.
72585
72586 2006-01-10  Bruno Haible  <bruno@clisp.org>
72587
72588         * modules/readutmp: Depend on module free.
72589         * modules/strtok_r: Depend on module restrict.
72590
72591 2006-01-10  Bruno Haible  <bruno@clisp.org>
72592
72593         * modules/gettext (configure.ac): Add an invocation of
72594         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
72595
72596 2006-01-10  Bruno Haible  <bruno@clisp.org>
72597
72598         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
72599         Reported by Werner Lemberg <wl@gnu.org>.
72600
72601 2006-01-10  Bruno Haible  <bruno@clisp.org>
72602
72603         * lib/localcharset.c: Update from GNU gettext.
72604
72605 2006-01-10  Bruno Haible  <bruno@clisp.org>
72606
72607         * lib/argp.h (__const): Remove macro. Use const instead.
72608         * lib/argp-fmtstream.h (__const): Likewise.
72609         * lib/glob_.h (__const): Remove macro.
72610         * lib/glob-libc.h: Use const instead of __const.
72611
72612 2006-01-10  Bruno Haible  <bruno@clisp.org>
72613
72614         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
72615         variable.
72616         Needed to avoid an automake error regarding the 'gettext' module.
72617
72618 2006-01-09  Simon Josefsson  <jas@extundo.com>
72619
72620         * modules/inet_ntop (Depends-on): Add restrict.
72621
72622 2006-01-09  Simon Josefsson  <jas@extundo.com>
72623
72624         * modules/gc-rijndael-tests (License): Put under LGPL.
72625
72626         * modules/gc-des-tests (License): Likewise.
72627
72628         * modules/gc-arcfour-tests (License): Likewise.
72629
72630         * modules/gc-arctwo-tests (License): Likewise.
72631
72632         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
72633
72634         * modules/gc-hmac-sha1-tests (Files): Likewise.
72635
72636         * modules/gc-hmac-md5-tests (License): Likewise.
72637
72638         * modules/gc-sha1-tests (License): Likewise.
72639
72640         * modules/gc-md5-tests (License): Likewise.
72641
72642         * modules/gc-md4-tests (License): Likewise.
72643
72644         * modules/gc-md2-tests (License): Likewise.
72645
72646         * modules/gc-tests (License): Likewise.
72647
72648         * modules/des-tests (License): Likewise.
72649
72650         * modules/md4-tests (License): Likewise.
72651
72652         * modules/md2-tests (License): Likewise.
72653
72654 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72655
72656         Sync from coreutils:
72657
72658         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
72659         * modules/lib-ignore: New file.
72660         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
72661         chdir-safer.m4, lchmod.m4.
72662         * modules/openat: Add mkdirat.c, openat-priv.h.
72663
72664 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72665
72666         Sync from coreutils.
72667         * m4/lib-ignore.m4: New file.
72668         * m4/lchmod.m4: New file.
72669
72670 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72671
72672         Sync from coreutils.
72673         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
72674         for write access: POSIX says that must fail.
72675         * lib/fts.c (diropen): Likewise.
72676         * lib/save-cwd.c (save_cwd): Likewise.
72677         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
72678         well, for minor improvements on hosts that lack O_DIRECTORY.
72679         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
72680         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
72681         Fall back on chown if open failed with EACCES.
72682
72683         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
72684         Report an error at compile-time if only a 1-second nominal clock
72685         resolution is found.
72686
72687         * lib/lchmod.h: New file.
72688         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
72689         (make_dir_parents): Use lchown rather than chown, and
72690         lchmod rather than chmod.
72691
72692         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
72693         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
72694         "proc" reported by n0dalus.
72695
72696         * lib/mountlist.c: Include <limits.h>.
72697         (dev_from_mount_options)
72698         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
72699         New function.  It no longer assumes "dev=" has the System V meaning
72700         on Linux (since it doesn't).  It also parses "dev=" more carefully.
72701         (read_file_system_list)
72702         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
72703         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
72704         dev= in that case.
72705
72706         * lib/posixtm.h (PDS_PRE_2000): New macro.
72707         * lib/posixtm.c (year): Arg is now syntax_bits rather than
72708         allow_century.  All usages changed.  Reject dates outside the range
72709         1969-1999 if PDS_PRE_2000 is used.
72710
72711 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
72712
72713         Sync from coreutils.
72714         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
72715         (Time of day items): Mention the possibility of leap seconds.
72716         Problem reported by Dr. David Alan Gilbert.
72717
72718 2006-01-09  Jim Meyering  <jim@meyering.net>
72719
72720         Sync from coreutils.
72721
72722         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
72723
72724         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
72725
72726         * lib/modechange.c (mode_compile): Reject an invalid mode string
72727         that starts with an octal digit.  From Andreas Gruenbacher.
72728
72729         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
72730         and dup to open_safer and dup_safer, respectively.
72731         (openat_permissive): Fix typo in comment.
72732
72733         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
72734         "gettext.h"; either no longer needed or are guaranteed by openat.h.
72735         (_): Remove; no longer needed.
72736         (openat): Renamed from rpl_openat; no need for rpl_openat
72737         since openat.h renames openat for us.
72738         Replace most of the body with a call to openat_permissive,
72739         to avoid duplicate code.
72740         Port to (probably hypothetical) environments were mode_t is
72741         wider than int.
72742         (openat_permissive): Require mode arg, so that we can check
72743         types better.  Put it just after flags.  Change cwd failure
72744         indicator from pointer-to-bool to pointer-to-errno-value.
72745         All callers changed.
72746         Invoke openat_save_fail and/or openat_restore_fail if
72747         cwd_errno is null, so that openat can call us.
72748         (openat_permissive, fdopendir, fstatat, unlinkat):
72749         Simplify errno handling to avoid some duplicate code,
72750         as it's OK to set errno on success.
72751         * lib/openat.h: Revamp code so that function macros depend on
72752         __OPENAT_PREFIX only, not also on AT_FDCWD.
72753         (openat_ro): Remove.  Caller changed to use openat_permissive.
72754         (openat_permissive): Now a macro, if not a function.
72755         (openat_restore_fail, openat_save_fail): Now always functions,
72756         since mkdirat needs them even if __OPENAT_PREFIX is defined.
72757
72758         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
72759         and openat.c.
72760         * lib/mkdirat.c: Include openat-priv.h.
72761         Remove definitions of macros defined therein.
72762         * lib/openat.c: Likewise.
72763
72764         * lib/mkdirat.c (mkdirat): New file and function.
72765         * lib/openat.h (mkdirat): Declare.
72766
72767         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
72768
72769         * lib/openat.h (openat_permissive): Declare.
72770         (openat_ro): Define.
72771
72772         * lib/openat.c (EXPECTED_ERRNO): New macro.
72773         (openat_permissive): New function -- used in remove.c rewrite.
72774         (all functions): Set errno just before returning, only if there
72775         was an actual failure.
72776         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
72777
72778         Emulate openat-family functions using Linux's procfs, if possible.
72779         Idea and some code based on Ulrich Drepper's glibc changes.
72780
72781         * lib/openat.c: (BUILD_PROC_NAME): New macro.
72782         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
72783         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
72784         before falling back on save_cwd and restore_cwd.
72785         (fdopendir, fstatat, unlinkat): Likewise.
72786
72787         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
72788         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
72789
72790         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
72791         as second argument to va_arg.  Otherwise, some versions of gcc
72792         warn that `if this code is reached, the program will abort'.
72793
72794 2006-01-09  Jim Meyering  <jim@meyering.net>
72795
72796         Sync from coreutils.
72797         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
72798         Require openat-priv.h.
72799
72800 2006-01-09  Bruno Haible  <bruno@clisp.org>
72801
72802         * modules/strnlen (Include): Use strnlen.h.
72803
72804 2006-01-09  Bruno Haible  <bruno@clisp.org>
72805
72806         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
72807
72808 2006-01-09  Bruno Haible  <bruno@clisp.org>
72809
72810         * lib/sysexit_.h (EX_OK): New macro.
72811         Suggested by Martin Lambers <marlam@marlam.de>.
72812
72813 2006-01-09  Bruno Haible  <bruno@clisp.org>
72814
72815         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
72816         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
72817
72818 2006-01-09  Bruno Haible  <bruno@clisp.org>
72819
72820         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
72821         numbers.
72822
72823 2006-01-09  Bruno Haible  <bruno@clisp.org>
72824
72825         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
72826         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
72827         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
72828         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
72829
72830 2006-01-09  Bruno Haible  <bruno@clisp.org>
72831
72832         * build-aux/javacomp.sh.in: New file, moved from lib/.
72833         * modules/javacomp-script (Files): Update.
72834         (configure.ac): Add AC_CONFIG_FILES invocation.
72835         (EXTRA_DIST): Remove variable.
72836
72837         * build-aux/javaexec.sh.in: New file, moved from lib/.
72838         * modules/javaexec (Files): Update.
72839         (configure.ac): Add AC_CONFIG_FILES invocation.
72840         (EXTRA_DIST): Remove javaexec.sh.in.
72841
72842         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
72843         * modules/csharpcomp-script (Files): Update.
72844         (configure.ac): Add AC_CONFIG_FILES invocation.
72845         (EXTRA_DIST): Remove variable.
72846
72847         * build-aux/csharpexec.sh.in: New file, moved from lib/.
72848         * modules/csharpexec (Files): Update.
72849         (configure.ac): Add AC_CONFIG_FILES invocation.
72850         (EXTRA_DIST): Remove csharpexec.sh.in.
72851
72852 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72853
72854         Sync from coreutils.
72855
72856         Add POSIX ACL support
72857         * lib/acl.h (copy_acl, set_acl): Add declarations.
72858         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
72859         systems other than Linux.
72860         (chmod_or_fchmod): New function: use fchmod when possible,
72861         and chmod otherwise.
72862         (file_has_acl): Add a POSIX ACL implementation, with a
72863         Linux-specific subcase.
72864         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
72865         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
72866         acls are unsupported.
72867         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
72868         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
72869         are unsupported.
72870
72871 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
72872
72873         Sync from coreutils.
72874         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
72875
72876 2006-01-07  Bruno Haible  <bruno@clisp.org>
72877
72878         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
72879         gl_EARLY.
72880
72881 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72882
72883         * lib/strftime.c (tzname): Don't declare if it is already #defined.
72884         Problem reported for Mingw by Mark Junker.
72885
72886 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72887
72888         * README: Gnulib normally doesn't generate a tarball.
72889
72890 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
72891
72892         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
72893         long int, not int, for nanosecond counts, so that people who are
72894         used to POSIX struct timespec won't be surprised.  Reported by Jim
72895         Meyering.
72896
72897 2005-12-28  Bruno Haible  <bruno@clisp.org>
72898
72899         * build-aux/config.rpath: Update from GNU gettext.
72900
72901 2005-12-16  Jim Meyering  <jim@meyering.net>
72902
72903         * modules/fprintftime: New module.
72904         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
72905
72906 2005-12-16  Jim Meyering  <jim@meyering.net>
72907
72908         * m4/fprintftime.m4: New file.
72909
72910 2005-12-16  Jim Meyering  <jim@meyering.net>
72911
72912         * lib/fprintftime.c, lib/fprintftime.h: New files.
72913
72914 2005-12-15  Simon Josefsson  <jas@extundo.com>
72915
72916         * modules/socklen (configure.ac): Fix M4 macro name, to align with
72917         new m4/socklen.m4.
72918
72919 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72920
72921         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
72922         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
72923
72924 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72925
72926         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
72927         * lib/argp-help.c (fill_in_uparams): Check if the constructed
72928         struct uparams is valid. Fall back to the default values if it is
72929         not.
72930
72931 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72932
72933         * modules/argp (Files): Add argp-pin.c
72934         (Depends-on): dirname
72935         (lib_SOURCES): Add argp-pin.c
72936
72937 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72938
72939         * m4/argp.m4:  Check if program_invocation_name and
72940         program_invocation_short_name are declared and define appropriate
72941         macros if they are not.
72942
72943 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72944
72945         * lib/argp-help.c (__argp_base_name): New function
72946         (__argp_short_program_name): Rewrite using __argp_base_name
72947         * lib/argp-namefrob.h: Define program_invocation_name and
72948         program_invocation_short_name if requested
72949         (__argp_base_name): Add prototype
72950         * lib/argp-parse.c (argp_def): Use gettext wrappers
72951         (argp_default_parser): Use __argp_base_name
72952         * lib/argp-pin.c: New file. Defines program_invocation_name and
72953         program_invocation_short_name on systems that lack them.
72954
72955 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72956
72957         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
72958         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72959         porting problem reported by Georg Schwarz in
72960         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72961
72962 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72963
72964         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
72965         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
72966         porting problem reported by Georg Schwarz in
72967         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
72968
72969 2005-12-05  Bruno Haible  <bruno@clisp.org>
72970
72971         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
72972         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
72973         Reported by Mark Junker <mjscod@gmx.de>.
72974
72975 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
72976
72977         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
72978         Use implementation from Albert Chin, with some
72979         comments/corrections by Stepan Kasal and myself.
72980
72981 2005-12-02  Bruno Haible  <bruno@clisp.org>
72982
72983         * gnulib-tool (func_import): Accept GPLed build tool modules when
72984         --lgpl is given.
72985         * modules/csharpcomp-script: New file.
72986         * modules/csharpcomp: Depend on it.
72987         * modules/javacomp-script: New file.
72988         * modules/javacomp: Depend on it.
72989         Suggested by Simon Josefsson.
72990
72991 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
72992
72993         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
72994         statement, to work around an HP-UX 10.20 compiler bug reported by
72995         Peter O'Gorman.
72996
72997 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         * modules/savedir (Depends-on): Add openat.
73000
73001 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
73002
73003         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
73004         (uintmax_t) [defined uintmax_t]: Do not declare.
73005         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
73006         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
73007         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
73008         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
73009         sake of portability to weird hosts that C allows (though we don't
73010         know of any practical examples).
73011
73012         * lib/savedir.h (fdsavedir): New decl.
73013         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
73014         contains most of the former guts of savedir.
73015         (savedir): Use savedirstream.
73016         Include "openat.h".
73017
73018 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73019
73020         * modules/obstack (Files): Add m4/ulonglong.m4.
73021         Problem reported by Davide Angelocola.
73022
73023 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
73026         coreutils no longer futzes with rounding modes.
73027
73028 2005-11-14  Jim Meyering  <jim@meyering.net>
73029
73030         * lib/mkstemp-safer.c: Include <config.h>, required for possible
73031         replacement of mkstemp.
73032
73033 2005-11-10  Simon Josefsson  <jas@extundo.com>
73034
73035         * lib/readline.c: Remove EOL.
73036
73037 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73038
73039         * modules/gethrxtime (Depends-on): Add gettime.
73040
73041 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73042
73043         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
73044         or gettimeofday; no longer needed.
73045
73046 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73047
73048         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
73049         time business.
73050         (gethrxtime) [! (HAVE_NANOUPTIME
73051         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
73052         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
73053         our own approximation.
73054
73055 2005-11-08  Eric Blake  <ebb9@byu.net>
73056
73057         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73058
73059 2005-11-08  Eric Blake  <ebb9@byu.net>
73060
73061         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
73062
73063 2005-11-04  Bruno Haible  <bruno@clisp.org>
73064
73065         * gnulib-tool: Implement --update mode.
73066
73067 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73068
73069         Fix porting problem reported by Theodoros V. Kalamatianos.
73070         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
73071         Don't assume that futimes failing means we must fail.
73072
73073 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
73074
73075         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
73076         variables to suggest the intended function of the PATH_MAX check.
73077
73078 2005-10-30  Kean Johnston  <jkj@sco.com>
73079
73080         Trivial changes to support SCO systems.
73081         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
73082         as PATH_MAX.
73083         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
73084         where __ptr is null when no I/O is pending.
73085
73086 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73087
73088         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
73089         leave errno alone.  Problem reported by Dmitry V. Levin.
73090
73091 2005-10-28  Simon Josefsson  <jas@extundo.com>
73092
73093         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
73094         Test more.
73095
73096         * tests/test-gc-md2.c, tests/test-md2.c: New files.
73097
73098         * modules/md2, modules/md2-tests: New files.
73099
73100 2005-10-28  Simon Josefsson  <jas@extundo.com>
73101
73102         * m4/inet_ntop.m4: More tests.
73103
73104         * m4/gc-md2.m4, md2.m4: New file.
73105
73106 2005-10-28  Simon Josefsson  <jas@extundo.com>
73107
73108         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
73109         "restrict" keywords, as per POSIX.  Protect the function
73110         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
73111         Don't use K&R prototypes.  Check the sprintf return values.
73112         Re-define EAFNOSUPPORT if not present.  Indent.
73113
73114         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
73115         suggested by Bruno Haible <bruno@clisp.org>.
73116
73117         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
73118
73119         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
73120
73121         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
73122         libgcrypt).
73123
73124         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
73125
73126         * lib/md2.h, lib/md2.c: New files.
73127
73128 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
73129
73130         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
73131         errno alone.  Problem reported by Frederic Jolliton.
73132
73133 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73134
73135         * modules/verify (License): Change from GPL to LGPL.  This is a
73136         tiny module and there are apparently near-equivalents that are
73137         under the BSD license.
73138
73139 2005-10-24  Simon Josefsson  <jas@extundo.com>
73140
73141         * modules/sha1: Relicense to LGPL.
73142
73143 2005-10-24  Simon Josefsson  <jas@extundo.com>
73144
73145         * lib/md4.h: Shrink buffer size, now that we changed the type.
73146
73147 2005-10-23  Simon Josefsson  <jas@extundo.com>
73148
73149         * gnulib-tool (func_import): Fix --tests-base.
73150
73151 2005-10-22  Simon Josefsson  <jas@extundo.com>
73152
73153         * modules/arcfour (Depends-on): Need stdint.
73154
73155 2005-10-22  Simon Josefsson  <jas@extundo.com>
73156
73157         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
73158         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
73159
73160 2005-10-22  Simon Josefsson  <jas@extundo.com>
73161
73162         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
73163         suggested by Bruno Haible <bruno@clisp.org>.
73164
73165 2005-10-22  Simon Josefsson  <jas@extundo.com>
73166
73167         * lib/crc.h: Include stddef.h, for size_t.
73168
73169 2005-10-22  Simon Josefsson  <jas@extundo.com>
73170
73171         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
73172         arcfour_context struct (simplify test vector testing in GNU
73173         Shishi).
73174
73175 2005-10-21  Simon Josefsson  <jas@extundo.com>
73176
73177         * modules/des, modules/des-tests: New files.
73178
73179         * modules/gc-des, modules/gc-des-tests: New files.
73180
73181         * tests/test-des.c, tests/test-gc-des.c: New file.
73182
73183 2005-10-21  Simon Josefsson  <jas@extundo.com>
73184
73185         * modules/arctwo, modules/arctwo-tests: New files.
73186
73187         * tests/test-arctwo.c: New file.
73188
73189         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
73190
73191         * tests/test-gc-arctwo.c: New file.
73192
73193 2005-10-21  Simon Josefsson  <jas@extundo.com>
73194
73195         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
73196         Bruno Haible <bruno@clisp.org>.
73197
73198         * m4/gc-des.m4: New file.
73199
73200 2005-10-21  Simon Josefsson  <jas@extundo.com>
73201
73202         * m4/arctwo.m4: New file.
73203
73204         * m4/gc-arctwo.m4: New file.
73205
73206 2005-10-21  Simon Josefsson  <jas@extundo.com>
73207
73208         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
73209         block.
73210
73211 2005-10-21  Simon Josefsson  <jas@extundo.com>
73212
73213         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
73214         <bruno@clisp.org>.
73215
73216         * lib/hmac-sha1.c (hmac_sha1): Likewise.
73217
73218         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
73219         Bruno Haible <bruno@clisp.org>.
73220
73221         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
73222         <bruno@clisp.org>.
73223
73224 2005-10-21  Simon Josefsson  <jas@extundo.com>
73225
73226         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
73227
73228 2005-10-21  Simon Josefsson  <jas@extundo.com>
73229
73230         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
73231
73232 2005-10-21  Simon Josefsson  <jas@extundo.com>
73233
73234         * lib/des.h, lib/des.c: New files.
73235
73236         * lib/gc-gnulib.c: Support DES.c
73237
73238 2005-10-21  Simon Josefsson  <jas@extundo.com>
73239
73240         * lib/arctwo.h, lib/arctwo.c: New files.
73241
73242         * lib/gc-gnulib.c: Support ARCTWO.
73243
73244 2005-10-21  Simon Josefsson  <jas@extundo.com>
73245
73246         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
73247         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73248
73249 2005-10-21  Simon Josefsson  <jas@extundo.com>
73250
73251         * gnulib-tool (func_import, func_create_testdir): Define automake
73252         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
73253         Makefile.am snippet),
73254         suggested by Bruno Haible <bruno@clisp.org>.
73255
73256         * modules/gc (Makefile.am): Use it.
73257
73258 2005-10-21  Bruno Haible  <bruno@clisp.org>
73259
73260         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
73261         patch.
73262
73263 2005-10-19  Simon Josefsson  <jas@extundo.com>
73264
73265         * tests/test-gc-rijndael.c: New file.
73266
73267         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
73268
73269 2005-10-19  Simon Josefsson  <jas@extundo.com>
73270
73271         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
73272         interface too.
73273
73274 2005-10-19  Simon Josefsson  <jas@extundo.com>
73275
73276         * tests/test-gc-arcfour.c: New file.
73277
73278         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
73279
73280 2005-10-19  Simon Josefsson  <jas@extundo.com>
73281
73282         * modules/gc-md4, modules/gc-md4-tests: New file.
73283
73284         * tests/test-gc-md4.c: New file.
73285
73286 2005-10-19  Simon Josefsson  <jas@extundo.com>
73287
73288         * m4/gc-md4.m4: New file.
73289
73290 2005-10-19  Simon Josefsson  <jas@extundo.com>
73291
73292         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
73293         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
73294         <kasal@ucw.cz>.
73295
73296 2005-10-19  Simon Josefsson  <jas@extundo.com>
73297
73298         * m4/gc-arcfour.m4: New file.
73299
73300         * m4/gc-rijndael.m4: New file.
73301
73302 2005-10-19  Simon Josefsson  <jas@extundo.com>
73303
73304         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
73305
73306 2005-10-19  Simon Josefsson  <jas@extundo.com>
73307
73308         * lib/gc-gnulib.c: Support ARCFOUR.
73309
73310 2005-10-19  Simon Josefsson  <jas@extundo.com>
73311
73312         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
73313         support.
73314
73315         * lib/gc.h: Add ECB enum type.
73316
73317         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
73318
73319 2005-10-18  Simon Josefsson  <jas@extundo.com>
73320
73321         * tests/test-md5.c: New file.
73322
73323         * modules/md5-tests: New file.
73324
73325 2005-10-18  Simon Josefsson  <jas@extundo.com>
73326
73327         * tests/test-md4.c: New file.
73328
73329         * modules/md4, modules/md4-tests: New files.
73330
73331 2005-10-18  Simon Josefsson  <jas@extundo.com>
73332
73333         * m4/md4.m4: New file.
73334
73335 2005-10-18  Simon Josefsson  <jas@extundo.com>
73336
73337         * lib/md4.h, lib/md4.c: New files, based on md5.?.
73338
73339 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
73340
73341         * gnulib-tool (func_create_testdir): Omit the second check whether
73342         BUILT_SOURCES in nonempty.
73343
73344 2005-10-17  Simon Josefsson  <jas@extundo.com>
73345
73346         * tests/test-rijndael.c: New file.
73347
73348 2005-10-17  Simon Josefsson  <jas@extundo.com>
73349
73350         * modules/sha1: Depend on stdint instead of md5.
73351
73352         * modules/md5: Depend on stdint, remove uint32_t.
73353
73354 2005-10-17  Simon Josefsson  <jas@extundo.com>
73355
73356         * modules/gc-sha1-tests: New file.
73357
73358         * tests/test-gc-sha1.c: New file.
73359
73360 2005-10-17  Simon Josefsson  <jas@extundo.com>
73361
73362         * m4/md5.m4: Remove call to uint32_t.m4.
73363
73364 2005-10-17  Simon Josefsson  <jas@extundo.com>
73365
73366         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
73367
73368         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
73369         md5.h.
73370
73371         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
73372
73373         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
73374
73375 2005-10-17  Simon Josefsson  <jas@extundo.com>
73376
73377         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
73378
73379 2005-10-17  Simon Josefsson  <jas@extundo.com>
73380
73381         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
73382
73383 2005-10-17  Simon Josefsson  <jas@extundo.com>
73384
73385         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
73386
73387         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
73388
73389 2005-10-17  Bruno Haible  <bruno@clisp.org>
73390
73391         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
73392         that it can also be used in a test.
73393
73394 2005-10-16  Bruno Haible  <bruno@clisp.org>
73395
73396         * gnulib-tool (func_emit_tests_Makefile_am): Also define
73397         TESTS_ENVIRONMENT, so that individual tests can augment it.
73398
73399         * gnulib-tool (func_create_testdir): Use an intermediate target for
73400         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
73401         macros, like $(ALLOCA_H), which cannot be passed through the command
73402         line.
73403
73404 2005-10-15  Simon Josefsson  <jas@extundo.com>
73405
73406         * modules/rijndael-tests: New file.
73407
73408         * modules/rijndael: New file.
73409
73410 2005-10-15  Simon Josefsson  <jas@extundo.com>
73411
73412         * m4/rijndael.m4: New file.
73413
73414 2005-10-15  Simon Josefsson  <jas@extundo.com>
73415
73416         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
73417
73418         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
73419
73420 2005-10-14  Simon Josefsson  <jas@extundo.com>
73421
73422         * tests/test-arcfour.c: New file.
73423
73424         * modules/arcfour, modules/arcfour-tests: New files.
73425
73426 2005-10-14  Simon Josefsson  <jas@extundo.com>
73427
73428         * m4/arcfour.m4: New file.
73429
73430 2005-10-14  Simon Josefsson  <jas@extundo.com>
73431
73432         * lib/arcfour.h, lib/arcfour.c: New files.
73433
73434 2005-10-14  Roland McGrath  <roland@redhat.com>
73435
73436         Import from libc.  [BZ #1331]
73437         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
73438         macro argument.
73439         Reported by Matej Vela <vela@debian.org>.
73440
73441 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73442
73443         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
73444         include <wchar.h>; no longer needed.
73445
73446 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73447
73448         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
73449
73450 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
73451         and  Ulrich Drepper  <drepper@redhat.com>
73452
73453         Import from libc.
73454         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
73455         instead of inline stream orientation test and two separate
73456         function calls.  Pay no attention to USE_IN_LIBIO.
73457
73458 2005-10-13  Simon Josefsson  <jas@extundo.com>
73459
73460         * modules/gc-hmac-md5-tests: New file.
73461
73462         * tests/test-gc-hmac-sha1.c: New file.
73463
73464         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
73465
73466         * modules/gc-hmac-md5-tests: New file.
73467
73468         * tests/test-gc-md5.c: New file.
73469
73470         * modules/gc-md5-tests: New file.
73471
73472 2005-10-13  Simon Josefsson  <jas@extundo.com>
73473
73474         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
73475         Move memory allocation outside of loop.
73476
73477 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
73478
73479         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
73480         intermediate directory is in a read-only file system.  Problem
73481         reported by Eric Blake.
73482
73483 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
73484
73485         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
73486
73487 2005-10-12  Simon Josefsson  <jas@extundo.com>
73488
73489         * tests/test-hmac-sha1.c: New file.
73490
73491         * modules/hmac-sha1-tests: New file.
73492
73493         * modules/hmac-sha1: New file.
73494
73495 2005-10-12  Simon Josefsson  <jas@extundo.com>
73496
73497         * modules/gc-sha1: New file.
73498
73499 2005-10-12  Simon Josefsson  <jas@extundo.com>
73500
73501         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
73502
73503         * tests/test-gc-pbkdf2-sha1.c: New file.
73504
73505 2005-10-12  Simon Josefsson  <jas@extundo.com>
73506
73507         * modules/gc-md5, modules/gc-hmac-md5: New files.
73508
73509         * modules/gc (Files): Remove md5, memxor and hmac files.
73510
73511 2005-10-12  Simon Josefsson  <jas@extundo.com>
73512
73513         * m4/gc-pbkdf2-sha1.m4: New file.
73514
73515         * m4/gc-hmac-sha1.m4: New file.
73516
73517         * m4/gc-sha1: New file.
73518
73519         * m4/hmac-sha1.m4: New file.
73520
73521 2005-10-12  Simon Josefsson  <jas@extundo.com>
73522
73523         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
73524
73525         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
73526
73527 2005-10-12  Simon Josefsson  <jas@extundo.com>
73528
73529         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
73530         suggested by Bruno Haible <bruno@clisp.org>.
73531
73532 2005-10-12  Simon Josefsson  <jas@extundo.com>
73533
73534         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
73535
73536 2005-10-12  Simon Josefsson  <jas@extundo.com>
73537
73538         * lib/gc-pbkdf2-sha1.c: New file.
73539
73540         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
73541
73542 2005-10-12  Simon Josefsson  <jas@extundo.com>
73543
73544         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
73545
73546         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
73547
73548 2005-10-12  Simon Josefsson  <jas@extundo.com>
73549
73550         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
73551         GC_USE_HMAC_MD5, respectively.
73552
73553         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
73554         (gc_md5): Fix typo.
73555
73556         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
73557
73558         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
73559
73560         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
73561
73562 2005-10-12  Bruno Haible  <bruno@clisp.org>
73563
73564         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
73565         Reported by Stepan Kasal <kasal@ucw.cz>.
73566
73567 2005-10-11  Simon Josefsson  <jas@extundo.com>
73568
73569         * tests/test-crc.c: New file.
73570
73571         * modules/crc, modules/crc-tests: New files.
73572
73573 2005-10-11  Simon Josefsson  <jas@extundo.com>
73574
73575         * m4/crc.m4: New file.
73576
73577 2005-10-11  Simon Josefsson  <jas@extundo.com>
73578
73579         * lib/gc.h: Add gc_hash and gc_hash_buffer.
73580
73581         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
73582
73583         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
73584
73585 2005-10-11  Simon Josefsson  <jas@extundo.com>
73586
73587         * lib/crc.h, lib/crc.c: New files.
73588
73589         * lib/gc.h (gc_hash_buffer): Add doc.
73590
73591 2005-10-11  Bruno Haible  <bruno@clisp.org>
73592
73593         * modules/c-strcasestr: New file.
73594         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
73595
73596 2005-10-11  Bruno Haible  <bruno@clisp.org>
73597
73598         * modules/c-strcase: New file.
73599         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
73600
73601 2005-10-11  Bruno Haible  <bruno@clisp.org>
73602
73603         * lib/strcasecmp.c: Include limits.h.
73604         (strcasecmp): Avoid integer overflow on exotic platforms.
73605         * lib/strncasecmp.c: Include limits.h.
73606         (strncasecmp): Avoid integer overflow on exotic platforms.
73607         Reported by Paul Eggert.
73608
73609 2005-10-11  Bruno Haible  <bruno@clisp.org>
73610
73611         * lib/c-strcasestr.h: New file, from GNU gettext.
73612         * lib/c-strcasestr.c: New file, from GNU gettext.
73613
73614 2005-10-11  Bruno Haible  <bruno@clisp.org>
73615
73616         * lib/c-strcase.h: New file, from GNU gettext.
73617         * lib/c-strcasecmp.c: New file, from GNU gettext.
73618         * lib/c-strncasecmp.c: New file, from GNU gettext.
73619
73620 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73621
73622         * modules/mempcpy (License): GPL -> LGPL.
73623         * modules/strchrnul (License): Likewise.
73624         * modules/sysexits (License): Likewise.
73625
73626 2005-10-08  Simon Josefsson  <jas@extundo.com>
73627
73628         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
73629
73630 2005-10-07  Simon Josefsson  <jas@extundo.com>
73631
73632         * m4/memxor.m4: Remove gl_C_RESTRICT call.
73633
73634 2005-10-06  Simon Josefsson  <jas@extundo.com>
73635
73636         * tests/test-hmac-md5.c: New file.
73637
73638         * modules/hmac-md5-tests: New file.
73639
73640         * modules/hmac-md5: New file.
73641
73642 2005-10-06  Simon Josefsson  <jas@extundo.com>
73643
73644         * m4/hmac-md5.m4: New file.
73645
73646         * m4/memxor.m4: Require gl_C_RESTRICT.
73647
73648 2005-10-06  Simon Josefsson  <jas@extundo.com>
73649
73650         * lib/memxor.c (memxor): Avoid casts and warnings.
73651
73652 2005-10-06  Simon Josefsson  <jas@extundo.com>
73653
73654         * lib/hmac-md5.c: New file.
73655
73656         * lib/hmac.h: New file.
73657
73658 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73659
73660         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
73661         promotes to int, not unsigned int, to catch the AIX 5.3
73662         compiler bug.
73663
73664 2005-10-05  Simon Josefsson  <jas@extundo.com>
73665
73666         * modules/memxor: New file.
73667
73668         * modules/iconv (Files): Move config.rpath to havelib, it is used
73669         there.
73670
73671         * modules/havelib (Files): Add config.rpath.
73672
73673 2005-10-05  Simon Josefsson  <jas@extundo.com>
73674
73675         * m4/memxor.m4: New file.
73676
73677 2005-10-05  Simon Josefsson  <jas@extundo.com>
73678
73679         * lib/memxor.c (memxor): Fix compiler error.
73680
73681         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
73682         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
73683
73684         * lib/memxor.h, lib/memxor.c: New files.
73685
73686         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
73687         we assume all systems have it, suggested by Jim Meyering
73688         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
73689         any systems lack sys/socket.h; mingw32 is known to lack it, but we
73690         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
73691         same reasons.
73692
73693 2005-10-05  Simon Josefsson  <jas@extundo.com>
73694
73695         * config/srclist.txt: Add glibc bug 1423 for md5.h.
73696
73697 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73698
73699         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
73700         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
73701         needed, since the source code now assumes these .h files.
73702
73703 2005-10-05  Derek Price  <derek@ximbiot.com>
73704
73705         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
73706
73707 2005-10-05  Bruno Haible  <bruno@clisp.org>
73708
73709         * modules/stdint (License): Change to LGPL.
73710
73711 2005-10-04  Simon Josefsson  <jas@extundo.com>
73712
73713         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
73714         D. Baushke" <mdb@gnu.org>.
73715
73716 2005-10-04  Bruno Haible  <bruno@clisp.org>
73717
73718         * lib/verify.h (verify_true): Provide alternative definition for C++.
73719
73720 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
73721
73722         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
73723         (SSIZE_MAX): New macro, if not already defined.
73724         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
73725         than 2 GiB.
73726
73727 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73728
73729         Sync from coreutils.
73730         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
73731         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
73732         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
73733         ULLONG_MAX doesn't work with 2.7.2.1.
73734
73735 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73736
73737         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
73738         From Ben Pfaff.
73739
73740         * modules/exclude (Depends-on): Depend on verify.
73741         * modules/strtoimax (Depends-on): Likewise.
73742         * modules/utimecmp (Depends-on): Likewise.
73743
73744 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
73745
73746         * lib/exclude.c: Include verify.h.
73747         (verify): Remove.  All callers changed to use verify.h's version.
73748         * lib/strtoimax.c: Likewise.
73749         * lib/utimecmp.c: Likewis.e
73750
73751         Sync from coreutils.
73752         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
73753         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
73754         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
73755         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
73756         bother returning ENOSYS if settimeofday or stime fails; just let
73757         them return whatever errno they want to return.
73758         * lib/utimens.c: Include unistd.h, for dup2.
73759         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
73760         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
73761
73762 2005-10-02  Jim Meyering  <jim@meyering.net>
73763
73764         Sync from coreutils.
73765         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
73766         from glibc-2.2.5 that fails for read-only files.
73767
73768 2005-10-02  Jim Meyering  <jim@meyering.net>
73769
73770         Sync from coreutils.
73771         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
73772         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
73773         `#if HAVE_CONFIG_H'.
73774         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
73775         Remove AT_FDCWD test.
73776         Do not consume the fd unless successful.
73777         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
73778         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
73779         block, so that we don't even try to compile it if settimeofday is
73780         available.  This works around a compilation failure on OSF1 V5.1,
73781         due to stime requiring a `long int*' while tv_sec is `int'.
73782
73783 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
73784
73785         Sync from coreutils.
73786         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
73787         against `yes', rather than just testing for nonempty.
73788
73789 2005-10-01  Simon Josefsson  <jas@extundo.com>
73790
73791         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
73792         and Darwin.
73793
73794         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
73795         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
73796         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
73797         freeaddrinfo and gai_strerror are declared by the POSIX headers.
73798         Check if struct addrinfo is declared.
73799
73800 2005-10-01  Simon Josefsson  <jas@extundo.com>
73801
73802         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
73803         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
73804         AI_* and EAI_* definitions.  Protect function declarations.
73805
73806 2005-10-01  Jim Meyering  <jim@meyering.net>
73807
73808         Sync from coreutils.
73809
73810         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
73811         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
73812         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
73813         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73814         in the inet and nsl libraries.  Required on Solaris 5.7.
73815
73816 2005-10-01  Jim Meyering  <jim@meyering.net>
73817
73818         Sync from coreutils.
73819         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
73820         in the inet and nsl libraries.  Required on Solaris 5.7.
73821
73822 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
73823
73824         * lib/getdelim.c (getdelim): Remove unused variables.
73825
73826 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73827
73828         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
73829         so that the code works even with ancient cpp.  Portability problem
73830         with GCC 2.7.2.1 reported by Thomas M.Ott.
73831
73832 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73833
73834         * modules/regex (Depends-on): Add strcase.
73835
73836         * modules/gethostname (Licence): Change from GPL to LGPL, since
73837         gethostname.c is a trivial implementation of a standard library
73838         function.
73839         * modules/poll (License): Change from GPL to LGPL, since it's
73840         derived from LGPL code.
73841
73842 2005-09-27  Jim Meyering  <jim@meyering.net>
73843
73844         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
73845         HAVE_CONFIG_H.
73846
73847         * lib/intprops.h (signed_type_or_expr__): Define.
73848         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
73849         for unsigned types.
73850
73851 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73852
73853         * lib/verify.h (verify_expr): Remove, replacing with:
73854         (verify_true): New macro that returns true instead of void.
73855         (verify_type__): Remove.
73856         (verify): Use verify_true rather than verify_type__.
73857
73858 2005-09-26  Bruno Haible  <bruno@clisp.org>
73859
73860         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
73861         is necessary.
73862         (lib_SOURCES): Remove mbchar.c.
73863         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
73864         (Files): Add m4/mbrtowc.m4.
73865         * modules/mbiter: Likewise.
73866         * modules/mbuiter: Likewise.
73867
73868 2005-09-26  Bruno Haible  <bruno@clisp.org>
73869
73870         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
73871         compile mbchar.c if they are not both present.
73872         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
73873         * m4/mbiter.m4 (gl_MBITER): Likewise.
73874         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
73875         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
73876         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
73877
73878 2005-09-25  Jim Meyering  <jim@meyering.net>
73879
73880         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
73881         also uses socklen_t.
73882
73883 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
73884
73885         * lib/utimens.c (ENOSYS): Define if not already defined.
73886         (futimens): Support having a null PATH if the file descriptor
73887         is nonnegative.
73888
73889         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
73890         Remove.
73891         (__attribute): Define to empty unless GCC 3.1 or later.
73892         This works around a core dump on OpenBSD 3.4, which has GCC
73893         2.95.3, which dumps core when given __attribute__(()).  It also
73894         simplifies other tests, since we really don't want to bother with
73895         worrying about which ancient version of GCC supported what.
73896         Original problem reported by Yoann Vandoorselaere, with part of
73897         the fix suggested by Derek Price.
73898
73899 2005-09-24  Jim Meyering  <jim@meyering.net>
73900
73901         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
73902         so we can once again use a positive bitfield width of 1 -- now we
73903         don't have to explain why we were using a bitfield width of 2.
73904
73905 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73906
73907         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
73908         and similarly for the other external symbols.  Problem reported
73909         by James Gallager.
73910
73911         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
73912         bug reported by Jim Meyering.
73913
73914         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
73915         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
73916         not needed, since socklen is a prerequisite module.
73917
73918 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
73919
73920         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
73921         Problem reported by Eric Blake.
73922         (getaddrinfo): Initialize se so that it's not garbage.
73923         Redo internal storage allocation so that it doesn't make unportable
73924         assumptions about alignment.
73925         Fix a memory leak.
73926
73927         * lib/utimens.c (futimens): Use futimesat if available.
73928         Prefer it to futimes since it doesn't have the futimes bug.
73929
73930         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
73931         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
73932         Instead, declare a function that returns a pointer to an array,
73933         and use verify_type__ to declare the size of the array.
73934         Problem and germ of a solution reported by Bruno Haible.
73935         (verify_type__): Use 2, not 1, for bitfield size, to avoid
73936         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
73937
73938 2005-09-23  Jim Meyering  <jim@meyering.net>
73939
73940         Sync from coreutils.
73941         Correct build failure (socklen_t not defined) on at least
73942         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
73943         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
73944
73945 2005-09-23  Jim Meyering  <jim@meyering.net>
73946
73947         * modules/getaddrinfo (Depends-on): Add socklen.
73948
73949 2005-09-23  Bruno Haible  <bruno@clisp.org>
73950
73951         * tests/test-verify.c: New file.
73952
73953 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         Sync from coreutils.
73956
73957         * modules/argmatch (Depends-on): Add verify.
73958         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
73959         unistd-safer.
73960         * modules/save-cwd (Depends-on): Likewise.
73961
73962         * modules/openat (Files): Add lib/openat-die.c.
73963         (Depends-on): Remove error, exitfail.
73964         Add dirname.
73965
73966         * modules/verify: New file.
73967         * MODULES.html.sh (Diagnostics <assert.h>): New section,
73968         with "verify" module.
73969
73970 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73971
73972         Sync from coreutils.
73973
73974         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
73975         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
73976         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
73977         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
73978         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
73979         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
73980         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
73981         Don't bother checking for string.h, stdlib.h, unistd.h.
73982         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
73983         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
73984         module's job.
73985         * m4/jm-macros.m4 (gl_MACROS): Likewise.
73986         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
73987
73988         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
73989         (gl_GETDATE): Use it.
73990
73991         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
73992
73993 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
73994
73995         Sync from coreutils.
73996
73997         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
73998         stat-time.h.
73999         * lib/argmatch.h: Include verify.h
74000         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
74001         (ARGMATCH_ASSERT): Remove; unused.
74002         * lib/canonicalize.c: Assume STDC_HEADERS.
74003         * lib/exclude.c: Include "strcase.h".
74004         * lib/regex_internal.h [!defined _LIBC]: Likewise.
74005         * lib/getusershell.c: Include stdio--.h rather than stdio.h
74006         and stdio-safer.h.
74007         (getusershell): Call fopen, not fopen_safer.
74008         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
74009         Do not include unistd-safer.h.
74010         (save_cwd): Don't call fd_safer; no longer needed
74011         now that we include fcntl--.h.
74012
74013         * lib/getdate.y (relative_time): New type.
74014         (RELATIVE_TIME_0): New constant.
74015         (parser_control): Use relative_time instead of doing it ourselves.
74016         (%union): Add new relative_time rel member.
74017         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
74018         Now typeless.
74019         (relunit, relunit_snumber): Now of type rel.
74020         (zone, rel, relunit, get_date): Adjust to above changes.
74021
74022         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
74023         Do not include unistd-safer.h.
74024         (getloadavg): Don't call fd_safer; no longer needed
74025         now that we include fcntl--.h.
74026
74027         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
74028         (make_dir_parents): Treat ENOSYS like EEXIST.
74029
74030         Improve quality of diagnostics on restore_cwd failure.
74031         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
74032         (make_dir_parents): Last arg is now int * (for errno), not bool *.
74033         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
74034         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
74035         each time through the loop.  Do not diagnose restore_cwd failure;
74036         that is the caller's job (and perhaps the caller does not care).
74037
74038         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
74039         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
74040         If the file already exists but is not a directory, don't bother
74041         to try to make its parents.
74042         Close potential file descriptor leak if we can't chdir("/") (!).
74043         Don't always return true if chdir($PWD) fails; return true only
74044         if the requested action was done successfully (except for the
74045         chdir($PWD)).
74046         Don't log final directory unless we actually made it.
74047         Refactor to avoid duplicate code to fix up permissions.
74048         Don't attempt to fix up parent permissions if chdir($PWD) fails.
74049
74050         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
74051         to make it a bit faster and (I hope) clearer.
74052         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
74053         Fix bug in formats like %2N.
74054
74055         * lib/verify.h: New file.
74056
74057 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
74058
74059         Sync from coreutils.
74060         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
74061
74062 2005-09-22  Jim Meyering  <jim@meyering.net>
74063
74064         Sync from coreutils.
74065
74066         * m4/lstat.m4 (gl_FUNC_LSTAT):
74067         Use AC_LIBSOURCES to require lstat.c and lstat.h.
74068         Remove obsolete comment.
74069         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
74070         * m4/xstrtod.m4: Likewise.
74071
74072         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
74073
74074 2005-09-22  Jim Meyering  <jim@meyering.net>
74075
74076         Sync from coreutils.
74077
74078         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
74079
74080         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
74081         the .tm_year member, since otherwise gcc-4.0 would now warn about
74082         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
74083
74084         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
74085         order to avoid an unsuppressible warning from gcc on 64-bit systems.
74086
74087         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
74088         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
74089         when run in a time zone for which daylight savings time is in effect
74090         for the starting date.
74091
74092         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
74093         stop us from restricting permissions of just-created absolute-named
74094         directories.
74095         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
74096         to restore initial working directory.
74097         * lib/mkdir-p.c (make_dir_parents): New parameter:
74098         different_working_dir, to tell caller if/when we change the working
74099         directory and are unable to return to the initial one.
74100         * lib/mkdir-p.h (make_dir_parents): Update prototype.
74101         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
74102         `return false'.  This fixes a bug introduced on 2004-07-30.
74103
74104         * lib/openat.c (fdopendir): Be sure to close the supplied
74105         file descriptor before returning.  This makes our replacement
74106         implementation a little closer to Solaris's, where fdopendir
74107         ties the file descriptor to the returned DIR* pointer.
74108         * lib/openat.c (unlinkat): New function.
74109         * lib/openat.h (unlinkat): Add prototype.
74110         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
74111         (openat_restore_fail): Rename from openat_restore_die.
74112         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
74113
74114         Provide an alternative to exiting immediately upon save_cwd or
74115         restore_cwd failure.  Now, an application can arrange e.g.,
74116         to perform a longjump in that case.
74117         * lib/openat.c: Include dirname.h.
74118         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
74119         (rpl_openat, fdopendir, fstatat): Call openat_save_die
74120         and openat_restore_die rather than calling error directly.
74121         Don't include "error.h" or "exitfail.h"; they're no longer needed.
74122
74123         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
74124         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
74125         define.
74126
74127         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
74128         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
74129                             int utc, int nanoseconds);
74130         Background:
74131         date should not have to allocate a megabyte of virtual memory to
74132         handle a format argument like +%1048575T.  When implemented with
74133         strftime, it must allocate such a buffer, use strftime to fill it
74134         in, print it, then free it.
74135         With fprintftime, it simply prints everything and exits.
74136         With no need for memory allocation, that's one fewer way to fail.
74137         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
74138         optional field width, not before, so we accept %9:z, not %:9z.
74139         (my_strftime): Be sure to use L_('x') for literals.
74140
74141         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
74142         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
74143         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
74144         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
74145         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
74146         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
74147         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
74148         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
74149         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
74150         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
74151         * lib/xgethostname.c, lib/xreadlink.c:
74152         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
74153
74154         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
74155         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
74156         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
74157         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74158         and don't include <sys/file.h>).
74159
74160 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
74161
74162         Sync from coreutils.
74163
74164         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
74165         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
74166         [!LDAV_DONE]: Avoid unused variable warning.
74167
74168 2005-09-21  Bruno Haible  <bruno@clisp.org>
74169
74170         * lib/unicodeio.h (unicode_to_mb): New declaration.
74171
74172 2005-09-20  Derek Price  <derek@ximbiot.com>
74173
74174         * lib/getaddrinfo.c: Don't include <netdb.h> included from
74175         getaddrinfo.h.
74176
74177 2005-09-20  Bruno Haible  <bruno@clisp.org>
74178
74179         * gnulib-tool: Remove trailing slashes from the values specified for
74180         --source-base, --m4-base, --tests-base, --aux-dir.
74181         Suggested by Simon Josefsson <jas@extundo.com>.
74182
74183 2005-09-20  Bruno Haible  <bruno@clisp.org>
74184
74185         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
74186         func_modules_to_filelist, func_import, func_create_testdir): Make all
74187         sorting results locale-independent, so that gnulib-cache.m4 doesn't
74188         change when gnulib-tool is invoked in a different locale.
74189
74190 2005-09-19  Simon Josefsson  <jas@extundo.com>
74191
74192         * m4/socklen.m4: Fix typo.
74193
74194 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74195
74196         Use a consistent style for including <config.h>.
74197         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
74198         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
74199         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
74200         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
74201         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
74202         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
74203         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
74204         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
74205         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
74206         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
74207         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
74208         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
74209         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
74210         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
74211         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
74212         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
74213         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
74214         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
74215         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
74216         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
74217         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
74218         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
74219         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
74220         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
74221         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
74222         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
74223         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
74224         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
74225         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
74226         lib/xstrtoumax.c, lib/yesno.c:
74227         Standardize inclusion of config.h.
74228         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
74229         lib/inttostr.h:  Removed inclusion of config.h from header files.
74230         * lib/inttostr.c:  Adjusted in-tree users.
74231         * lib/timespec.h: Remove superfluous warning to include config.h.
74232         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
74233         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
74234         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
74235         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
74236         config.h with HAVE_CONFIG_H.
74237
74238 2005-09-19  Jim Meyering  <jim@meyering.net>
74239
74240         * modules/pathmax (License): Change to LGPL.
74241
74242 2005-09-19  Derek Price  <derek@ximbiot.com>
74243
74244         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
74245
74246 2005-09-19  Bruno Haible  <bruno@clisp.org>
74247
74248         * gnulib-tool (import): Provide default for --tests-base.
74249
74250 2005-09-19  Bruno Haible  <bruno@clisp.org>
74251
74252         * doc/quote.texi: New file, extracted from gnulib.texi.
74253         * doc/ctime.texi: New file, extracted from gnulib.texi.
74254         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
74255         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
74256         * doc/gnulib.texi: Include them.
74257
74258 2005-09-18  Bruno Haible  <bruno@clisp.org>
74259
74260         Portability fix.
74261         * gnulib-tool (func_readlink): New function.
74262         (func_ln_if_changed): Use it.
74263
74264 2005-09-18  Bruno Haible  <bruno@clisp.org>
74265
74266         * gnulib-tool: Support --with-tests also with --import.
74267         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
74268         (func_import): Use variables $testsbase and $inctests. Emit a
74269         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
74270         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
74271         SUBDIRS += $testsdir.
74272         (func_create_testdir): Update.
74273
74274 2005-09-18  Bruno Haible  <bruno@clisp.org>
74275
74276         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
74277         instead of $dry_run.
74278         (func_cp_if_changed, func_mv_if_changed): Remove functions.
74279         (func_ln_if_changed): Don't handle dry-run here.
74280         (func_import): In dry-run mode, detect more precisely which actions
74281         would be performed, and don't use "...ing" verbs.
74282
74283 2005-09-18  Bruno Haible  <bruno@clisp.org>
74284
74285         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
74286         (func_import): Use join on two temporary files instead of three nested
74287         loops, in order to determine which files are new or old.
74288
74289 2005-09-18  Bruno Haible  <bruno@clisp.org>
74290
74291         * gnulib-tool (func_import): Comment out code that spits out the
74292         new files with --dry-run.
74293
74294 2005-09-18  Bruno Haible  <bruno@clisp.org>
74295
74296         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
74297
74298 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74299
74300         * lib/stat-time.h: New file.
74301         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
74302         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
74303         in a different way.
74304         (timespec_cmp): New function.
74305         * lib/utimecmp.c: Include stat-time.h.
74306         (SYSCALL_RESOLUTION): Depend on whether various struct stat
74307         members exist, not on the obsolescent ST_MTIM_NSEC.
74308         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
74309
74310 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74311
74312         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
74313
74314 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
74315
74316         * MODULES.html.sh (File system functions): Add stat-time.
74317         * modules/stat-time: New file.
74318         * modules/timespec (Files): Remove m4/st_mtim.m4; this
74319         is now done in a different way, by the stat-time module.
74320         * modules/utimecmp (Depends-on): Add stat-time.
74321
74322 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74323
74324         * m4/st_mtim.m4: Remove.  Superseded by...
74325         * m4/stat-time.m4: New file.
74326         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
74327         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
74328
74329 2005-09-15  Derek Price  <derek@ximbiot.com>
74330
74331         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
74332
74333 2005-09-15  Derek Price  <derek@ximbiot.com>
74334
74335         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
74336         * lib/regex_internal.c: Ditto, using this...
74337         (__GNUC_PREREQ): ...new macro.
74338         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
74339         using...
74340         (__GNUC_PREREQ): ...this new macro.
74341
74342         * lib/strstr.h: Include string.h. Define strstr as a macro here.
74343
74344 2005-09-15  Derek Price  <derek@ximbiot.com>
74345             Paul Eggert  <eggert@cs.ucla.edu>
74346
74347         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
74348         changes, consolidating in...
74349         * lib/regex_internal.h: ...this file.
74350
74351 2005-09-13  Jim Meyering  <jim@meyering.net>
74352
74353         * lib/canon-host.c: Filter through gnu indent and reword comments
74354         slightly.
74355         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
74356
74357 2005-09-13  Derek Price  <derek@ximbiot.com>
74358
74359         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
74360         failure.
74361         Reported by Jim Meyering  <jim@meyering.net>.
74362
74363 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74364
74365         * lib/base64.c: Typo.
74366         (base64_encode): Put b64str in initialized data section.
74367
74368 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
74369
74370         Merge glibc and coreutils changes into gnulib, plus a few
74371         extra fixes.
74372         * lib/md5.c: Use #error rather than a string.
74373         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
74374         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
74375         (__attribute__): Define to empty for non recent-GCC.
74376         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
74377         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
74378         Renamed from their non-__ counterparts, with new macros replacing
74379         them if not _LIBC.  Add __THROW attribute.
74380         (rol): Remove.
74381         (struct md5_ctx): Align buffer if using GCC.
74382         * lib/sha1.h (struct sha1_ctx): Likewise.
74383         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
74384         The old name was backwards.
74385         (NOTSWAP): Remove; not used.
74386         (rol): New macro, moved here from md5.h.
74387         (sha1_process_block): Remove a FIXME that doesn't make sense.
74388
74389 2005-09-12  Derek Price  <derek@ximbiot.com>
74390
74391         Return usable errors from canon-host.
74392         * lib/canon-host.h: New file.
74393         * lib/canon-host.c (canon_host): Wrap...
74394         (canon_host_r): ...this new function, which now relies exclusively on
74395         getaddrinfo.
74396         (ch_strerror): New function.
74397         (last_cherror): New global.
74398         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
74399         interface.
74400         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
74401         void *.
74402         (freeaddrinfo): Free ai->ai_canonname when set.
74403
74404 2005-09-12  Derek Price  <derek@ximbiot.com>
74405
74406         Make canon-host require getaddrinfo.
74407         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
74408         AC_LIBSOURCE canon-host.h.  Call...
74409         (gl_PREREQ_CANON_HOST): ...this new function, which requires
74410         gl_GETADDRINFO.
74411         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
74412
74413 2005-09-12  Derek Price  <derek@ximbiot.com>
74414
74415         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
74416         LGPL.
74417         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
74418
74419 2005-09-12  Derek Price  <derek@ximbiot.com>
74420
74421         * lib/gai_strerror.c: Include config.h when available.  Include
74422         getaddrinfo.h before other headers to test interface.
74423         Reported by Larry Jones <lawrence.jones@ugs.com>.
74424
74425 2005-09-12  Derek Price  <derek@ximbiot.com>
74426             Paul Eggert  <eggert@cs.ucla.edu>
74427
74428         * modules/glob (Files): Add glob-libc.h.
74429
74430 2005-09-12  Derek Price  <derek@ximbiot.com>
74431             Paul Eggert  <eggert@cs.ucla.edu>
74432
74433         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
74434         glob_.h, glob-libc.h.
74435         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
74436
74437 2005-09-12  Derek Price  <derek@ximbiot.com>
74438             Paul Eggert  <eggert@cs.ucla.edu>
74439
74440         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
74441         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
74442         protecting things that should be done only in gnulib contexts.
74443         * lib/glob_.h: New file, containing only the glob things needed for
74444         gnulib.
74445         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
74446         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
74447         (glob, globfree, glob_pattern_p): Now defined simply in terms of
74448         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
74449         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
74450         and to respect the namespace rules better.
74451
74452 2005-09-08  Simon Josefsson  <jas@extundo.com>
74453
74454         * modules/socklen: New file.
74455
74456 2005-09-08  Simon Josefsson  <jas@extundo.com>
74457
74458         * m4/socklen.m4: New file.
74459
74460 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74461
74462         * modules/utimens (Files): Add m4/utimbuf.m4, since
74463         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
74464         Reported by Sergey Poznyakoff.
74465
74466 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74467
74468         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
74469         definitions, since that's the preferred style in glibc.
74470         Fix a minor spacing issue, and update copyright notice to match
74471         glibc's.
74472
74473 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74474
74475         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
74476
74477 2005-09-06  Simon Josefsson  <jas@extundo.com>
74478
74479         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
74480         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
74481
74482 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74483
74484         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
74485         warning.
74486
74487 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74488
74489         * config/srclist.txt: Add glibc bug 1302.
74490
74491 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
74492
74493         Change bitset word type from unsigned int to unsigned long int,
74494         as this has better performance on typical 64-bit hosts.
74495         Port bitset code to hosts with unusual word sizes.
74496         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
74497         (build_collating_symbol):
74498         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
74499         argument is a bitset.  This is merely a style issue, but it makes
74500         it clearer that an entire array is expected.
74501         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
74502         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
74503         Port to the case where bitset_word is not the same as unsigned int.
74504         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74505         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
74506         Likewise.
74507         * lib/regexec.c (check_dst_limits_calc_pos_1,
74508         check_subexp_matching_top):
74509         (build_trtable, group_nodes_into_DFAstates):
74510         Likewise.
74511         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
74512         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
74513         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
74514         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
74515         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
74516         * lib/regcomp.c (optimize_subexps, lower_subexp):
74517         Work even if bitset_word has holes in its bitwise representation.
74518         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
74519         * lib/regexec.c (check_dst_limits_calc_pos_1,
74520         check_subexp_matching_top):
74521         Likewise.
74522         * lib/regex_internal.c (re_string_reconstruct):
74523         Don't assume UCHAR_MAX == 255.
74524         * lib/regex_internal.h (bitset_set_all): Likewise.
74525         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
74526         All uses changed.
74527         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
74528         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
74529         All uses changed.
74530         (BITSET_WORD_MAX): New macro.
74531         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
74532         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
74533         (bitset_empty, bitset_copy):
74534         Prefer sizeof (bitset) to multiplying it out ourselves.
74535         (bitset_not_merge): Remove; unused.
74536         (bitset_contain): Return bool, not unsigned int with one bit on.
74537         All callers changed.
74538         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
74539         alignment than re_node_set; do this by defining a new internal
74540         type struct dests_alloc and using it to allocate memory.
74541
74542 2005-09-05  Bruno Haible  <bruno@clisp.org>
74543
74544         * gnulib-tool (func_import): Fix comparison in handling of symbolic
74545         links.
74546
74547 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
74548
74549         * modules/size_max (Makefile.am): Add size_max.h
74550
74551 2005-09-04  Derek Price  <derek@ximbiot.com>
74552
74553         * gnulib-tool (func_import): Fix reversed $symbolic logic.
74554
74555 2005-09-03  Simon Josefsson  <jas@extundo.com>
74556
74557         * gnulib-tool: Fix typo.
74558
74559 2005-09-03  Simon Josefsson  <jas@extundo.com>
74560
74561         * config/srclist.txt: Add glibc bug 1293.
74562
74563 2005-09-03  Derek Price  <derek@ximbiot.com>
74564
74565         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
74566         From Larry Jones <lawrence.jones@ugs.com>.
74567
74568 2005-09-02  Simon Josefsson  <jas@extundo.com>
74569
74570         * modules/socklen: New file.
74571
74572 2005-09-02  Simon Josefsson  <jas@extundo.com>
74573
74574         * modules/havelib: New module.
74575
74576         * modules/gettext, modules/iconv, modules/lock, modules/readline:
74577         Use havelib.
74578
74579 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74580
74581         Check for arithmetic overflow when calculating sizes, to prevent
74582         some buffer-overflow issues.  These patches are conservative, in the
74583         sense that when I couldn't determine whether an overflow was possible,
74584         I inserted a run-time check.
74585         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
74586         macros.
74587         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
74588         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
74589         (re_xnrealloc, re_x2nrealloc): New inline functions.
74590         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
74591         parse_bracket_exp):
74592         (build_equiv_class, build_charclass): Check for arithmetic overflow
74593         in size expression calculations.
74594         * lib/regex_internal.c (re_string_realloc_buffers):
74595         (build_wcs_upper_buffer, re_node_set_add_intersect):
74596         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
74597         (re_dfa_add_node, register_state): Likewise.
74598         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
74599         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
74600         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
74601         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
74602
74603 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
74604
74605         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74606         m4/ulonglong.m4.  Problem reported by Martin Lambers.
74607
74608 2005-09-02  Bruno Haible  <bruno@clisp.org>
74609
74610         Support for lib vs. lib64 distinction on biarch platforms.
74611         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
74612         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
74613         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
74614
74615 2005-09-02  Bruno Haible  <bruno@clisp.org>
74616
74617         * gnulib-tool (import): In the other first-use case, provide defaults
74618         as well.
74619
74620 2005-09-02  Bruno Haible  <bruno@clisp.org>
74621
74622         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
74623         patches not yet found in the latest gettext release.
74624
74625 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74626
74627         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
74628         to avoid a collision with bits/local_lim.h in glibc.
74629         All uses changed.  Problem reported by Dmitry V. Levin in
74630         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
74631
74632         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
74633         bugs in int versus size_t comparisons.
74634         (re_string_context_at): Fix bug where the code assumed that
74635         Idx is signed.
74636
74637         Use bool where appropriate.
74638         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
74639         All callers changed.
74640         (calc_eclosure_iter): Likewise, for ROOT arg.
74641         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
74642         (build_charclass_op): Likewise, for NON_MATCH arg.
74643         * lib/regex_internal.c (re_string_allocate, re_string_construct):
74644         (re_string_construct_common): Likewise, for ICASE arg.
74645         * lib/regexec.c (re_search_2_stub, re_search_stub):
74646         Likewise, for RET_LEN arg.
74647         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
74648         (set_regs): Likewise, for FL_BACKTRACK arg.
74649         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
74650         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
74651         (calc_eclosure_iter, parse_bracket_exp):
74652         Use bool for internal variables that are booleans.
74653         * lib/regexec.c (re_search_internal, check_matching,
74654         proceed_next_node):
74655         (set_regs, build_sifted_states, sift_states_bkref):
74656         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
74657         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
74658         (find_collation_sequence_value):
74659         Likewise.
74660         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
74661         (re_node_set_compare):
74662         Return bool, not int. All callers changed.
74663         * lib/regexec.c (check_halt_node_context, check_dst_limits):
74664         (build_trtable, check_node_accept): Likewise.
74665         * lib/regex_internal.h: Include stdbool.h.
74666
74667         Fix bugs uncovered when converting to bool.
74668         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
74669         failure instead of charging ahead blindly.
74670         * lib/regex_internal.c (register_state): Likewise.
74671         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
74672         for freeing internal storage.
74673         (group_nodes_into_DFA_states): Use unsigned int, not int, for
74674         bitset pieces used as boolean, to avoid undefined behavior
74675         on hosts that do int overflow checking.
74676
74677 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74678
74679         * config/srclist.txt: Add glibc bugs 1285-1287.
74680
74681 2005-09-01  Jim Meyering  <jim@meyering.net>
74682
74683         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
74684         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
74685         Require gl_STAT_MACROS, too.
74686
74687 2005-09-01  Bruno Haible  <bruno@clisp.org>
74688
74689         * gnulib-tool (import): In the first-use case, provide defaults.
74690
74691 2005-09-01  Bruno Haible  <bruno@clisp.org>
74692
74693         * gnulib-tool (func_import): Remove the .tmp files.
74694
74695 2005-09-01  Bruno Haible  <bruno@clisp.org>
74696
74697         * gnulib-tool (func_import): Fix handling of symbolic links.
74698
74699 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74700
74701         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
74702         old glibc regex code mishandles strings longer than 2**31 bytes.
74703         This patch fixes this when the regex code is used in gnulib
74704         (i.e., outside glibc).
74705
74706         This patch should not affect the use of the regex code inside
74707         glibc.  No doubt this problem also needs to be handled for glibc
74708         as well, but the result will be an incompatible change to the
74709         glibc ABI, and the old ABI will have to be supported too.  That
74710         can be the the subject for another patch.
74711
74712         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
74713         governing whether the rest of this patch is active.  By default,
74714         the macro is disabled and the patch has no effect.
74715         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
74716         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
74717         (struct re_pattern_buffer, re_search, re_search_2, re_match):
74718         (re_match_2, re_set_registers): Use the new types.
74719         * lib/regex_internal.h (Idx, re_hashval_t): New types.
74720         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
74721         New macros.
74722         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
74723         (re_string_context_at, bin_tree_t, re_dfastate_t):
74724         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
74725         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
74726         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
74727         (re_string_char_size_at, re_string_wchar_at):
74728         (re_string_elem_size_at):
74729         Use the new types and macros to port to 64-bit hosts.
74730         Use unsigned types for internal values, so that the code
74731         mostly works even for arrays larger than SSIZE_MAX.
74732         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
74733         (search_duplicated_node, calc_eclosure_iter, fetch_number):
74734         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
74735         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
74736         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
74737         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
74738         (calc_inveclosure, parse_dup_op, build_range_exp):
74739         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
74740         (fetch_number, create_token_tree, mark_opt_subexp):
74741         Likewise.
74742         * lib/regex_internal.c (re_string_construct_common,
74743         create_ci_newstate):
74744         (create_cd_newstate, re_string_allocate, re_string_construct):
74745         (re_string_realloc_buffers, build_wcs_upper_buffer):
74746         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
74747         (re_string_reconstruct, re_string_peek_byte_case):
74748         (re_string_fetch_byte_case, re_string_context_at):
74749         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
74750         (re_node_set_init_copy, re_node_set_add_intersect):
74751         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
74752         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
74753         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
74754         (re_acquire_state, re_acquire_state_context, register_state):
74755         Likewise.
74756         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
74757         search_cur_bkref_entry):
74758         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
74759         (re_search_internal, re_search_2_stub, re_search_stub)
74760         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
74761         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
74762         (update_cur_sifted_state, check_dst_limits):
74763         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74764         (check_subexp_limits, sift_states_bkref, merge_state_array):
74765         (check_subexp_matching_top, get_subexp, get_subexp_sub):
74766         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
74767         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
74768         (expand_bkref_cache, check_node_accept_bytes):
74769         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
74770         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
74771         (acquire_init_state_context, check_halt_node_context):
74772         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
74773         (sift_states_backward, clean_state_log_if_needed):
74774         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
74775         (find_recover_state, transit_state_sb, transit_state_mb):
74776         (transit_state_bkref, build_trtable, match_ctx_clean):
74777         Likewise.
74778         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
74779         to work around an assumption that REG_MISSING is negative.
74780
74781         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
74782         (seek_collating_symbol_entry) [defined _LIBC]:
74783         (lookup_collation_sequence_value) [defined _LIBC]:
74784         (build_range_exp, build_collating_symbol) [defined _LIBC]:
74785         Use prototypes rather than old-style function definitions.
74786         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
74787         (transit_state_sb) [0]:
74788         (find_collation_sequence_value) [defined _LIBC]: Likewise.
74789
74790         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
74791         rm_eo.
74792
74793         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
74794         (optimize_subexps, lower_subexp):
74795         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
74796         since the signed shift might overflow.  Use 1u<<31 instead.
74797         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
74798         Likewise.
74799         * lib/regexec.c (check_dst_limits_calc_pos_1,
74800         check_subexp_matching_top): Likewise.
74801
74802         * lib/regcomp.c (optimize_subexps, lower_subexp):
74803         Use CHAR_BIT rather than 8, for clarity.
74804         * lib/regexec.c (check_dst_limits_calc_pos_1):
74805         (check_subexp_matching_top): Likewise.
74806         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
74807         have to worry about portability issues when shifting it left.
74808         Remove no-longer-needed test for table_size > 0.
74809         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
74810         in a word, as the resulting behavior is undefined.
74811         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
74812         in one case, a <= should have been an <, and in another case the
74813         whole test was missing.
74814         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
74815         the standard name CHAR_BIT.
74816         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
74817         this is not true on one's complement and signed-magnitude hosts.
74818
74819         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
74820         next_last_offset.
74821         (struct re_dfa_t): Remove unused member states_alloc.
74822         * lib/regcomp.c (init_dfa): Don't initialize unused members.
74823
74824 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74825
74826         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
74827         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
74828         and large-file glibc and in 32-bit large-file Solaris.
74829
74830 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74831
74832         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
74833         lengths fit in regoff_t; this isn't true if regoff_t is the same
74834         width as size_t.
74835         * lib/regex.c (re_search_internal): 5th arg is LAST_START
74836         (= START + RANGE) instead of RANGE.  This avoids overflow
74837         problems when regoff_t is the same width as size_t.
74838         All callers changed.
74839         (re_search_2_stub): Check for overflow when adding the
74840         sizes of the two strings.
74841         (re_search_stub): Check for overflow when adding START
74842         to RANGE; if it occurs, substitute the extreme value.
74843
74844 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74845
74846         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
74847
74848 2005-08-31  Jim Meyering  <jim@meyering.net>
74849
74850         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
74851         a pointer-to-const.
74852         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
74853         (register_state): Likewise.
74854         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
74855         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
74856         (group_nodes_into_DFAstates): Likewise.
74857
74858 2005-08-31  Jim Meyering  <jim@meyering.net>
74859
74860         * check-module: Add a FIXME comment.
74861
74862 2005-08-31  Eric Blake  <ebb9@byu.net>
74863
74864         * modules/unistd-safer (Files): Add unistd--.h.
74865         * modules/stdio-safer (Files): Add stdio--.h.
74866
74867 2005-08-31  Derek Price  <derek@ximbiot.com>
74868
74869         * lib/getdelim.c (getdelim): Return EOF on EOF.
74870         Reported by Larry Jones <lawrence.jones@ugs.com>.
74871
74872 2005-08-31  Bruno Haible  <bruno@clisp.org>
74873
74874         Avoid unnecessary diffs in the generated lib/Makefile.am.
74875         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
74876         the generated files.
74877         (func_import): Don't set cmd.
74878
74879 2005-08-31  Bruno Haible  <bruno@clisp.org>
74880
74881         * lib/strstr.c: Include <stddef.h>, for NULL.
74882         * lib/strcasestr.c: Likewise.
74883         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74884
74885 2005-08-31  Bruno Haible  <bruno@clisp.org>
74886
74887         * gnulib-tool: New option --macro-prefix.
74888         (func_import): Use macro_prefix.
74889         (import): Handle option --macro-prefix.
74890
74891 2005-08-31  Bruno Haible  <bruno@clisp.org>
74892
74893         * gnulib-tool (import): Rename most ac_* variables to cached_*.
74894         Also use new variables cached_lgpl, cached_libtool.
74895
74896 2005-08-31  Bruno Haible  <bruno@clisp.org>
74897
74898         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
74899         always instantiating them.
74900
74901 2005-08-31  Bruno Haible  <bruno@clisp.org>
74902
74903         * gnulib-tool (func_import): Read the previous cached settings
74904         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
74905         earlier added by gnulib but are now dropped. Warn when a gnulib file
74906         overwrites a non-gnulib file.
74907
74908 2005-08-31  Bruno Haible  <bruno@clisp.org>
74909
74910         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
74911         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
74912         projects that don't keep autogenerated files in CVS. Put into
74913         actioncmd only the specified modules, not the transitive closure.
74914
74915 2005-08-31  Bruno Haible  <bruno@clisp.org>
74916
74917         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
74918         Create directories that shall be filled.
74919         (import): Don't look for gl_* macros in configure.ac. Recurse across
74920         all directories containing a gnulib-cache.m4 files, if meaningful.
74921
74922 2005-08-31  Bruno Haible  <bruno@clisp.org>
74923
74924         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
74925         (import): Set seen_libtool when we see gl_LIBTOOL.
74926
74927 2005-08-31  Bruno Haible  <bruno@clisp.org>
74928
74929         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
74930         declaration macro definitions from generated gnulib.m4.
74931
74932 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
74933
74934         * lib/iconvme.h: Add prototype for iconv_alloc.
74935
74936 2005-08-29  Simon Josefsson  <jas@extundo.com>
74937
74938         * lib/iconvme.c: Fix errno.
74939
74940 2005-08-29  Bruno Haible  <bruno@clisp.org>
74941
74942         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
74943         that it works when the directory contains spaces.
74944
74945 2005-08-29  Bruno Haible  <bruno@clisp.org>
74946
74947         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
74948
74949 2005-08-29  Bruno Haible  <bruno@clisp.org>
74950
74951         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
74952         Emit more advice.
74953
74954 2005-08-29  Bruno Haible  <bruno@clisp.org>
74955         and Stepan Kasal  <kasal@ucw.cz>
74956
74957         * check-module: If more parameters are given, check each of them
74958         separately; add more exceptions, as noted by Jim Meyering.
74959         (check_module): New procedure.
74960         (%exempt_header): Now contains all exceptions.
74961
74962 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
74963
74964         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
74965
74966 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74967
74968         * lib/iconvme.c: Split iconv_string into iconv_alloc.
74969
74970 2005-08-28  Bruno Haible  <bruno@clisp.org>
74971
74972         * m4/gnulib-tool.m4: New file.
74973
74974 2005-08-27  Jim Meyering  <jim@meyering.net>
74975
74976         * modules/unistd-safer (Files): Add pipe-safer.c.
74977         * modules/fcntl-safer (Files): Add creat-safer.c.
74978
74979 2005-08-27  Jim Meyering  <jim@meyering.net>
74980
74981         * m4/stdlib-safer.m4: New file.  From coreutils.
74982         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
74983         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
74984         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
74985         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
74986         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
74987
74988 2005-08-27  Jim Meyering  <jim@meyering.net>
74989
74990         * lib/fopen-safer.c: Merge minor changes from coreutils.
74991         * lib/dup-safer.c: Likewise.
74992         * lib/fd-safer.c: Likewise.
74993
74994         Merge from coreutils.
74995         * lib/stdio--.h: New file.
74996         * lib/stdlib--.h: New file.
74997         * lib/mkstemp-safer.c: New file.
74998
74999         GNU tar needs these.
75000         * lib/pipe-safer.c: New file.
75001         * lib/creat-safer.c: New file.
75002         * lib/fcntl--.h (creat): Define to creat_safer.
75003         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
75004         * lib/unistd--.h (pipe): Define to pipe_safer.
75005         * lib/unistd-safer.h: Declare pipe_safer.
75006
75007 2005-08-26  Simon Josefsson  <jas@extundo.com>
75008
75009         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
75010         Haible <bruno@clisp.org>.
75011
75012 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
75013
75014         * lib/regex_internal.h: Remove all references to
75015         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
75016         or better.
75017         (bitset_not, bitset_merge, bitset_not_merge):
75018         (bitset_mask, re_string_allocate, re_string_construct):
75019         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
75020         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
75021         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
75022         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
75023         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75024         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75025         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
75026         (re_acquire_state_context):
75027         Remove unnecessary forward decls.
75028         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
75029         Put __attribute at function definition,
75030         now that the function decl has been removed.
75031         * lib/regex_internal.c (re_string_peek_byte_case):
75032         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
75033         Likewise.
75034
75035 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
75036
75037         * m4/regex.m4: Add AC_PREREQ(2.50).
75038         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
75039
75040 2005-08-25  Simon Josefsson  <jas@extundo.com>
75041
75042         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
75043         __fsetlocking.
75044
75045 2005-08-25  Simon Josefsson  <jas@extundo.com>
75046
75047         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
75048         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
75049         GLIBC specific code.
75050
75051 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         Make regex safe for g++.  This fixes one real bug (an "err"
75054         that should have been "*err").  g++ problem reported by
75055         Sam Steingold.
75056         * lib/regex_internal.h (re_calloc): New macro, consistent with
75057         re_malloc etc.  All callers of calloc changed to use re_calloc.
75058         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
75059         not int.  All callers changed.
75060         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
75061         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
75062         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
75063         (find_recover_state): Change "err" to "*err"; this fixes what
75064         appears to be a real bug.
75065         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
75066         versus int.
75067
75068 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75069
75070         * modules/regex (Depends-on): Add malloc, since the code
75071         assumes that !malloc(0) means failure.
75072
75073 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75074
75075         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
75076
75077         alloca modernization/simplification for regex.
75078         * lib/regex.c: Remove portability cruft for alloca.  This no longer
75079         needs to be at the start of the file, and can be moved into
75080         regex_internal.h and simplified.
75081         * lib/regex_internal.h: Include <alloca.h>.
75082         (__libc_use_alloca) [!defined _LIBC]: New macro.
75083         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
75084         now works outside glibc.
75085
75086 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75087
75088         * config/srclist.txt: Add glibc bugs 1241, 1245.
75089
75090 2005-08-25  Jim Meyering  <jim@meyering.net>
75091
75092         * lib/open-safer.c: Include <config.h>.
75093         Otherwise, we'd lose LARGEFILE support in any file using
75094         e.g. "fcntl--.h"
75095
75096 2005-08-25  Bruno Haible  <bruno@clisp.org>
75097
75098         * m4/minmax.m4: Require autoconf 2.52.
75099         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
75100         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
75101         alternatives of translit over the alphabet.
75102         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
75103
75104 2005-08-24  Simon Josefsson  <jas@extundo.com>
75105
75106         * tests/test-getpass.c: New file.
75107
75108 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75109
75110         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
75111         for GNU regex features.
75112
75113 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75114
75115         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
75116         * lib/regex.h (regerror): Likewise.
75117
75118         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
75119         requires this.  (The code never needed it.)
75120
75121         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
75122         All uses of recently-renamed identifiers changed to use the new,
75123         POSIX-compliant names.  The code will build and run just fine
75124         without these changes, but it's better to eat our own dog food
75125         and use the standard-conforming names.
75126
75127         * lib/regex.h: Fix a multitude of POSIX name space violations.
75128         These changes have an effect only for programs that define
75129         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
75130         do not change anything for programs compiled in the normal way.
75131         Also, there is no effect on the ABI.
75132
75133         (_REGEX_SOURCE): New macro.
75134         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
75135         defined and _GNU_SOURCE is not; this fixes a name space violation.
75136
75137         Rename the following macros to obey POSIX requirements.
75138         The old names are still visible as macros if _REGEX_SOURCE is defined.
75139         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
75140         RE_BACKSLASH_ESCAPE_IN_LISTS.
75141         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
75142         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
75143         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
75144         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
75145         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
75146         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
75147         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
75148         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
75149         (REG_INTERVALS): renamed from RE_INTERVALS.
75150         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
75151         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
75152         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
75153         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
75154         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
75155         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
75156         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
75157         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
75158         RE_UNMATCHED_RIGHT_PAREN_ORD.
75159         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
75160         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
75161         (REG_DEBUG): renamed from RE_DEBUG.
75162         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
75163         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
75164         unusual, since we can't clash with the POSIX REG_ICASE.
75165         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
75166         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
75167         (REG_NO_SUB): renamed from RE_NO_SUB.
75168         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
75169         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
75170         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
75171         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
75172         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
75173         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
75174         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
75175         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
75176         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
75177         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
75178         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
75179         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
75180         RE_SYNTAX_POSIX_MINIMAL_BASIC.
75181         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
75182         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
75183         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
75184         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
75185         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
75186         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
75187         (REG_FIXED): Renamed from REGS_FIXED.
75188         (REG_NREGS): Renamed from RE_NREGS.
75189
75190         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
75191         of other REG_* macros, since POSIX says the user is allowed to
75192         #undef these macros selectively.
75193
75194         (reg_errcode_t): Update comment stating what other tables need
75195         to be consistent.
75196
75197         Rename the following enum values to obey POSIX requirements.
75198         The old names are still visible as macros.
75199         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
75200         is not defined, since GNU is supposed to be a superset of POSIX as
75201         much as possible, and since we want reg_errcode_t to be a signed
75202         type for implementation consistency.
75203         (_REG_NOERROR): Renamed from REG_NOERROR.
75204         (_REG_NOMATCH): Renamed from REG_NOMATCH.
75205         (_REG_BADPAT): Renamed from REG_BADPAT.
75206         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
75207         (_REG_ECTYPE): Renamed from REG_ECTYPE.
75208         (_REG_EESCAPE): Renamed from REG_EESCAPE.
75209         (_REG_ESUBREG): Renamed from REG_ESUBREG.
75210         (_REG_EBRACK): Renamed from REG_EBRACK.
75211         (_REG_EPAREN): Renamed from REG_EPAREN.
75212         (_REG_EBRACE): Renamed from REG_EBRACE.
75213         (_REG_BADBR): Renamed from REG_BADBR.
75214         (_REG_ERANGE): Renamed from REG_ERANGE.
75215         (_REG_ESPACE): Renamed from REG_ESPACE.
75216         (_REG_BADRPT): Renamed from REG_BADRPT.
75217         (_REG_EEND): Renamed from REG_EEND.
75218         (_REG_ESIZE): Renamed from REG_ESIZE.
75219         (_REG_ERPAREN): Renamed from REG_ERPAREN.
75220         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
75221         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
75222         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
75223         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
75224
75225         (_REG_RE_NAME, _REG_RM_NAME): New macros.
75226         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
75227         changed.  But support the old name if the new one is not defined
75228         and if _REGEX_SOURCE.
75229
75230         Change the following member names in struct re_pattern_buffer.
75231         The old names are still supported if !_REGEX_SOURCE.
75232         The new names are always supported, regardless of _REGEX_SOURCE.
75233         (re_buffer): Renamed from buffer.
75234         (re_allocated): Renamed from allocated.
75235         (re_used): Renamed from used.
75236         (re_syntax): Renamed from syntax.
75237         (re_fastmap): Renamed from fastmap.
75238         (re_translate): Renamed from translate.
75239         (re_can_be_null): Renamed from can_be_null.
75240         (re_regs_allocated): Renamed from regs_allocated.
75241         (re_fastmap_accurate): Renamed from fastmap_accurate.
75242         (re_no_sub): Renamed from no_sub.
75243         (re_not_bol): Renamed from not_bol.
75244         (re_not_eol): Renamed from not_eol.
75245         (re_newline_anchor): Renamed from newline_anchor.
75246
75247         Change the following member names in struct re_registers.
75248         The old names are still supported if !_REGEX_SOURCE.
75249         The new names are always supported, regardless of _REGEX_SOURCE.
75250         (rm_num_regs): Renamed from num_regs.
75251         (rm_start): Renamed from start.
75252         (rm_end): Renamed from end.
75253
75254         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
75255         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
75256         Prepend __ to parameter names.
75257
75258         Undo yesterday's changes.
75259
75260 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75261
75262         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
75263         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
75264         lib/regex.c.
75265
75266 2005-08-24  Jim Meyering  <jim@meyering.net>
75267
75268         Sync from coreutils.
75269         * m4/fcntl-safer.m4: New file.
75270
75271         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
75272         and object files for this module.
75273
75274 2005-08-24  Jim Meyering  <jim@meyering.net>
75275
75276         Sync from coreutils.
75277         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
75278
75279 2005-08-24  Jim Meyering  <jim@meyering.net>
75280
75281         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
75282         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
75283
75284 2005-08-24  Jim Meyering  <jim@meyering.net>
75285
75286         * modules/fcntl-safer: New module.
75287         * modules/fts (Depends-on): Add fcntl-safer.
75288         * MODULES.html.sh (File descriptor based Input/Output):
75289         Add fcntl-safer.
75290
75291 2005-08-24  Bruno Haible  <bruno@clisp.org>
75292
75293         Support for unit test modules.
75294         * modules/README: Mention tests modules.
75295         * modules/TEMPLATE-TESTS: New file.
75296         * gnulib-tool: New options --extract-tests-module, --with-tests and
75297         --tests-base (unused for the moment).
75298         (testsbase, inctests): New variables.
75299         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
75300         (func_verify_module): Exclude TEMPLATE-TESTS.
75301         (func_verify_nontests_module, func_verify_tests_module): New functions.
75302         (func_get_dependencies): Add implicit dependency for tests modules.
75303         (func_get_tests_module): New function.
75304         (func_modules_transitive_closure): When --with-tests was specified,
75305         include the unit tests as well, unless explicitly avoided.
75306         (func_emit_lib_Makefile_am): Ignore the tests modules here.
75307         (func_emit_tests_Makefile_am): New function.
75308         (func_create_testdir): When --with-tests was specified, emit a
75309         tests/ directory.
75310         * MODULES.html.sh (Future developments): Update.
75311
75312 2005-08-24  Bruno Haible  <bruno@clisp.org>
75313
75314         * modules/tls-tests: New file.
75315         * tests/test-tls.c: New file, from GNU gettext.
75316
75317 2005-08-24  Bruno Haible  <bruno@clisp.org>
75318
75319         * modules/lock-tests: New file.
75320         * tests/test-lock.c: New file, from GNU gettext.
75321
75322 2005-08-24  Bruno Haible  <bruno@clisp.org>
75323
75324         * lib/lock.h: Add multiple inclusion guard.
75325         * lib/tls.h: Add multiple inclusion guard.
75326
75327 2005-08-24  Bruno Haible  <bruno@clisp.org>
75328
75329         * gnulib-tool: Add support for the --aux-dir option to
75330         --create-testdir, --create-megatestdir, --test, --megatest.
75331         (func_create_testdir, func_create_megatestdir): Optionally emit a
75332         AC_CONFIG_AUX_DIR directive.
75333         (create-testdir, create-megatestdir, test, megatest): Provide a
75334         default value for $auxdir.
75335
75336 2005-08-24  Bruno Haible  <bruno@clisp.org>
75337
75338         * gnulib-tool (import): Use compound statement instead of subshell
75339         where possible.
75340
75341 2005-08-24  Bruno Haible  <bruno@clisp.org>
75342
75343         * gnulib-tool (import): Change --aux-dir default to "build-aux".
75344
75345 2005-08-24  Bruno Haible  <bruno@clisp.org>
75346
75347         * gnulib-tool (func_version): Update.
75348
75349 2005-08-24  Bruno Haible  <bruno@clisp.org>
75350
75351         * gnulib-tool (func_import, func_create_testdir,
75352         func_create_megatestdir): Quote all autoconf macro arguments.
75353
75354 2005-08-24  Bruno Haible  <bruno@clisp.org>
75355
75356         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
75357         option --force, because --force causes the aclocal.m4 of each
75358         subdirectory to be newer than the corresponding config.h.in.
75359
75360 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75361
75362         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
75363         All contents moved to gl_REGEX.
75364         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
75365         assume that it does.
75366
75367 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75368
75369         * lib/regex.h (REG_NOSYS)
75370         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
75371         Define, since POSIX requires it as of 2001.
75372         (_REG_ENOSYS)
75373         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
75374         New private symbol, used to keep the enum signed in all cases.
75375         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
75376         Youngman in
75377         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
75378
75379         * lib/regex_internal.c (re_string_skip_chars, register_state):
75380         (calc_state_hash):
75381         Remove forward decls; no longer needed now that we use prototypes.
75382         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
75383         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
75384         (clean_state_log_if_needed): Likewise.
75385
75386 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75387
75388         * config/srclist.txt: Add glibc bugs 1231-1233.
75389
75390 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75391
75392         Fix problems reported by Sam Steingold in
75393         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
75394         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
75395         assumed that reg_errcode_t is a signed type, which is not
75396         necessarily true if _XOPEN_SOURCE is not defined.
75397         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
75398         since some compilers warn about it otherwise.
75399
75400 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75401
75402         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
75403         (init_word_char, create_initial_state, duplicate_node_closure):
75404         (fetch_token, peek_token_bracket, build_range_exp):
75405         (build_collating_symbol): Remove forward decls; no longer needed
75406         now that we use prototypes.
75407
75408         * lib/regcomp.c:
75409         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
75410         (re_compile_fastmap_iter, regcomp, regerror, regfree):
75411         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
75412         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
75413         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
75414         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
75415         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
75416         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
75417         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
75418         (build_range_exp, build_collating_symbol, parse_bracket_exp):
75419         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
75420         (build_charclass, build_charclass_op, fetch_number, create_tree):
75421         (create_token_tree, mark_opt_subexp, duplicate_tree):
75422         Use prototypes rather than old-style definitions.
75423
75424         * lib/regex_internal.c:
75425         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
75426         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
75427         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
75428         (re_string_reconstruct, re_string_peek_byte_case):
75429         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
75430         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
75431         (re_node_set_init_copy, re_node_set_add_intersect):
75432         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
75433         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
75434         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
75435         (re_acquire_state, re_acquire_state_context, register_state):
75436         (create_ci_newstate, create_cd_newstate, free_state):
75437         Likewise.
75438         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
75439         re_search_2):
75440         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
75441         (re_search_internal, prune_impossible_nodes):
75442         (acquire_init_state_context, check_matching, static):
75443         (check_halt_node_context, check_halt_state_context, proceed_next_node):
75444         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
75445         (update_regs, sift_states_backward, build_sifted_states):
75446         (clean_state_log_if_needed, merge_state_array):
75447         (update_cur_sifted_state, add_epsilon_src_nodes):
75448         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
75449         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
75450         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
75451         (find_recover_state, check_subexp_matching_top, transit_state_mb):
75452         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
75453         (check_arrival, check_arrival_add_next_nodes):
75454         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
75455         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
75456         (check_node_accept_bytes, check_node_accept, extend_buffers):
75457         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
75458         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
75459         (sift_ctx_init):
75460         Likewise.
75461
75462         * lib/regex_internal.h:
75463         (re_string_allocate, re_string_construct, re_string_reconstruct):
75464         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
75465         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
75466         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
75467         (re_string_context_at, re_string_peek_byte_case):
75468         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
75469         is defined, since we now use prototypes always.
75470
75471         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
75472         C89 or better.  All uses removed.
75473
75474 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * config/srclist.txt: Add glibc bugs 1220-1227.
75477
75478 2005-08-20  Jim Meyering  <jim@meyering.net>
75479
75480         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
75481         of unused local, dfa.
75482
75483 2005-08-20  Bruno Haible  <bruno@clisp.org>
75484
75485         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
75486
75487 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75488
75489         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
75490         (re_node_set_insert_last, re_dfa_add_node):
75491         Rename local variables to avoid GCC shadowing warnings.
75492
75493 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75494
75495         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
75496         [defined lint]: Suppress bogus uninitialized-variable warnings.
75497
75498         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
75499         and let the caller return REG_ESPACE if out of space.  This
75500         removes an uninitialied-variable warning with GCC 4.0.1, and also
75501         avoids taking the address of a local variable.  All callers
75502         changed.
75503
75504 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75505
75506         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
75507         $LIBCSRC/posix/regexec.c.
75508         Add glibc bug 1217 for regcomp.c.
75509
75510 2005-08-19  Jim Meyering  <jim@meyering.net>
75511
75512         * lib/regexec.c (proceed_next_node): Redo local variables to
75513         avoid GCC shadowing warnings.
75514
75515 2005-08-18  Bruno Haible  <bruno@clisp.org>
75516
75517         * lib/strstr.c (strstr): Fix return value in multibyte case.
75518         * lib/strcasestr.c (strcasestr): Likewise.
75519
75520 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75521
75522         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
75523
75524 2005-08-17  Jim Meyering  <jim@meyering.net>
75525
75526         Make the %s format (seconds since the epoch) work for a negative
75527         number and when used with a zero-padded field width, e.g. %015s.
75528
75529         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
75530         label so that it precedes the code to set `digits'.  Otherwise,
75531         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
75532         print `00-22'.  Now, it prints `-0022', as it should.
75533
75534 2005-08-17  Bruno Haible  <bruno@clisp.org>
75535
75536         * modules/strstr (Files): Add m4/mbrtowc.m4.
75537         (Depends-on): Add mbuiter.
75538
75539 2005-08-17  Bruno Haible  <bruno@clisp.org>
75540
75541         * modules/strcasestr: New file.
75542         * MODULES.html.sh (String handling, based on ANSI C 89): Add
75543         strcasestr.
75544
75545 2005-08-17  Bruno Haible  <bruno@clisp.org>
75546
75547         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
75548
75549 2005-08-17  Bruno Haible  <bruno@clisp.org>
75550
75551         * modules/mbuiter: New file.
75552         * MODULES.html.sh (Extended multibyte and wide character utilities):
75553         Add mbuiter.
75554
75555 2005-08-17  Bruno Haible  <bruno@clisp.org>
75556
75557         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
75558         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
75559
75560 2005-08-17  Bruno Haible  <bruno@clisp.org>
75561
75562         * m4/strcasestr.m4: New file.
75563
75564 2005-08-17  Bruno Haible  <bruno@clisp.org>
75565
75566         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
75567         * lib/strstr.c: Completely rewritten, with multibyte locale support.
75568
75569 2005-08-17  Bruno Haible  <bruno@clisp.org>
75570
75571         * lib/strcasestr.h: New file.
75572         * lib/strcasestr.c: New file.
75573
75574 2005-08-17  Bruno Haible  <bruno@clisp.org>
75575
75576         * lib/strcasecmp.c: Use mbuiter.h.
75577
75578 2005-08-17  Bruno Haible  <bruno@clisp.org>
75579
75580         * lib/mbuiter.h: New file.
75581
75582 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75583
75584         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
75585         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
75586         and gl_GETOPT are both invoked via different paths (as happens
75587         with GNU tar CVS because it uses both argp and getopt), the former
75588         wins.
75589
75590 2005-08-16  Bruno Haible  <bruno@clisp.org>
75591
75592         * modules/tls: New file.
75593         * MODULES.html.sh (Multithreading): Add tls.
75594
75595 2005-08-16  Bruno Haible  <bruno@clisp.org>
75596
75597         * modules/strnlen1: New file.
75598         * MODULES.html.sh (String handling): Add strnlen1.
75599
75600 2005-08-16  Bruno Haible  <bruno@clisp.org>
75601
75602         * modules/strcase (Files): Add m4/mbrtowc.m4.
75603         (Depends-on): Add strnlen1, mbchar.
75604
75605 2005-08-16  Bruno Haible  <bruno@clisp.org>
75606
75607         * modules/mbiter: New file.
75608         * MODULES.html.sh (Extended multibyte and wide character utilities):
75609         Add mbiter.
75610
75611 2005-08-16  Bruno Haible  <bruno@clisp.org>
75612
75613         * modules/mbfile: New file.
75614         * MODULES.html.sh (Extended multibyte and wide character utilities):
75615         Add mbfile.
75616
75617 2005-08-16  Bruno Haible  <bruno@clisp.org>
75618
75619         * modules/mbchar: New file.
75620         * MODULES.html.sh (Extended multibyte and wide character utilities):
75621         New section.
75622
75623 2005-08-16  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/tls.m4: New file, from GNU gettext.
75626
75627 2005-08-16  Bruno Haible  <bruno@clisp.org>
75628
75629         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
75630         always.
75631         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
75632
75633 2005-08-16  Bruno Haible  <bruno@clisp.org>
75634
75635         * m4/mbiter.m4: New file.
75636
75637 2005-08-16  Bruno Haible  <bruno@clisp.org>
75638
75639         * m4/mbfile.m4: New file.
75640
75641 2005-08-16  Bruno Haible  <bruno@clisp.org>
75642
75643         * m4/mbchar.m4: New file.
75644
75645 2005-08-16  Bruno Haible  <bruno@clisp.org>
75646
75647         * lib/tls.h: New file, from GNU gettext.
75648         * lib/tls.c: New file, from GNU gettext.
75649
75650 2005-08-16  Bruno Haible  <bruno@clisp.org>
75651
75652         * lib/strnlen1.h: New file.
75653         * lib/strnlen1.c: New file.
75654
75655 2005-08-16  Bruno Haible  <bruno@clisp.org>
75656
75657         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
75658         (mbi_init): Update.
75659         (mbi_avail, mbi_advance): Let the iteration end before the terminating
75660         NUL byte, not after it.
75661
75662 2005-08-16  Bruno Haible  <bruno@clisp.org>
75663
75664         * lib/strcase.h (strcasecmp): Add note in comments.
75665         * lib/strncasecmp.c: Use code from strcasecmp.c.
75666         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
75667         (strcasecmp): Work correctly in multibyte locales.
75668
75669 2005-08-16  Bruno Haible  <bruno@clisp.org>
75670
75671         * lib/mbiter.h: New file.
75672
75673 2005-08-16  Bruno Haible  <bruno@clisp.org>
75674
75675         * lib/mbfile.h: New file.
75676
75677 2005-08-16  Bruno Haible  <bruno@clisp.org>
75678
75679         * lib/mbchar.h: New file.
75680         * lib/mbchar.c: New file.
75681
75682 2005-08-16  Bruno Haible  <bruno@clisp.org>
75683
75684         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
75685         the valid ones. Makes the comparison operations transitive:
75686         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
75687         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
75688
75689 2005-08-15  Simon Josefsson  <jas@extundo.com>
75690
75691         * modules/ssize_t (License): Change to 'unlimited'.
75692
75693         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
75694
75695 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75696
75697         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
75698         Add comments for each pending glibc patch.
75699
75700 2005-08-15  Bruno Haible  <bruno@clisp.org>
75701
75702         * lib/regex.h (__restrict_arr): Don't define to __restrict if
75703         __cplusplus is defined.
75704
75705 2005-08-14  Jim Meyering  <jim@meyering.net>
75706
75707         Sync from coreutils.
75708
75709         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
75710         Use the hash-table-based cycle-detection code not just when
75711         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
75712         Reported by James Youngman in
75713         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
75714         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
75715         FTS_TIGHT_CYCLE_CHECK.
75716         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
75717         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
75718         once again.
75719         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
75720         * lib/fts.c (fd_safer): Remove decl.
75721         Include fcntl--.h rather than unistd-safer.h
75722         (fts_safe_changedir): Don't call fd_safer; no longer needed
75723         now that we include fcntl--.h.
75724
75725 2005-08-12  Simon Josefsson  <jas@extundo.com>
75726
75727         * modules/getndelim2: Use ssize_t module.
75728         * modules/getnline: Likewise.
75729         * modules/safe-read: Likewise.
75730         * modules/xreadlink: Likewise.
75731
75732         * modules/ssize_t: New file.
75733
75734 2005-08-12  Simon Josefsson  <jas@extundo.com>
75735
75736         * m4/readline.m4: Look for termcap, curses or ncurses if required.
75737
75738 2005-08-12  Simon Josefsson  <jas@extundo.com>
75739
75740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75741         ssize_t.
75742
75743 2005-08-12  Simon Josefsson  <jas@extundo.com>
75744
75745         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
75746         readline, getdelim and check_version.
75747         (Support for systems lacking ISO C 99: Sizes of integer types):
75748         Add size_max.
75749
75750 2005-08-12  Bruno Haible  <bruno@clisp.org>
75751
75752         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
75753
75754 2005-08-11  Simon Josefsson  <jas@extundo.com>
75755
75756         * modules/readline: New file.
75757
75758         * modules/strnlen (Files): Add strnlen.h.
75759
75760 2005-08-11  Simon Josefsson  <jas@extundo.com>
75761
75762         * m4/readline.m4: New file.
75763
75764 2005-08-11  Simon Josefsson  <jas@extundo.com>
75765
75766         * lib/readline.h, readline.c: New file.
75767
75768 2005-08-11  Simon Josefsson  <jas@extundo.com>
75769
75770         * doc/gnulib.texi (Initial import, Finishing touches): Mention
75771         gl_AVOID.
75772
75773 2005-08-11  Bruno Haible  <bruno@clisp.org>
75774
75775         * lib/strnlen.h (strnlen): Change parameter name to match comment.
75776
75777 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
75778
75779         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
75780
75781 2005-08-10  Simon Josefsson  <jas@extundo.com>
75782
75783         * tests/test-iconvme.c: New file.
75784
75785 2005-08-10  Simon Josefsson  <jas@extundo.com>
75786
75787         * m4/strnlen.m4: New file.
75788
75789         * m4/strndup.m4: Don't check for strnlen declaration, done in
75790         strnlen.m4.
75791
75792 2005-08-10  Simon Josefsson  <jas@extundo.com>
75793
75794         * lib/strndup.c: Use strnlen.h.
75795
75796         * lib/strnlen.h: New file.
75797
75798 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75799
75800         * README: Typos.
75801
75802 2005-08-02  Simon Josefsson  <jas@extundo.com>
75803
75804         * modules/readline: New file.
75805
75806 2005-08-02  Simon Josefsson  <jas@extundo.com>
75807
75808         * modules/getdelim: New file.
75809
75810         * modules/getline: Rewrite, don't use getndelim2.
75811
75812 2005-08-02  Simon Josefsson  <jas@extundo.com>
75813
75814         * m4/getline.m4: Separate out getdelim stuff into separate module.
75815
75816         * m4/getdelim.m4: New file.
75817
75818 2005-08-02  Simon Josefsson  <jas@extundo.com>
75819
75820         * lib/getline.h, getline.c: Rewrite.
75821
75822         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
75823
75824 2005-07-31  Bruno Haible  <bruno@clisp.org>
75825
75826         * lib/lock.h (gl_lock_initializer): New macro.
75827         (gl_lock_define_initialized): Use it.
75828         (gl_rwlock_initializer): New macro.
75829         (gl_rwlock_define_initialized): Use it.
75830         (gl_recursive_lock_initializer): New macro.
75831         (gl_recursive_lock_define_initialized): Use it.
75832
75833 2005-07-30  Karl Berry  <karl@gnu.org>
75834
75835         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
75836         Report from Ben Pfaff, regarding getopt.
75837
75838 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
75839
75840         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
75841         normal way.
75842         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
75843         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
75844         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
75845         (gl_GETOPT): Use the new macros.  Most of the implementation
75846         is moved to the new macros.  This is for programs like Emacs
75847         that don't want all the functionality of gl_GETOPT.
75848
75849 2005-07-26  Bruno Haible  <bruno@clisp.org>
75850
75851         * m4/lock.m4: Update from GNU gettext.
75852
75853 2005-07-26  Bruno Haible  <bruno@clisp.org>
75854
75855         * lib/lock.h: Update from GNU gettext.
75856         * lib/lock.c: Update from GNU gettext.
75857
75858 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
75859
75860         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
75861         obsolescent AC_TRY_RUN.  Include the default includes files, for
75862         'exit'.
75863
75864 2005-07-24  Bruno Haible  <bruno@clisp.org>
75865
75866         * modules/visibility: New file.
75867         * MODULES.html.sh (Misc): Add visibility.
75868
75869 2005-07-24  Bruno Haible  <bruno@clisp.org>
75870
75871         * m4/visibility.m4: New file.
75872
75873 2005-07-24  Bruno Haible  <bruno@clisp.org>
75874
75875         * doc/visibility.texi: New file.
75876
75877 2005-07-22  Bruno Haible  <bruno@clisp.org>
75878
75879         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
75880         $(ALLOCA_H), redundant through BUILT_SOURCES.
75881         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
75882         redundant through BUILT_SOURCES.
75883         * modules/byteswap (Makefile.am): Remove explicit dependency on
75884         $(BYTESWAP_H), redundant through BUILT_SOURCES.
75885         * modules/fnmatch (Makefile.am): Remove explicit dependency on
75886         $(FNMATCH_H), redundant through BUILT_SOURCES.
75887         * modules/getopt (Makefile.am): Remove explicit dependency on
75888         $(GETOPT_H), redundant through BUILT_SOURCES.
75889         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
75890         redundant through BUILT_SOURCES.
75891         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
75892         redundant through BUILT_SOURCES.
75893         * modules/stdbool (Makefile.am): Remove explicit dependency on
75894         $(STDBOOL_H), redundant through BUILT_SOURCES.
75895         * modules/stdint (Makefile.am): Remove explicit dependency on
75896         $(STDINT_H), redundant through BUILT_SOURCES.
75897         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
75898         Remove explicit dependency on $(SYSEXITS_H).
75899         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
75900
75901 2005-07-18  Simon Josefsson  <jas@extundo.com>
75902
75903         * lib/check-version.c (check_version): Accept identical versions too.
75904
75905 2005-07-18  Bruno Haible  <bruno@clisp.org>
75906
75907         * modules/lock: New file.
75908         * MODULES.html.sh (Multithreading): New section.
75909
75910 2005-07-18  Bruno Haible  <bruno@clisp.org>
75911
75912         * m4/lock.m4: New file, from GNU gettext.
75913
75914 2005-07-18  Bruno Haible  <bruno@clisp.org>
75915
75916         * lib/lock.h: New file, from GNU gettext.
75917         * lib/lock.c: New file, from GNU gettext.
75918
75919 2005-07-18  Bruno Haible  <bruno@clisp.org>
75920
75921         * lib/lock.h (gl_once_t): New type.
75922         (gl_once_define, gl_once): New macros.
75923         * lib/lock.c (fresh_once): New variable.
75924         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
75925         functions.
75926
75927 2005-07-16  Simon Josefsson  <jas@extundo.com>
75928
75929         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
75930         workaround, suggested by Bruno.
75931
75932 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75933
75934         * modules/xalloc (Depends-on): Add xalloc-die.
75935         * modules/xvasprintf (Depends-on): Add xalloc-die.
75936
75937 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
75938
75939         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
75940         with a minor change.
75941
75942 2005-07-15  Bruno Haible  <bruno@clisp.org>
75943
75944         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
75945         When using lib/poll.c, define poll as rpl_poll.
75946
75947 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
75948
75949         * modules/argp (Depends-on): Remove unlocked-io.
75950
75951 2005-07-14  Derek Price  <derek@ximbiot.com>
75952
75953         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
75954         for glob symlink bug.
75955
75956 2005-07-14  Bruno Haible  <bruno@clisp.org>
75957
75958         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
75959         Instead, test for *_unlocked function declarations directly.
75960
75961 2005-07-11  Simon Josefsson  <jas@extundo.com>
75962
75963         * modules/size_max: New file.
75964
75965         * modules/xsize: Depend on size_max module for size_max.m4.
75966
75967 2005-07-11  Simon Josefsson  <jas@extundo.com>
75968
75969         * lib/size_max.h: New file.
75970
75971 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
75972
75973         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
75974         copyright symbol and the year.
75975         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
75976         (version_etc_va): Use parameterized copyright notice.
75977         Reword to conform to the current GNU coding standards.
75978
75979 2005-07-11  Karl Berry  <karl@gnu.org>
75980
75981         * doc/gnulib.texi (Quoting): new node.
75982         (Initial import): more info, from Patrice.
75983
75984 2005-07-11  Bruno Haible  <bruno@clisp.org>
75985
75986         * gnulib-tool (func_usage): Document option --avoid.
75987         (Command line options): Handle --avoid.
75988         (func_acceptable): New function.
75989         (func_modules_transitive_closure): Use it.
75990
75991 2005-07-11  Bruno Haible  <bruno@clisp.org>
75992
75993         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
75994         Reported by Jim Meyering.
75995
75996 2005-07-10  Bruno Haible  <bruno@clisp.org>
75997
75998         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
75999         Needed when size_t is smaller than 'unsigned int'.
76000         Reported by Paul Eggert.
76001
76002 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76003
76004         * modules/argp (Depends-on): Add unlocked-io
76005
76006 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76007
76008         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
76009         block of defines.
76010
76011 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76012
76013         * config/srclist.txt: Comment out regcomp.c, since we have a porting
76014         fix now.
76015
76016 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
76017         and Paul Eggert  <eggert@cs.ucla.edu>
76018
76019         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
76020         in wint_t, not wchar_t.  Remove now-unnecessary cast.
76021
76022 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * modules/regex (Files): Add lib/regex_internal.c,
76025         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
76026         (Depends-on): Add extensions.
76027         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
76028
76029 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76030
76031         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
76032         pathconf.
76033         * m4/same.m4 (gl_SAME): Likewise.
76034         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
76035
76036         * m4/regex.m4: Adjust to new libc regex implementation.
76037         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
76038         all the .c and .h parts of (the new) regex.
76039         Quote the m4 stuff better.
76040         Check for RE_ICASE bug of old gnulib.
76041         Check for REG_STARTEND of recent libc.
76042         Rename local variables from jm_* to gl_*.
76043         Quote operand of "test -f".
76044         Say "recent enough" version of libc, not "version 2".
76045         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
76046         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
76047         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
76048         Remove check for btowc, isascii.
76049         Require AM_LANGINFO_CODESET.
76050
76051 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76052
76053         * lib/regex.c, regex.h: Sync from libc.
76054         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
76055         * lib/regexec.c:
76056         New files, synced from libc, except that regex_internal.h
76057         currently has a small porting fix.
76058
76059 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
76060
76061         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
76062         regex_internal.c, regexec.c.
76063         Add regex_internal.h too, but as a comment, since the libc version
76064         is currently broken in gnulib mode.
76065
76066 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76067
76068         Support programs like Emacs that use gnulib but not gettext.
76069         * MODULES.html.sh (Internationalization functions): Add gettext-h.
76070         * modules/gettext-h: New file.
76071         * modules/gettext (Files): Remove lib/gettext.h.
76072         (Depends-on): Add gettext-h.
76073         (Makefile.am): Remove lib_SOURCES.
76074         * modules/argmatch, modules/c-stack, modules/closeout:
76075         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
76076         * modules/execute, modules/file-type, modules/getaddrinfo:
76077         * modules/getopt, modules/human, modules/javacomp:
76078         * modules/javaexec, modules/mkdir-p, modules/obstack:
76079         * modules/openat, modules/pagealign_alloc, modules/pipe:
76080         * modules/quotearg, modules/regex, modules/rpmatch:
76081         * modules/unicodeio, modules/userspec, modules/version-etc:
76082         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
76083         * modules/xsetenv:
76084         Depend on gettext-h, not gettext.
76085
76086 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76087
76088         * gnulib-tool (func_import): Add support for 'public domain' license.
76089         * modules/alloca, modules/atexit, modules/memmove:
76090         Now public domain, not GPL.
76091         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
76092         * modules/realloc, modules/strerror, modules/strtod:
76093         Now LGPL, not GPL.
76094
76095 2005-07-05  Bruno Haible  <bruno@clisp.org>
76096
76097         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
76098         autoconf CVS. Needed for mingw.
76099
76100 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76101
76102         Remove the dependency of the strftime module on the tzset module.
76103         * modules/strftime (Depends-on): Remove dependency on tzset.
76104
76105 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76106
76107         Remove the dependency of the strftime module on the tzset module.
76108         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
76109         gl_FUNC_TZSET_CLOBBER.
76110
76111 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76112
76113         Remove the dependency of the strftime module on the tzset module.
76114         * lib/strftime.c (my_strftime)
76115         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
76116         Copy the input structure, to work around some of the bug with
76117         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
76118         Solaris releases, you should also use the tzset module, but we won't
76119         require it as a dependency any more since we don't want LGPLed code
76120         to depend on GPLed code.
76121
76122 2005-07-02  Jim Meyering  <jim@meyering.net>
76123
76124         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
76125         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
76126         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
76127         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
76128
76129 2005-07-02  Jim Meyering  <jim@meyering.net>
76130
76131         * lib/backupfile.c (backup_args): Change a `0' to NULL.
76132
76133 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76134
76135         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
76136         declares only 'struct timespec;' (!).
76137
76138 2005-07-01  Jim Meyering  <jim@meyering.net>
76139
76140         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
76141         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
76142         * lib/save-cwd.c, tempname.c:
76143         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76144         and don't include <sys/file.h>).
76145
76146 2005-06-29  Jim Meyering  <jim@meyering.net>
76147
76148         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
76149         type name.  Use the variable name instead.
76150         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
76151         Likewise.
76152
76153 2005-06-28  Simon Josefsson  <jas@extundo.com>
76154
76155         * modules/check-version (Files): Add check-version.m4.
76156
76157 2005-06-28  Simon Josefsson  <jas@extundo.com>
76158
76159         * m4/check-version.m4: New file, suggested by Jim Meyering
76160         <jim@meyering.net>.
76161
76162 2005-06-28  Simon Josefsson  <jas@extundo.com>
76163
76164         * lib/check-version.h, lib/check-version.c: New files.
76165
76166 2005-06-28  Simon Josefsson  <jas@extundo.com>
76167
76168         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
76169         collision with global variable.  Better indentation.  Don't
76170         increment buffer pointer beyond buffer end.  Based on comments
76171         from Paul Eggert <eggert@cs.ucla.edu>.
76172
76173         * lib/base64.h: Indent.
76174
76175 2005-06-28  Simon Josefsson  <jas@extundo.com>
76176
76177         * doc/gnulib.texi (Library version handling): New section.
76178
76179 2005-06-28  Jim Meyering  <jim@meyering.net>
76180
76181         * check-module (find_included_lib_files): Hard-code another
76182         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
76183         but modules/fts-lgpl (correctly) does not list those files.
76184
76185         * modules/canonicalize (Files): Add lib/pathmax.h.
76186
76187 2005-06-25  Simon Josefsson  <jas@extundo.com>
76188
76189         * modules/check-version: New file.
76190
76191 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
76192
76193         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
76194         initializer of struct addrinfo, as an indication that we don't
76195         care how many members the structure has.
76196
76197 2005-06-24  Derek Price  <derek@ximbiot.com>
76198         and Bruno Haible  <bruno@clisp.org>
76199
76200         Remove stat module & update lstat.
76201         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
76202         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76203         * m4/stat.m4: Remove this file.
76204
76205 2005-06-24  Derek Price  <derek@ximbiot.com>
76206         and Bruno Haible  <bruno@clisp.org>
76207
76208         Remove stat module & update lstat.
76209         * lib/stat.c: Remove this file...
76210         (slash_aware_lstat): ...moving this content and its support...
76211         * lib/lstat.c (rpl_lstat): ...into here.
76212         * lib/lstat.h: New file.
76213
76214 2005-06-24  Derek Price  <derek@ximbiot.com>
76215         and Bruno Haible  <bruno@clisp.org>
76216
76217         Remove stat module & update lstat.
76218         * config/srclist.txt (libc sources): Remove stat.
76219
76220 2005-06-24  Derek Price  <derek@ximbiot.com>
76221         and Bruno Haible  <bruno@clisp.org>
76222
76223         Remove stat module & update lstat.
76224         * MODULES.html.sh (stat): Remove.
76225         * MODULES.html: Regenerated.
76226         * modules/lstat (Description): Correct function name.
76227         (Files): Add "lstat.h".
76228         (Depends-on): Remove stat, add xalloc, stat-macros.
76229         * modules/stat: Remove this file.
76230         (Include): Add "lstat.h", remove <sys/stat.h>.
76231
76232 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
76233
76234         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
76235         (ranged_convert): Don't save conversion in a temporary struct.
76236         This causes a warning with GCC 4.0.0, and anyway in the typical
76237         case it's not worth the extra 100 bytes or so of code.
76238         (ranged_convert, __mktime_internal): When calling a function via a
76239         pointer P, use P () rather than (*P) (), as we now assume C89 or
76240         better.
76241
76242 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76243
76244         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
76245         "who -r" failed to give output.  Problem reported by Tim Waugh.
76246
76247         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
76248         (xcalloc): Use it to avoid needless tests.
76249         Problem reported by Jim Meyering.
76250
76251 2005-06-20  Derek Price  <derek@ximbiot.com>
76252
76253         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
76254         unnecessary for Autoconfs > 2.59c.
76255
76256 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76257
76258         * lib/argp.h (__option_is_short): Check upper limit of
76259         __key. Isprint() requires its argument to have the value
76260         of an unsigned char or EOF.
76261
76262 2005-06-16  Jim Meyering  <jim@meyering.net>
76263
76264         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
76265         when either N or S is zero.
76266
76267 2005-06-16  Derek Price  <derek@ximbiot.com>
76268
76269         * m4/bison.m4: Declare YACC & YFLAGS precious.
76270
76271 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
76274         multibyte string or pattern, fall back on unibyte matching.
76275         Problem reported by James Youngman.
76276
76277 2005-06-08  Bruno Haible  <bruno@clisp.org>
76278
76279         * modules/csharpcomp: New file.
76280         * MODULES.html.sh (C#): Add csharpcomp.
76281
76282 2005-06-08  Bruno Haible  <bruno@clisp.org>
76283
76284         * m4/csharpcomp.m4: New file, from GNU gettext.
76285
76286 2005-06-08  Bruno Haible  <bruno@clisp.org>
76287
76288         * lib/csharpcomp.h: New file, from GNU gettext.
76289         * lib/csharpcomp.c: New file, from GNU gettext.
76290         * lib/csharpcomp.sh.in: New file, from GNU gettext.
76291
76292 2005-06-08  Bruno Haible  <bruno@clisp.org>
76293
76294         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
76295         warning on mingw.
76296
76297 2005-06-07  Derek Price  <derek@ximbiot.com>
76298
76299         Sync from CVS.
76300         * lib/glob_.h: Indent nested #ifdef.
76301
76302 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         Sync from coreutils.
76305         Use "file name" when talking about file names, instead of "filename"
76306         or "path", as per the GNU coding standards.
76307         * lib/mkdir-p.c: Renamed from makepath.c.
76308         (make_dir_parents): Renamed from make_path.  All callers changed.
76309         * lib/mkdir-p.h: Likewise.  All includers changed.
76310         * lib/filenamecat.c: Renamed from path-concat.c.
76311         (file_name_concat): Renamed from path_concat.  All callers changed.
76312         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
76313         * lib/filenamecat.h: Likewise.  All includers changed.
76314         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
76315         in comments or local variable names.
76316         * lib/basename.c: Likewise.
76317         * lib/canonicalize.c, canonicalize.h: Likewise.
76318         * lib/dirname.c, dirname.h: Likewise.
76319         * lib/euidaccess.c: Likewise.
76320         * lib/exclude.c: Likewise
76321         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
76322         * lib/fsusage.c, fsuage.h: Likewise.
76323         * lib/fts.c, fts_.h: Likewise.
76324         * lib/getcwd.c: Likewise.
76325         * lib/getloadavg.c: Likewise.
76326         * lib/mkstemp.c: Likewise.
76327         * lib/mountlist.c, mountlist.h: Likewise.
76328         * lib/openat.c, openat.h: Likewise.
76329         * lib/readlink-stub.c: Likewise.
76330         * lib/readutmp.c, readutmp.h: Likewise.
76331         * lib/rename.c: Likewise.
76332         * lib/rmdir.c: Likewise.
76333         * lib/same.c: Likewise.
76334         * lib/savedir.c: Likewise.
76335         * lib/stripslash.c: Likewise.
76336         * lib/tempname.c: Likewise.
76337         * lib/xreadlink.c: Likewise.
76338         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
76339         All uses changed.
76340         * lib/exclude.h: Likewise.
76341
76342         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
76343         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76344         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
76345         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76346         * lib/pathmax.h: Include <limits.h> unconditionally, since other
76347         files have been getting away with it for years (MORE/BSD 4.3
76348         is extinct now).
76349         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
76350         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
76351
76352         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
76353         Define to 256, not 255, as per modern POSIX.
76354
76355 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76356
76357         Sync from coreutils.
76358         Use "file name" when talking about file names, instead of "filename"
76359         or "path", as per the GNU coding standards.
76360         * MODULES.html.sh: mkdir-p renamed from makepath.
76361         filenamecat renamed from path-concat.
76362         * modules/filenamecat: Renamed from modules/path-concat.
76363         (Files): filenamecat.h and filenamecat.c renamed from
76364         path-concat.h and path-concat.c.
76365         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
76366         (Include): filenamecat.h, not path-concat.h.
76367         * modules/mkdir-p: Renamed from modules/makepath.
76368         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
76369         makepath.c.
76370         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
76371         (Include): mkdir-p.h, not makepath.h.
76372
76373 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
76374
76375         Sync from coreutils.
76376         * m4/mkdir-p.m4: Renamed from makepath.m4.
76377         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
76378         Rename files from makepath.c to mkdir-p.c, and from
76379         makepath.h to mkdir-p.h.
76380         * m4/filenamecat.m4: Renamed from path-concat.m4.
76381         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
76382         Rename files from path-concat.c to filenamecat.c,
76383         and from path-concat.h to filenamecat.h.
76384         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
76385         "file name" in local variables or comments.
76386         * m4/rename.m4: Likewise.
76387
76388 2005-06-01  Bruno Haible  <bruno@clisp.org>
76389
76390         * modules/csharpexec: New file.
76391         * MODULES.html.sh (C#): New section.
76392
76393 2005-06-01  Bruno Haible  <bruno@clisp.org>
76394
76395         * m4/csharp.m4: New file, from GNU gettext.
76396         * m4/csharpexec.m4: New file, from GNU gettext.
76397
76398 2005-06-01  Bruno Haible  <bruno@clisp.org>
76399
76400         * lib/csharpexec.h: New file, from GNU gettext.
76401         * lib/csharpexec.c: New file, from GNU gettext.
76402         * lib/csharpexec.sh.in: New file, from GNU gettext.
76403
76404 2005-05-31  Derek Price  <derek@ximbiot.com>
76405             Paul Eggert  <eggert@cs.ucla.edu>
76406
76407         Sync from cvs.
76408         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76409
76410 2005-05-31  Derek Price  <derek@ximbiot.com>
76411             Paul Eggert  <eggert@cs.ucla.edu>
76412
76413         Sync from cvs.
76414         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
76415
76416 2005-05-29  Derek Price  <derek@ximbiot.com>
76417
76418         * config/srclist.txt (glob_.h, glob.c): Add these files.
76419
76420 2005-05-29  Derek Price  <derek@ximbiot.com>
76421
76422         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
76423         * modules/glob: New file.
76424         * modules/getlogin_r: Add link to POSIX spec in description.
76425
76426 2005-05-29  Derek Price  <derek@ximbiot.com>
76427             Paul Eggert  <eggert@cs.ucla.edu>
76428
76429         * m4/glob.m4: New file.
76430
76431 2005-05-29  Derek Price  <derek@ximbiot.com>
76432             Paul Eggert  <eggert@cs.ucla.edu>
76433
76434         * lib/glob_.h, lib/glob.c: New files.
76435
76436 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76437
76438         * modules/fts (Files): Remove m4/inttypes-pri.m4.
76439         * modules/fts-lgpl (Depends-on): Remove gettext.
76440
76441 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76442
76443         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
76444         and don't require gt_INTTYPES_PRI.
76445
76446 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
76449
76450         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
76451         the configuration hassle isn't worth it.
76452         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
76453         (LONGEST_MODIFIER, PRIuMAX): Remove.
76454
76455 2005-05-27  Bruno Haible  <bruno@clisp.org>
76456
76457         * lib/getlogin_r.h: Remove second include of <stddef.h>.
76458
76459 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
76460
76461         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
76462         _POSIX_PTHREAD_SEMANTICS for Solaris.
76463
76464 2005-05-25  Derek Price  <derek@ximbiot.com>
76465
76466         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
76467
76468 2005-05-25  Derek Price  <derek@ximbiot.com>
76469             Paul Eggert  <eggert@cs.ucla.edu>
76470
76471         * modules/getlogin_r, m4/getlogin_r.m4: New files.
76472         * lib/getlogin_r.c, getlogin_r.h: New files.
76473
76474 2005-05-25  Bruno Haible  <bruno@clisp.org>
76475             Derek Price  <derek@ximbiot.com>
76476
76477         * lib/getlogin_r.h: Simplify API documentation.
76478
76479 2005-05-23  Derek Price  <derek@ximbiot.com>
76480
76481         * modules/minmax (Files): Add m4/minmax.m4.
76482         (configure.ac): Add gl_MINMAX.
76483
76484 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76485
76486         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
76487         so that unistd-safer.h (GPL'ed code) need not be included.
76488
76489 2005-05-22  Bruno Haible  <bruno@clisp.org>
76490
76491         * m4/minmax.m4: New file.
76492         Based on a patch by Derek Price <derek@ximbiot.com>.
76493
76494 2005-05-22  Bruno Haible  <bruno@clisp.org>
76495
76496         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
76497         (INT64_MIN): Fix definition.
76498         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
76499
76500         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
76501         NEED_SIGNED_INT_TYPES.
76502
76503         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
76504         HAVE_SYSTEM_INTTYPES.
76505
76506 2005-05-22  Bruno Haible  <bruno@clisp.org>
76507
76508         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
76509         Also include <sys/param.h> if it defines MIN, MAX.
76510         Based on a patch by Derek Price <derek@ximbiot.com>.
76511
76512 2005-05-21  Jim Meyering  <jim@meyering.net>
76513
76514         * modules/fts (Files): Add m4/inttypes-pri.m4.
76515         (Depends-on): Add lstat and remove gettext.  Alphabetize.
76516
76517 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76518
76519         New fts module.
76520         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
76521         (setup_dir, free_dir): New functions.
76522         (enter_dir, leave_dir): Define trivial
76523         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
76524         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
76525         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
76526         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
76527         Move to fts-cycle.c.
76528         (fts_open): Use setup_dir.
76529         (fts_close): Use free_dir.
76530         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
76531         This adds a label and some gotos, but the alternatives were messier.
76532         Check for memory allocation failure when entering a dir.
76533         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
76534         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
76535         (FTS): New member fts_cycle, that is a union that contains the
76536         old active_dir_ht and cycle_state.  All uses changed to mention
76537         fts_cycle.ht and fts_cycle.state.
76538         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
76539         fts.c, with the following changes:
76540         (setup_dir, free_dir): New functions.
76541         (enter_dir): Now returns bool.  Return true if successful, false
76542         if memory exhausted.  All callers changed.
76543         Do not bother partly cleaning up on
76544         memory allocation failure; that is free_dir's job.
76545         However, free ad if hash_insert fails, to avoid memory leak.
76546         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
76547         fts->fts_options to see which union member to use.
76548
76549 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76550
76551         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
76552         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
76553
76554 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76555
76556         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
76557
76558 2005-05-20  Jim Meyering  <jim@meyering.net>
76559
76560         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
76561         Now a macro, to pacify GCC.
76562
76563 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76564
76565         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
76566         of -1.
76567
76568 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
76569
76570         * lib/chown.c (rpl_chown): Return -1 on failure.
76571
76572 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76573
76574         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
76575         Don't check for stddef.h.
76576         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
76577         don't use its results.
76578         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
76579         since we include them unconditionally.  Don't require
76580         AM_STDBOOL_H, since stdbool is a prerequisite.
76581         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
76582         since we assume C89 or better.
76583         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
76584         as we don't use their results.
76585         Don't check for fchdir, memmove, memset, strrchr, as we use
76586         them unconditionally.
76587         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
76588         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
76589
76590 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
76591
76592         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
76593         Include <stddef.h> unconditionally, since we assume C89 now.
76594         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
76595         * lib/fts.c: Include fts_.h first, to check interface.
76596         Do not include intprops.h; no longer needed.
76597         Include cycle-check.h and hash.h, since fts_.h no longer does.
76598         Remove unnecessary casts of closedir to void.
76599         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
76600         decide whether to decrement nlinks.
76601         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
76602         (FTS): Use struct hash_table * instead of Hash_table, so that
76603         we no longer need to include hash.h here.
76604
76605 2005-05-18  Jim Meyering  <jim@meyering.net>
76606
76607         * modules/dirfd (License): Change to LGPL.  Most of the code
76608         is already in the public domain.
76609
76610 2005-05-18  Jim Meyering  <jim@meyering.net>
76611
76612         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
76613         Reported by Yoann Vandoorselaere.
76614
76615 2005-05-17  Jim Meyering  <jim@meyering.net>
76616
76617         * m4/fts.m4: New file, from coreutils.
76618
76619 2005-05-17  Jim Meyering  <jim@meyering.net>
76620
76621         * lib/fts.c, lib/fts_.h: New files, from coreutils.
76622
76623 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76624
76625         Sync from coreutils.
76626         * m4/unlinkdir.m4: New file.
76627
76628 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76629
76630         Sync from coreutils.
76631         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
76632         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
76633         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
76634         White space changes only.
76635         * lib/makepath.c (make_path): Port to hosts where leading "//" is
76636         special.
76637         * lib/yesno.c: Include getline.h, not ctype.h.
76638         (yesno): Don't remove leading white space; POSIX doesn't allow it.
76639         Use getline to remove arbitrary restriction on response length.
76640
76641 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76642
76643         * config/srclist-update: Spell out "Street" in FSF postal
76644         mail address; this is the style the FSF seems to prefer.
76645
76646         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
76647         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
76648         this updates FSF postal mail address.
76649
76650         Sync from coreutils.
76651         * modules/unlinkdir: New file.
76652         * modules/yesno (Depends-on): Add getline.
76653         * MODULES.html.sh (File system functions): Add unlinkdir.
76654
76655 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76656
76657         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
76658         lib/strsep.h:
76659         Change the initial comment to refer to GPL, not LGPL.
76660         gnulib-tool will change it to LGPL as needed.
76661
76662         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
76663         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
76664         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
76665         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
76666         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
76667         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
76668         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
76669         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
76670         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
76671         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
76672         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
76673         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
76674         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
76675         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
76676         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
76677         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
76678         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
76679         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
76680         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
76681         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
76682         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
76683         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
76684         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
76685         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
76686         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
76687         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
76688         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
76689         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
76690         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
76691         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
76692         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
76693         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
76694         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
76695         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
76696         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
76697         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
76698         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
76699         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
76700         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
76701         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
76702         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
76703         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
76704         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
76705         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
76706         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
76707         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
76708         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
76709         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
76710         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
76711         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
76712         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76713         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
76714         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
76715         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
76716         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
76717         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
76718         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
76719         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
76720         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
76721         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
76722         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
76723         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
76724         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
76725         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
76726         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
76727         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
76728         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
76729         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
76730         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
76731         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
76732         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
76733         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
76734         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
76735         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
76736         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
76737         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
76738         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
76739         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
76740         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
76741         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
76742         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
76743         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
76744         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
76745         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
76746         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
76747         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
76748         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
76749         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
76750         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
76751         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
76752         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
76753         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
76754         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
76755         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
76756         lib/yesno.c, lib/yesno.h:
76757         Update FSF postal mail address.
76758
76759 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
76762         tests/test-memmem.c, tests/test-stpncpy.c:
76763         Update FSF postal mail address.
76764
76765 2005-05-13  Bruno Haible  <bruno@clisp.org>
76766
76767         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
76768         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
76769         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
76770         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
76771         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
76772         Add support for 64-bit integers in the MSVC compiler.
76773
76774 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76775
76776         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
76777
76778 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
76779
76780         * gnulib-tool (func_import): Sort and uniquify recommended includes.
76781
76782 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
76783
76784         * doc/getdate.texi (General date syntax): Don't say that date
76785         date --iso-8601=ns generates acceptable dates; it doesn't yet.
76786         Problem reported by Nic Ferrier.
76787
76788 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76789
76790         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
76791         specified in ai_socktype. Fix invalid ai_protocol
76792         check. ai_protocol is usually set to 0 or depending on
76793         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
76794         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
76795         ai_socktype / ai_protocol in the returned addrinfo structure.
76796
76797 2005-05-10  Simon Josefsson  <jas@extundo.com>
76798
76799         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
76800         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76801
76802 2005-05-10  Karl Berry  <karl@gnu.org>
76803
76804         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
76805         (from http://www.gnu.org/licenses).
76806         * doc/COPYING.LIB: also rename to COPYING.LESSER.
76807         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
76808         fdl.texi suffices.
76809
76810 2005-05-10  Karl Berry  <karl@gnu.org>
76811
76812         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
76813         (COPYING.DOC): remove.
76814
76815         * config/srclist-update: new FSF address.
76816
76817 2005-05-10  Derek Price  <derek@ximbiot.com>
76818
76819         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
76820         possible.
76821
76822 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76823             Bruno Haible  <bruno@clisp.org>
76824
76825         * modules/inet_ntop: New file.
76826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76827         inet_ntop.
76828
76829 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76830             Bruno Haible  <bruno@clisp.org>
76831
76832         * m4/inet_ntop.m4: New file.
76833
76834 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76835             Bruno Haible  <bruno@clisp.org>
76836
76837         * lib/inet_ntop.h: New file.
76838         * lib/inet_ntop.c: New file, from glibc with modifications.
76839
76840 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
76841
76842         * modules/time_r (License): Change to LGPL.
76843         * modules/extensions (License): Change to LGPL.  Actually,
76844         the license is more permissive than that, but currently gnulib-tool
76845         doesn't know how to handle more-permissive licenses.
76846
76847         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
76848         Problem reported by Dave Love.
76849
76850 2005-05-08  Jim Meyering  <jim@meyering.net>
76851
76852         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
76853         blank.
76854
76855 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76856
76857         * modules/argmatch (Depends-on): Add stdbool.
76858         * modules/backupfile (Depends-on): Likewise.
76859         * modules/chdir-long (Depends-on): Likewise.
76860         * modules/closeout (Depends-on): Likewise.
76861         * modules/cycle-check (Depends-on): Likewise.
76862         * modules/dirname (Depends-on): Likewise.
76863         * modules/fnmatch (Depends-on): Likewise.
76864         * modules/fsusage (Depends-on): Likewise.
76865         * modules/fwriteerror (Depends-on): Likewise.
76866         * modules/getcwd (Depends-on): Likewise.
76867         * modules/getloadavg (Depends-on): Likewise.
76868         * modules/hard-locale (Depends-on): Likewise.
76869         * modules/makepath (Depends-on): Likewise.
76870         * modules/mountlist (Depends-on): Likewise.
76871         * modules/nanosleep (Depends-on): Likewise.
76872         * modules/posixtm (Depends-on): Likewise.
76873         * modules/quotearg (Depends-on): Likewise.
76874         * modules/readtokens (Depends-on): Likewise.
76875         * modules/readtokens0 (Depends-on): Likewise.
76876         * modules/readutmp (Depends-on): Likewise.
76877         * modules/save-cwd (Depends-on): Likewise.
76878         * modules/strftime (Depends-on): Likewise.
76879         * modules/userspec (Depends-on): Likewise.
76880         * modules/utimecmp (Depends-on): Likewise.
76881         * modules/xgetcwd (Depends-on): Likewise.
76882         * modules/xnanosleep (Depends-on): Likewise.
76883         * modules/xstrtod (Depends-on): Likewise.
76884         * modules/yesno (Depends-on): Likewise.
76885
76886 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
76887
76888         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
76889         needless checks.
76890
76891 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         Merge from coreutils.  Among other things,
76894         add bulletproofing for cases where stdin, stdout, or stderr are closed.
76895         * lib/fd-safer.c: New file.
76896         * lib/fcntl-safer.h, open-safer.c: Remove.
76897         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
76898         * lib/dup-safer.c: Include unistd-safer.h first.
76899         Don't include errno.h.
76900         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
76901         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
76902         * lib/file-type.c: Rely on file-type.h change.
76903         * lib/getloadavg.c: Include unistd-safer.h.
76904         (getloadavg): Use safer open.
76905         * lib/getusershell.c: Include "stdio-safer.h".
76906         (getusershell): Use safer fopen.
76907         * lib/long-options.c (long_options): Use NULL rather than 0.
76908         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
76909         'free'.
76910         * lib/modechange.c: Likewise.
76911         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
76912         (MODE_DONE): New constant.
76913         (struct mode_change): Remove 'next' member.
76914         (make_node_op_equals): New function; like the old one of the
76915         same name, except it allocates an array.
76916         (mode_compile, mode_create_from_ref): Use it.
76917         (mode_compile): Allocate result as an array, not a linked list.
76918         Parse octal string ourself, so that we catch mistakes like "+0".
76919         (mode_adjust): Arg is an array, not a linked list.
76920         * lib/modechange.c: Include stat-macros.h, xalloc.h.
76921         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
76922         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
76923         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
76924         Remove.  This is now stat-macros.h's job.
76925         (talloc): Remove.  All callers replaced by xalloc, so that
76926         our invokers don't have to worry about reporting memory failures.
76927         (make_node_op_equals): Remove.
76928         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76929         New constants.
76930         (struct mode_change): Moved here from modechange.h.
76931         (mode_append_entry): Remove.
76932         (mode_compile): Remove MASKED_OPS arg, since it encouraged
76933         apps to have incorrect behavior.  Use simpler algorithm for head
76934         and tail.  Don't futz with umask; that's now the job of mode_adjust.
76935         Detect more invalid usages rather than having somewhat-random behavior.
76936         Don't insert an "a=" action, as that leads to incorrect behavior.
76937         (mode_compile, mode_create_from_ref): Return NULL on error instead
76938         of an enum, since now there's only one way to have an error.  All
76939         callers changed.
76940         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
76941         at the correct time.  Simplify calculation of "+u" and its ilk.
76942         Don't mishandle "+X".
76943         (mode_free): Remove "register" and localize decls.
76944         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
76945         (struct mode_change): Move to modechange.c; callers don't
76946         need to see this stuff.
76947         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
76948         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
76949         (mode_change, mode_adjust): Reflect the new signatures noted above.
76950         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
76951         that might redefine system include files.
76952         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
76953         (my_usleep): Use NULL rather than (void *) 0.
76954         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
76955         Use siginterrupt to specify that system calls should be interrupted.
76956         (rpl_nanosleep): Move initialization of suspended closer to call of
76957         my_usleep.
76958         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
76959         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
76960         (desirable_utmp_entry): New function.
76961         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
76962         using x2nrealloc, to simplify logic.
76963         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
76964         size calculation.  Do not assume utmp file is a regular file.
76965         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
76966         (READ_UTMP_CHECK_PIDS): New constant.
76967         * lib/save-cwd.c: Include unistd-safer.h.
76968         (save_cwd): Use fd_safer.
76969         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
76970         [!_LIBC] Include "stat-macros.h" instead.
76971         * lib/unistd-safer.h (fd_safer): New decl.
76972
76973 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76974
76975         * modules/getloadavg (Depends-on): Add unistd-safer.
76976         * modules/getusershell (Depends-on): Add stdio-safer.
76977         * modules/lstat (Depends-on): Remove xalloc.
76978         * modules/mkstemp (Depends-on): Add stat-macros.
76979         * modules/modechange (Depends-on): Remove xstrtol.
76980         Add stat-macros, xalloc.
76981         * modules/save-cwd (Depends-on): Add unistd-safer.
76982         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
76983         * modules/unistd-safer (Files): Add lib/fd-safer.c
76984         (Makefile.am): Remove lib_SOURCES.
76985
76986         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
76987         Remove fcntl-safer; unistd-safer supersedes it.
76988
76989 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
76990
76991         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
76992         AC_HEADER_STAT.
76993         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
76994         (gl_PREREQ_CHOWN): Remove.
76995         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
76996         it.  Don't require AC_HEADER_STAT.
76997         (gl_PREREQ_LSTAT): Remove.
76998         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
76999         Don't require AC_HEADER_STAT.
77000         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
77001         (gl_PREREQ_RMDIR): Remove.
77002         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
77003         mention stat-macros.h or AC_HEADER_STAT, since we'll make
77004         the stat-macros module a prerequisite.
77005         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
77006         * m4/filemode.m4 (gl_FILEMODE): Likewise.
77007         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
77008         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
77009         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
77010         variable names.
77011         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
77012         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
77013         variable prefixes.
77014         * m4/fcntl-safer.m4: Remove.
77015         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
77016         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
77017         Invoke gl_PREREQ_FD_SAFER.
77018         (gl_PREREQ_FD_SAFER): New macro.
77019         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
77020         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
77021         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
77022         Remove duplicate call to AC_LIBOBJ(readutmp).
77023         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
77024
77025         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
77026         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
77027
77028 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
77029
77030         * MODULES.html.sh (Misc): Add byteswap.
77031
77032 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77033
77034         * modules/getcwd (Depends-on): Add extensions.
77035         * modules/openat (Depends-on): Likewise.
77036
77037 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77038
77039         * modules/byteswap: New file.
77040
77041 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77042
77043         * m4/byteswap.m4: New file.
77044
77045 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
77046
77047         * lib/byteswap_.h: New file.
77048
77049 2005-04-25  Karl Berry  <karl@gnu.org>
77050
77051         * m4/gettext.m4: Update from GNU gettext 0.14.4.
77052
77053 2005-04-25  Albert Chin  <china@thewrittenword.com>
77054
77055         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
77056         Toolkit C bug.
77057
77058 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
77059
77060         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
77061         (func_ln_if_changed): Remove forcibly for no error message
77062         in case file does not exist.
77063
77064 2005-04-19  Simon Josefsson  <jas@extundo.com>
77065
77066         * gnulib-tool (Options): Make --symlink mean --symbolic.
77067
77068 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
77069
77070         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
77071
77072 2005-04-16  Simon Josefsson  <jas@extundo.com>
77073
77074         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
77075
77076 2005-04-15  Simon Josefsson  <jas@extundo.com>
77077
77078         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
77079
77080 2005-04-15  Simon Josefsson  <jas@extundo.com>
77081
77082         * gnulib-tool: Rename --symlink to --symbolic.
77083
77084 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
77085
77086         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
77087         symbolic links to files instead of copying/moving.  Add --aux-dir,
77088         specifying directory relative --dir where auxiliary build tools
77089         are placed.
77090
77091 2005-04-14  Bruno Haible  <bruno@clisp.org>
77092
77093         * modules/allocsa (License): Change to LGPL.
77094         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77095
77096 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77097
77098         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
77099         that "UTC +1 second" continues to work.  Problem reported
77100         by Dmitry V. Levin.
77101         (relunit_snumber): New rule.
77102         (relunit): Use it.
77103
77104 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77105
77106         * lib/getdate.y (universal_time_zone_table): New constant.
77107         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
77108         universal_time_zone_table.
77109         (lookup_zone): Prefer universal_time_zone_table to
77110         local_time_zone_table, so that "GMT" time stamps are allowed in
77111         London during the summer.  Problem reported by Ian Abbott.
77112
77113 2005-04-12  Jim Meyering  <jim@meyering.net>
77114
77115         * lib/human.c (humblock): Set *options even when returning due to
77116         xstrtoumax conversion failure.  Thanks to a used-uninitialized
77117         warning from gcc-4.
77118
77119 2005-04-09  Jim Meyering  <jim@meyering.net>
77120
77121         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
77122         -Wuninitialized: initialize tm0.tm_year.
77123
77124 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
77125
77126         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
77127         count, since there's no maximum.  All uses changed.
77128         Add member dsts_seen.
77129         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
77130         not being INT_MAX.
77131         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
77132         Use pc_rels_seen to decide whther a date is absolute.
77133
77134         * lib/getdate.y (number): Don't overwrite year.
77135         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
77136         check.
77137
77138 2005-04-02  Simon Josefsson  <jas@extundo.com>
77139
77140         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
77141         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
77142
77143 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
77144
77145         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
77146         where no absolute path name can be longer than PATH_MAX.
77147
77148 2005-03-27  Jim Meyering  <jim@meyering.net>
77149
77150         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
77151
77152 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
77153
77154         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
77155         "one's complement" -> "ones' complement" in comment, as per Knuth.
77156         "value of type" -> "type or expression" in comment.
77157         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
77158
77159 2005-03-26  Jim Meyering  <jim@meyering.net>
77160
77161         Comment nits.
77162         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
77163         Correct typos: s/or/of/.
77164
77165 2005-03-26  Jim Meyering  <jim@meyering.net>
77166
77167         * modules/check-include-files: Move to ../ and rename to...
77168         * check-module: ...this.
77169
77170 2005-03-25  Jim Meyering  <jim@meyering.net>
77171
77172         * modules/xvasprintf (Files): Add xalloc.h.
77173
77174 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
77175
77176         * modules/gettext (Files): config/config.rpath ->
77177         build-aux/config.rpath
77178         * modules/iconv (Files): Likewise.
77179         Problem reported by Oskar Liljeblad.
77180
77181 2005-03-23  Jim Meyering  <jim@meyering.net>
77182
77183         * modules/check-include-files: New script to check for
77184         missing dependencies, multiple includes, etc.
77185
77186         * modules/c-strtold (Depends-on): Add xalloc.
77187         * modules/c-strtod (Depends-on): Add xalloc.
77188         * modules/hash (Depends-on): Add xalloc.
77189         (Files): Remove lib/xalloc.h.
77190
77191         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
77192         * modules/userspec (Files): Add lib/inttostr.h.
77193
77194 2005-03-23  Jim Meyering  <jim@meyering.net>
77195
77196         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
77197
77198 2005-03-22  Jim Meyering  <jim@meyering.net>
77199
77200         * modules/stat-macros: New module.
77201         * modules/canonicalize, modules/euidaccess, modules/file-type,
77202         * modules/filemode, modules/lchown, modules/makepath,
77203         * modules/rmdir, modules/stat: Depend on new stat-macros module
77204         rather than listing lib/stat-macros.h manually.
77205         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
77206
77207 2005-03-22  Jim Meyering  <jim@meyering.net>
77208
77209         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
77210
77211 2005-03-22  Bruno Haible  <bruno@clisp.org>
77212
77213         * config/srclist.txt: Replace target directory 'config' with
77214         'build-aux'.
77215         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
77216         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
77217         ../build-aux/.
77218
77219 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
77220
77221         * modules/chdir-long (Depends-on): Add mempcpy.
77222
77223         * modules/acl, modules/backupfile, modules/c-strtod,
77224         modules/c-strtold, modules/canon-host, modules/canonicalize,
77225         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
77226         modules/exclude, modules/exitfail, modules/file-type,
77227         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
77228         modules/getdate, modules/getline, modules/getpagesize,
77229         modules/getpass, modules/getugroups, modules/group-member,
77230         modules/hard-locale, modules/hash, modules/human, modules/idcache,
77231         modules/inttostr, modules/long-options, modules/makepath,
77232         modules/md5, modules/memcasecmp, modules/memcoll,
77233         modules/modechange, modules/mountlist, modules/path-concat,
77234         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
77235         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
77236         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
77237         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
77238         modules/strftime, modules/strndup, modules/strverscmp,
77239         modules/timespec, modules/unlocked-io, modules/userspec,
77240         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
77241         modules/yesno:
77242         Remove lib_SOURCES line from Makefile.am section, as this is now
77243         done automatically by the corresponding Autoconf macro.
77244
77245 2005-03-21  Jim Meyering  <jim@meyering.net>
77246
77247         Changes imported from coreutils.
77248
77249         * lib/cycle-check.c: Don't include xalloc.h.
77250
77251         * lib/path-concat.c: Don't include assert.h.
77252         (path_concat): Remove assertion that would have triggered
77253         for ABASE starting with more than one slash.
77254         Reported by Andreas Schwab.
77255
77256         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
77257         properly when ABASE is an absolute file name.
77258         Correct the description of this function.
77259         Include <assert.h>.
77260         Add an assertion and a test driver.
77261         This fixes a bug introduced on 2004-07-02.
77262         Andreas Schwab reported the resulting failure of cp --parents:
77263         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
77264
77265 2005-03-21  Jim Meyering  <jim@meyering.net>
77266
77267         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
77268         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
77269
77270 2005-03-21  Jim Meyering  <jim@meyering.net>
77271         and  Paul Eggert  <eggert@cs.ucla.edu>
77272
77273         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
77274         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
77275         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
77276         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
77277         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
77278         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
77279         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
77280         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
77281         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
77282         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
77283         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
77284         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
77285         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
77286         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
77287         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
77288         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
77289         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
77290         for these modules.
77291
77292 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
77293
77294         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
77295         (which shouldn't happen), generate nothing instead of returning 0
77296         immediately, so that nstrftime (NULL, ...) doesn't return 0.
77297
77298 2005-03-16  Bruno Haible  <bruno@clisp.org>
77299
77300         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
77301         HAVE_LONGLONG_64BIT.
77302
77303 2005-03-16  Bruno Haible  <bruno@clisp.org>
77304
77305         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
77306         HAVE_LONGLONG_64BIT.
77307
77308 2005-03-16  Bruno Haible  <bruno@clisp.org>
77309
77310         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
77311         HAVE_LONGLONG_64BIT.
77312
77313 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77314
77315         * lib/strftime.c (my_strftime): Prepend space to format so that we can
77316         reliably distinguish strftime failure from empty output on POSIX
77317         hosts.
77318
77319 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
77320
77321         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
77322         (iconv_string): Don't guess a size-zero buffer, as that might cause
77323         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
77324         result would be 'too large', where 'too large' is (heuristically)
77325         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
77326         overflow concerns.  This will prevent some unwanted malloc failures
77327         when the inputs are very large.
77328
77329 2005-03-15  Karl Berry  <karl@gnu.org>
77330
77331         * config/srclist.txt (config.rpath): from gettext.
77332         * config/config.rpath: update.
77333
77334 2005-03-15  Bruno Haible  <bruno@clisp.org>
77335
77336         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
77337         to 'negate'.
77338
77339         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
77340         variable.
77341
77342         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
77343         results.
77344
77345 2005-03-14  Simon Josefsson  <jas@extundo.com>
77346
77347         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
77348         <fx@gnu.org>.
77349
77350 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
77351
77352         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
77353         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
77354         intprops.h.
77355         * lib/strtol.c: Likewise.
77356
77357 2005-03-14  Jim Meyering  <jim@meyering.net>
77358
77359         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
77360         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
77361         to be nonzero so that we (and caller) can detect the difference
77362         between a valid zero-length expansion and an error return, even
77363         when the underlying strftime fails before writing anything into
77364         that location.
77365
77366 2005-03-14  Bruno Haible  <bruno@clisp.org>
77367
77368         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
77369         Update from GNU gettext 0.14.3.
77370
77371 2005-03-10  Jim Meyering  <jim@meyering.net>
77372
77373         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
77374
77375 2005-03-10  Jim Meyering  <jim@meyering.net>
77376
77377         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
77378         so that this module works on systems without fchdir.
77379
77380 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
77381
77382         Factor int-properties macros into a single file, except for
77383         glibc-related files.
77384         * lib/intprops.h: New file.
77385         * lib/getloadavg.c: Include it instead of limits.h.
77386         (INT_STRLEN_BOUND): Remove.
77387         * lib/human.c: Include intprops.h.
77388         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
77389         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
77390         302/1000.
77391         * lib/inttostr.h: Include intprops.h instead of limits.h.
77392         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
77393         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
77394         for consistency with intprops.h.
77395         (time_t_is_integer, twos_complement_arithmetic): Use them.
77396         * lib/sig2str.h: Include <signal.h>, intprops.h.
77397         (INT_STRLEN_BOUND): Remove.
77398         * lib/strftime.c (TYPE_SIGNED): Remove.
77399         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
77400         * lib/strtol.c: Adjust comments to match intprops.h.
77401         * lib/userspec.c: Include intprops.h.
77402         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
77403         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
77404         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
77405         instead of rolling our own expressions.
77406         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
77407
77408         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
77409         instead of int.
77410         (my_strftime): Do not mishandle years close to INT_MAX, by doing
77411         the right thing even if adding 1900 would overflow.  Similarly
77412         for tm_mon + 1 and tm_yday + 1.
77413         Make %Y always equivalent to %C%y, and similarly for %G and %g.
77414         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
77415         (DO_SIGNED_NUMBER): New macro.
77416         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
77417
77418 2005-03-07  Bruno Haible  <bruno@clisp.org>
77419
77420         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
77421
77422 2005-03-07  Bruno Haible  <bruno@clisp.org>
77423
77424         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
77425
77426 2005-03-04  Derek R. Price  <derek@ximbiot.com>
77427
77428         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
77429         (func_import): Only replace files via --import when they have actually
77430         changed.
77431
77432 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77433
77434         * m4/mmap-anon.m4: New file.
77435         * m4/pagealign_alloc.m4: New file.
77436
77437 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77438             Bruno Haible  <bruno@clisp.org>
77439
77440         * modules/pagealign_alloc: New file.
77441         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
77442
77443 2005-03-03  Derek R. Price  <derek@ximbiot.com>
77444             Bruno Haible  <bruno@clisp.org>
77445
77446         * lib/pagealign_alloc.h: New file.
77447         * lib/pagealign_alloc.c: New file.
77448
77449 2005-03-03  Bruno Haible  <bruno@clisp.org>
77450
77451         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
77452         Use an all-permissive copyright notice, recommended by RMS.
77453
77454 2005-03-02  Bruno Haible  <bruno@clisp.org>
77455
77456         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
77457         of AIX, the replacement has to be done only after <string.h> is
77458         included, therefore not in config.h. stpncpy.h does the replacement,
77459         and stpncpy.c uses it.
77460
77461 2005-03-02  Bruno Haible  <bruno@clisp.org>
77462
77463         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
77464         stpncpy.c uses it.
77465
77466 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77467
77468         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
77469         The workaround isn't strictly needed for POSIX conformance, and
77470         it's too much of a pain to configure and maintain.  We'll ask
77471         people to fix their kernels instead.
77472         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
77473         (NANOSLEEP_BUG_WORKAROUND): Remove.
77474         (xnanosleep): Remove the workaround.
77475
77476 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77477
77478         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
77479         Reported by Derek Price.
77480         (Include): Add "timespec.h".
77481
77482         * modules/xnanosleep (Depends-on): Remove gethrxtime.
77483
77484 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77485
77486         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
77487         to detect nanosleep bug.
77488
77489 2005-03-01  Bruno Haible  <bruno@clisp.org>
77490
77491         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
77492
77493 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77494
77495         * modules/gethrxtime: New file.
77496         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
77497         (Depends-on): Add gethrxtime.
77498         (configure.ac): Add gl_XNANOSLEEP.
77499         (Makefile.am): Remove lib_SOURCES line.
77500
77501 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77502
77503         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
77504         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
77505
77506 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
77507
77508         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
77509         * lib/timespec.h (gettime): Return void, since it always
77510         succeeds now.  All uses changed.
77511         * lib/gettime.c (gettime): Likewise.
77512         [HAVE_NANOTIME]: Prefer nanotime.
77513         Assume gettimeofday succeeds, as POSIX requires.
77514         Assime time () succeeds, since other code already does.
77515         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
77516         (timespec_subtract): Remove.
77517         (NANOSLEEP_BUG_WORKAROUND): New constant.
77518         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
77519         things considerably.  Use it only on GNU/Linux hosts, since the
77520         workaround shouldn't be needed elsewhere.
77521
77522 2005-02-24  Bruno Haible  <bruno@clisp.org>
77523
77524         * modules/gettext (Files): Add m4/glibc2.m4.
77525
77526 2005-02-24  Bruno Haible  <bruno@clisp.org>
77527
77528         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
77529         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
77530         * m4/progtest.m4:
77531         Update from GNU gettext 0.14.2.
77532         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
77533
77534 2005-02-24  Bruno Haible  <bruno@clisp.org>
77535
77536         * lib/localcharset.c: Update from GNU gettext 0.14.2.
77537         * lib/config.charset: Update from GNU gettext 0.14.2.
77538
77539 2005-02-24  Bruno Haible  <bruno@clisp.org>
77540
77541         * lib/gettext.h: Update from GNU gettext 0.14.2.
77542
77543 2005-02-23  Simon Josefsson  <jas@extundo.com>
77544
77545         * m4/iconvme.m4: New file.
77546
77547 2005-02-23  Jim Meyering  <jim@meyering.net>
77548
77549         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
77550         change.
77551         Thanks to Bruno Haible for catching it.
77552
77553 2005-02-22  Simon Josefsson  <jas@extundo.com>
77554
77555         * modules/iconvme: New file.
77556
77557         * MODULES.html.sh: Add iconvme.
77558
77559 2005-02-22  Simon Josefsson  <jas@extundo.com>
77560
77561         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
77562
77563 2005-02-22  Simon Josefsson  <jas@extundo.com>
77564
77565         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
77566
77567 2005-02-22  Jim Meyering  <jim@meyering.net>
77568
77569         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
77570         s/ifndef/ifdef/.
77571
77572 2005-02-20  Neil Conway  <neilc@samurai.com>
77573
77574         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
77575         returned by OSX/Darwin if the specified buffer is not large
77576         enough for the hostname.
77577
77578 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77579
77580         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
77581         pass it to _help, otherwise the latter coredumps trying to
77582         dereference state.root_argp.
77583
77584 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77585
77586         * modules/chdir-long (Depends-on): Add memrchr.
77587         * modules/memrchr (Files): Add lib/memrchr.h.
77588         (Include): "memrchr.h".
77589
77590 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77591
77592         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
77593
77594 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
77595
77596         * lib/memrchr.h: New file.
77597         * lib/chdir-long.c: Include it.
77598         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
77599         Don't bother including stddef.h.
77600
77601 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
77602
77603         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
77604         inclusion.
77605         Include <sys/types.h>, for dev_t.
77606         (ME_DUMMY, ME_REMOTE): Move from here....
77607         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
77608         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
77609         Dmitry V. Levin.
77610         Include mountlist.h first, to test the interface.
77611
77612 2005-01-29  Bruno Haible  <bruno@clisp.org>
77613
77614         * lib/progname.c (program_name): Initialize.
77615         Needed when linking statically on MacOS X.
77616
77617 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77618
77619         Sync from coreutils.
77620         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
77621         (Depends-on): Add c-strtod.
77622         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
77623
77624 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
77625
77626         Sync from coreutils.
77627         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
77628
77629         Remove files that are specific to coreutils.
77630         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
77631
77632 2005-01-28  Bruno Haible  <bruno@clisp.org>
77633
77634         * modules/javacomp: New file.
77635         * MODULES.html.sh (Java): Add javacomp.
77636
77637 2005-01-28  Bruno Haible  <bruno@clisp.org>
77638
77639         * m4/javacomp.m4: New file, from GNU gettext.
77640
77641 2005-01-28  Bruno Haible  <bruno@clisp.org>
77642
77643         * lib/javacomp.sh.in: New file, from GNU gettext.
77644         * lib/javacomp.h: New file, from GNU gettext.
77645         * lib/javacomp.c: New file, from GNU gettext.
77646
77647 2005-01-26  Simon Josefsson  <jas@extundo.com>
77648
77649         * lib/gai_strerror.c: Use GPL in header.
77650
77651 2005-01-26  Bruno Haible  <bruno@clisp.org>
77652
77653         * modules/javaexec: New file.
77654         * MODULES.html.sh (Java): Add javaexec.
77655
77656 2005-01-26  Bruno Haible  <bruno@clisp.org>
77657
77658         * m4/javaexec.m4: New file, from GNU gettext.
77659
77660 2005-01-26  Bruno Haible  <bruno@clisp.org>
77661
77662         * lib/javaexec.sh.in: New file, from GNU gettext.
77663         * lib/javaexec.h: New file, from GNU gettext.
77664         * lib/javaexec.c: New file, from GNU gettext.
77665
77666 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77667
77668         * modules/lchown (Depends-on): Remove lchown.h
77669
77670 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77671
77672         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
77673         must be defined if the header file was not found, in order
77674         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
77675
77676 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77677
77678         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
77679         initializers for struct pentry_state.
77680         (__argp_error): Check return value of __asprintf
77681         (__argp_failure): Translate error message
77682
77683         * lib/argp-parse.c: Removed braces around the expansion of N_()
77684
77685 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
77688         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
77689         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
77690         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
77691         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
77692         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
77693         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
77694         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
77695         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
77696         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
77697         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
77698         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
77699         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
77700         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
77701         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
77702         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
77703         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
77704         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
77705         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
77706         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
77707         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
77708         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
77709         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
77710         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
77711         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
77712         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
77713         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
77714         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
77715         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
77716         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
77717         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
77718         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
77719         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
77720         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
77721         xstrtol.m4, xstrtoumax.m4, yesno.m4:
77722         Use an all-permissive copyright notice, recommended by RMS.
77723
77724 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * modules/chdir-long (Depends-on): Remove mempcpy.
77727
77728 2005-01-21  Jim Meyering  <jim@meyering.net>
77729
77730         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
77731         same value as for Solaris 9.
77732
77733         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
77734         component length.  This included changing the parameter to be
77735         of type `char *' rather than `char const *'.
77736         * lib/chdir-long.h (chdir_long): Update prototype.
77737
77738         * lib/openat.c (fdopendir, fstatat): New functions.
77739         * lib/openat.h: Include headers required for use of DIR and struct
77740         stat.
77741         [AT_SYMLINK_NOFOLLOW]: Define.
77742         (fdopendir, fstatat): Add prototypes.
77743
77744 2005-01-21  Bruno Haible  <bruno@clisp.org>
77745
77746         * modules/classpath: New file.
77747         * MODULES.html.sh (Java): Add classpath.
77748
77749 2005-01-21  Bruno Haible  <bruno@clisp.org>
77750
77751         * lib/classpath.h: New file, from GNU gettext.
77752         * lib/classpath.c: New file, from GNU gettext.
77753
77754 2005-01-20  Simon Josefsson  <jas@extundo.com>
77755
77756         * modules/version-etc-fsf: New file.
77757
77758 2005-01-20  Simon Josefsson  <jas@extundo.com>
77759
77760         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
77761         * lib/version-etc.c: Remove version_etc_copyright.
77762         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
77763         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
77764
77765 2005-01-20  Simon Josefsson  <jas@extundo.com>
77766
77767         * lib/base64.h (isbase64): Add.
77768
77769         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
77770         using a unsigned prototype, don't inline.
77771         (base64_decode): Use it.
77772
77773 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77774
77775         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
77776         it.
77777
77778 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77779
77780         * lib/save-cwd.c (save_cwd): Remove code to support the case
77781         where fchdir is missing or flaky.
77782
77783 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77784
77785         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
77786
77787 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
77788
77789         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
77790         AC_LIBSOURCES now does this.
77791         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
77792         with new ullong_max module.
77793
77794 2005-01-19  Bruno Haible  <bruno@clisp.org>
77795
77796         * modules/sh-quote: New file.
77797         * MODULES.html.sh (Executing programs): Add sh-quote.
77798
77799 2005-01-19  Bruno Haible  <bruno@clisp.org>
77800
77801         * lib/sh-quote.h: New file, from GNU gettext.
77802         * lib/sh-quote.c: New file, from GNU gettext.
77803
77804 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77805
77806         Merge from coreutils.
77807         * m4/ullong_max.m4: New file.
77808         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
77809         (gl_MACROS): Assume localeconv exists.
77810
77811 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77812
77813         Merge changes from coreutils, as described below in several
77814         changelogs dated today.
77815
77816         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
77817         (O_DIRECTORY): Remove; not needed here, since "." must be
77818         a directory.  All uses removed.
77819         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
77820         universal on Suns, and we also need to test for IRIX.
77821         Revamp code to use 'if' rather than '#if'.
77822         Avoid unnecessary comparison of cwd->desc to 0.
77823
77824         * lib/utimens.c (futimens): Robustify the previous patch, by checking
77825         for known valid error numbers rather than observed invalid ones.
77826
77827 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
77828
77829         * modules/ullong_max: New file.
77830
77831         * modules/chdir-long, modules/openat: New files.
77832         * modules/save-cwd (Depends-on): Depend on chdir-long.
77833         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
77834
77835 2005-01-18  Jim Meyering  <jim@meyering.net>
77836
77837         Merge from coreutils.
77838         * m4/chdir-long.m4, m4/openat.m4: New files.
77839         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
77840         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
77841         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
77842         is sane and DOES follow symlinks.  Besides, testing 20 different
77843         systems found no broken chown implementations.
77844         Prompted by a change in rsync's copy of this macro.
77845         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
77846
77847         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
77848
77849         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
77850         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
77851         NULL-means-set-to-current-time semantics.
77852         Remove temporary file immediately, rather than waiting
77853         for configure's at-exit trap code to do it.
77854
77855 2005-01-18  Jim Meyering  <jim@meyering.net>
77856
77857         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77858
77859         * lib/utimens.c (futimens): Account for the fact that futimes
77860         can also fail with errno == ENOSYS or errno == ENOENT.
77861         Patch from Dmitry V. Levin.
77862
77863         Change the name of the robust chdir function from chdir to chdir_long.
77864         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
77865         (restore_cwd): Use chdir_long, not chdir.
77866         * lib/chdir-long.c: Renamed from chdir.c.
77867         * lib/chdir-long.h: Renamed from chdir.h.
77868         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
77869         Hurd.
77870
77871 2005-01-18  Bruno Haible  <bruno@clisp.org>
77872
77873         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
77874         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
77875         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
77876         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
77877         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
77878         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
77879         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
77880         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
77881         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
77882         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
77883         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
77884         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
77885         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
77886         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
77887         Use an all-permissive copyright notice, recommended by RMS.
77888
77889 2005-01-18  Bob Proulx  <bob@proulx.com>
77890
77891         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
77892         simplify offsetof() macro construct to avoid compile failure with
77893         native HP-UX 11.0 ANSI C compiler.
77894
77895 2005-01-17  Bruno Haible  <bruno@clisp.org>
77896
77897         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
77898         redundant because stpncpy.m4 takes care of it.
77899
77900 2005-01-17  Bruno Haible  <bruno@clisp.org>
77901
77902         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
77903
77904 2005-01-17  Bruno Haible  <bruno@clisp.org>
77905
77906         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
77907         used.
77908
77909 2005-01-17  Bruno Haible  <bruno@clisp.org>
77910
77911         * lib/fwriteerror.h (fwriteerror): Change specification to include
77912         fclose.
77913         * lib/fwriteerror.c: Include <stdbool.h>.
77914         (fwriteerror): At the end, close the file stream. Record whether
77915         stdout was already closed.
77916
77917 2005-01-17  Bruno Haible  <bruno@clisp.org>
77918
77919         * lib/execute.c (environ): Declare if needed.
77920         * lib/pipe.c (environ): Likewise.
77921         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
77922
77923 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77924
77925         * modules/argp: Depend on vsnprintf
77926
77927 2005-01-10  Jim Meyering  <jim@meyering.net>
77928
77929         * modules/closeout (Depends-on): Add atexit.
77930
77931 2005-01-06  Bruno Haible  <bruno@clisp.org>
77932
77933         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
77934
77935 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77936
77937         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
77938         definitions to be after all include files, to avoid collisions.
77939         Problem reported by Bob Proulx.
77940
77941 2005-01-04  Jim Meyering  <jim@meyering.net>
77942
77943         Changes imported from coreutils.
77944         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
77945         as the mkstemp template, use a temporary directory and an
77946         8.3-friendly template to avoid trouble on systems like DJGPP.
77947         Reported by Juan M. Guerrero via Stepan Kasal.
77948         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
77949         close. Remove the temporary directory right away, rather than waiting
77950         for configure's at-exit trap code to do it.
77951         Suggestion from Stepan Kasal.
77952
77953 2005-01-01  Simon Josefsson  <jas@extundo.com>
77954
77955         * gnulib-tool: Print #include directives when --import'ing.
77956
77957 2004-12-28  Simon Josefsson  <jas@extundo.com>
77958
77959         * tests/test-base64.c: Include required header files.  Remove
77960         unused variables.
77961
77962 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77963
77964         * modules/error (Depends-on): Remove gettext.
77965
77966 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
77967
77968         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
77969         not needed.  This removes a dependency on the gettext module.
77970         [defined _LIBC]: Do not include <libintl.h>; not needed.
77971
77972 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77973
77974         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
77975         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
77976
77977 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
77978
77979         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
77980         HAVE_DECL_STRTOLD.
77981
77982 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77983
77984         * modules/getdate (Depends-on): Remove alloca-opt.
77985
77986 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77987
77988         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
77989
77990 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
77991
77992         * lib/argp-parse.c: Include <stddef.h>.
77993         (alignof, alignto): New macros.
77994         (parser_init): Don't assume that void * is aligned sufficiently
77995         for struct option.
77996
77997         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
77998         need to extend the stack.
77999         (YYINITDEPTH): New macro, so that the initial stack isn't overly
78000         large.
78001
78002 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78003
78004         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
78005
78006 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78007
78008         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
78009         (2004-10-24) change.  Apparently this was a false alarm.
78010
78011         * modules/getdate: Depend on alloca-opt, not alloca.
78012
78013 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
78014
78015         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
78016         Remove now-obsolete comment about AIX.
78017         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
78018         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
78019         (YYMAXDEPTH): New macro.
78020
78021 2004-12-18  Simon Josefsson  <jas@extundo.com>
78022
78023         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
78024
78025 2004-12-18  Bruno Haible  <bruno@clisp.org>
78026
78027         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
78028
78029 2004-12-18  Bruno Haible  <bruno@clisp.org>
78030
78031         * lib/fatal-signal.c (fatal_signals): Make non-const.
78032         (init_fatal_signals): New function.
78033         (uninstall_handlers, install_handlers): Ignore signals that were set to
78034         SIG_IGN.
78035         (at_fatal_signal): Call init_fatal_signals.
78036         (init_fatal_signal_set): Likewise. Ignore signals that were set to
78037         SIG_IGN.
78038         Reported by Paul Eggert.
78039
78040 2004-12-18  Bruno Haible  <bruno@clisp.org>
78041
78042         * doc/alloca.texi: New file.
78043         * doc/alloca-opt.texi: New file.
78044
78045 2004-12-17  Jim Meyering  <jim@meyering.net>
78046
78047         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
78048         Otherwise, install-sh could exit with improper exit status when
78049         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
78050
78051 2004-12-16  Simon Josefsson  <jas@extundo.com>
78052
78053         * tests/test-base64.c: Add license.
78054
78055 2004-12-15  Stepan Kasal  <address@hidden>
78056
78057         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
78058
78059 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
78060
78061         * modules/getcwd (Files): Add m4/d-ino.m4.
78062         Suggested by Mark D. Baushke.
78063
78064 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78065
78066         * lib/getdate.y (textint): New member "negative".
78067         (time_zone_hhmm): New function.
78068         Expect 14 shift-reduce conflicts, not 13.
78069         (o_colon_minutes): New rule.
78070         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
78071         (yylex): Set the "negative" member of signed numbers.
78072
78073 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
78074
78075         * doc/getdate.texi (Time of day items, Time zone items):
78076         Describe new formats +00:00, UTC+00:00.
78077
78078 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78079
78080         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
78081         spurious "-l"s.  Problem reported by Stepan Kasal.
78082
78083 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
78084
78085         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
78086         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
78087
78088 2004-12-04  Simon Josefsson  <jas@extundo.com>
78089
78090         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
78091         Vandoorselaere <yoann@prelude-ids.org>.
78092
78093 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         Changes imported from coreutils.
78096         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
78097         exist.
78098         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
78099
78100 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78101
78102         Changes imported from coreutils.
78103         * lib/hard-locale.c: Assume <locale.h> exists.
78104         Include "strdup.h".
78105         (GLIBC_VERSION): New macro.
78106         (hard_locale): Assume setlocale exists.
78107         Rewrite to avoid #ifdef.
78108         Use strdup rather than malloc + strcpy.
78109         * lib/human.c: Assume <locale.h> exists.
78110         (human_readable): Assume localeconv exists.
78111
78112 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
78113
78114         * modules/hard-locale (Depends-on): Add strdup.
78115
78116 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
78117
78118         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
78119         convert T2, not T.  (Imported from libc.)
78120
78121 2004-11-30  Simon Josefsson  <jas@extundo.com>
78122
78123         * modules/restrict (License): Change to LGPL.
78124
78125 2004-11-30  Simon Josefsson  <jas@extundo.com>
78126
78127         * m4/restrict.m4: Add copyright and copying conditions.
78128
78129 2004-11-30  Simon Josefsson  <jas@extundo.com>
78130
78131         * m4/base64.m4: New file.
78132
78133 2004-11-30  Simon Josefsson  <jas@extundo.com>
78134
78135         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
78136         base64.
78137
78138         * tests/test-base64.c: New file.
78139
78140         * modules/base64: New file.
78141
78142 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78143
78144         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
78145         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
78146
78147         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
78148
78149 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
78150
78151         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
78152         (__getcwd.c): Don't restore errno; glibc doesn't.
78153         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
78154         first, falling back to our code only if its results look suspicious.
78155         Ensure that the resulting buffer is only as large as necessary.
78156
78157         * lib/readutmp.c: Include readutmp.h first.
78158         Include <errno.h>, since readutmp.h no longer does that.
78159         * lib/readutmp.h: Don't include <errno.h>,
78160         <sys/param.h>, <time.h>; not needed to establish interface.
78161         (errno): Remove decl.
78162         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
78163         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
78164         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
78165
78166 2004-11-28  Simon Josefsson  <jas@extundo.com>
78167
78168         * lib/base64.h, base64.c: New file.
78169
78170 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
78171
78172         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
78173
78174 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
78175
78176         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
78177         (Depends-on): Remove pathmax, same.  Add mempcpy.
78178         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
78179         (Makefile.am): Append getcwd.h to lib_SOURCES.
78180         (Include): Add getcwd.h.
78181         (Maintainer): Change from Jim Meyering to "all, glibc",
78182         since getdate now uses intended-for-glibc code.
78183         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
78184         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
78185
78186 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78187
78188         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
78189         HP's ANSI C compiler.
78190         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
78191         Declaring int functions causes warnings on some modern systems and
78192         shouldn't be needed to compile on ancient ones.
78193         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
78194         defined.
78195
78196         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
78197         with the following changes.
78198         (__set_errno): Parenthesize properly.
78199         Include <stdbool.h>.
78200         (MIN, MAX, MATCHING_INO): New macros.
78201         (__getcwd): Define with prototype, not K&R form.
78202         Use heuristics to allocate default buffer on stack if possible.
78203         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
78204         behavior, and to avoid the PATH_MAX limit when computing
78205         ../../../../...
78206         Use MATCHING_INO to compare inode number to file.
78207         Check for arithmetic overflow in size calculations.
78208         Fix bug in reallocation of dot array that caused getcwd to fail
78209         on directories nested deeper than 75.
78210         Be more careful about saving errno on error.
78211         Do not use realloc; use only free+malloc, as this is a bit
78212         more flexible and avoids a needless copy operation.
78213         Do not inspect st_dev and st_ino for symbolic links; POSIX
78214         doesn't specify the latter.
78215         Check for closedir errors.
78216         Avoid needless casts.
78217         Use "#ifdef weak_alias" around weak_alias, to be like other
78218         glibc code.
78219         The following changes to getcwd.c have effect only when used in
78220         gnulib; they have no effect inside glibc proper.
78221         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
78222         as alloca isn't used.
78223         (alloca, __alloca): Likewise.
78224         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
78225         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78226         unconditionally, as gnulib assumes C89 or better.
78227         Do not include <sys/param.h>.
78228         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
78229         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
78230         better.
78231         (NULL) [!defined NULL]: Remove; we assume C89 or better.
78232         Include <dirent.h> in a way that is compatible with modern Autoconf.
78233         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
78234         New macros, if not already defined.
78235         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
78236         Use "_LIBC", not "defined _LIBC", for consistency.
78237         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
78238         a mempcpy module.
78239         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
78240         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
78241         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
78242         credit only to Jim Meyering and adjust the copyright dates.
78243         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
78244         <stdlib.h>, <unistd.h>, "pathmax.h".
78245         Instead, include "xgetcwd.h" (first) and "getcwd.h".
78246         (INITIAL_BUFFER_SIZE): Remove.
78247         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
78248
78249 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78250
78251         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
78252         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
78253         Use the _ONCE methods, for efficiency.
78254         Check for fcntl.h.  In test program, include <errno.h>
78255         and <fcntl.h> if available.  Remove old K&R cruft from
78256         test program.  Check for common errors in GNU/Linux,
78257         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
78258         don't do AC_LIBOBJ, as that's getcwd.m4's job.
78259         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
78260         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
78261         name accordingly.
78262         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
78263         accommodate new getcwd.c.
78264         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
78265         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
78266         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
78267         that's all we need now.
78268
78269 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78270
78271         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
78272         argp-parse.c depends on getopt internals, that means we should
78273         always use our getopt, to be on the safe side.
78274         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
78275         order not to spoil the result of an eventual previous invocation
78276         of gl_GETOPT_SUBSTITUTE.
78277
78278 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78279
78280         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
78281         redefinition warnings. To avoid them, include the defines
78282         in `#if !defined __need_getopt ... #endif'. The only place
78283         where __getopt_argv_const is used is in definitions
78284         of getopt_long and getopt_long_only below, which are as well
78285         protected by `#ifndef __need_getopt'.
78286         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
78287         __need_getopt after including <stdio.h> and <unistd.h> These
78288         headers might have defined it.
78289
78290 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78291
78292         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
78293
78294 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
78295
78296         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
78297         (futimens): New function, which uses futimes if available.
78298         (futimens, utimens): Support timespec==NULL, with same semantics
78299         as utime and utimens.
78300         * lib/utimens.h (futimens): New decl.
78301
78302 2004-11-23  Jim Meyering  <jim@meyering.net>
78303
78304         * lib/getopt_.h: Remove trailing blanks.
78305
78306 2004-11-23  Jim Meyering  <jim@meyering.net>
78307
78308         * lib/__fpending.c: Add comment.
78309
78310 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
78311
78312         * modules/canonicalize (Depends-on): Add xreadlink.
78313         Problem reported by James Youngman.
78314
78315 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
78316
78317         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
78318         New macros.
78319         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
78320         optopt): Use them instead of invoking ## directly; otherwise, the
78321         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
78322
78323 2004-11-19  Bruno Haible  <bruno@clisp.org>
78324
78325         * lib/strtok_r.c: Move comments from here...
78326         * lib/strtok_r.h: ... to here.
78327
78328 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78329
78330         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
78331         implementations that mishandle size_t overflow.
78332
78333 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
78334
78335         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
78336         might fail.  Problem reported by Yoann Vandoorselaere.
78337         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
78338         implementations that mishandle size_t overflow.
78339
78340 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78341
78342         * modules/canon-host (Depends-on): Add strdup.
78343
78344 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78345
78346         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
78347
78348 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78349
78350         * lib/canon-host.c: Include "strdup.h".
78351         (canon_host): Use getaddrinfo if available, so that IPv6 works.
78352         Use strdup instead of malloc/strcpy to duplicate strings.
78353
78354         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
78355         (human_space_before_unit): New constant.
78356         * lib/human.c (human_readable): Support it.
78357
78358         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
78359         (xgetcwd): Set errno correctly when failing.
78360         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
78361         the failure is actually due to a PATH_MAX problem.
78362
78363         Further getopt changes to make it more likely that glibc will
78364         buy the changes back.
78365         * lib/getopt.c (POSIXLY_CORRECT): New constant.
78366         (getopt): Use it, so to preserve glibc semantic
78367         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
78368         when compiling for libc.
78369         * lib/getopt_.h (__getopt_argv_const): Bring it back.
78370         (getopt_long, getopt_long_only): Use it.
78371
78372         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78373         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
78374         (getopt): Argv is now char * const *, as per standard.
78375         (_getopt_internal_r, _getopt_internal): Argv is now char **,
78376         not char *__getopt_argv_const *.
78377         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78378         _getopt_long_only_r): Likewise.
78379         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
78380         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78381         _getopt_long_r, _getopt_long_only_r): Likewise.
78382         * lib/getopt_.h (__getopt_argv_const): Remove.
78383         (getopt): Argv is now char * const *, as per standard.
78384
78385         * lib/getdate.y (tORDINAL): New token.
78386         (day, relunit): Allow it for relative times.
78387         (relative_time_table): Use tORDINAL for ordinals.
78388
78389 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
78390
78391         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
78392         Document that "second" isn't allowed as an ordinal number.
78393
78394 2004-11-16  Jim Meyering  <jim@meyering.net>
78395
78396         * modules/closeout (Depends-on): Add fpending.
78397
78398 2004-11-15  Jim Meyering  <jim@meyering.net>
78399
78400         * lib/closeout.c: Include "__fpending.h" once again.
78401         Include <stdbool.h>.
78402         (close_stdout): Don't fail just because stdout was closed initially,
78403         since some programs don't write to stdout in the normal course of
78404         operation (other than --version and --help), and we don't want this
78405         function to make e.g. `touch file >&-' fail.
78406         But do fail if it was closed and someone has tried to write to it.
78407         E.g., `printf foo >&-' must fail.
78408
78409 2004-11-13  Jim Meyering  <jim@meyering.net>
78410
78411         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
78412
78413 2004-11-12  Simon Josefsson  <jas@extundo.com>
78414
78415         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
78416         small doc fix is still pending.
78417
78418 2004-11-11  Simon Josefsson  <jas@extundo.com>
78419
78420         * modules/strtok_r: New file.
78421
78422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78423         strtok_r.
78424
78425 2004-11-11  Simon Josefsson  <jas@extundo.com>
78426
78427         * m4/strtok_r.m4: New file.
78428
78429         * m4/getopt.m4: Replace opterr.
78430
78431 2004-11-11  Simon Josefsson  <jas@extundo.com>
78432
78433         * lib/strtok_r.h, strtok_r.c: New file.
78434
78435 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78436
78437         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
78438         of replacing opterr, getopt, etc.  This should handle the
78439         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
78440
78441 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
78442
78443         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
78444         we can stop lying to compilers about the constness of argv when we
78445         are compiled outside glibc.
78446         (getopt, getopt_long, getopt_long_only): Use it.
78447         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
78448         _getopt_internal, getopt): Likewise.
78449         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
78450         _getopt_long_only_r): Likewise.
78451         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
78452         _getopt_long_r, _getopt_long_only_r): Likewise.
78453
78454         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
78455         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
78456         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
78457         the other external symbols.
78458         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
78459         declaration, since the above renaming now works around collisions.
78460
78461 2004-11-11  Jim Meyering  <jim@meyering.net>
78462
78463         * lib/linebreak.c: Remove trailing blanks.
78464         * lib/alloca_.h: Likewise.
78465         * lib/acosl.c: Likewise.
78466         * lib/euidaccess.c: Likewise.
78467         * lib/allocsa.h: Likewise.
78468
78469 2004-11-10  Simon Josefsson  <jas@extundo.com>
78470
78471         * m4/getaddrinfo.m4: New file.
78472
78473 2004-11-10  Simon Josefsson  <jas@extundo.com>
78474
78475         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
78476
78477 2004-11-10  Simon Josefsson  <jas@extundo.com>
78478
78479         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78480         getaddrinfo.
78481
78482         * modules/getaddrinfo: New file.
78483
78484 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
78487
78488 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78489
78490         * lib/mktime.c (SHR): New macro, which is a portable
78491         substitute for >> that should work even on Crays.
78492         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
78493         Problem reported by Mark D. Baushke in
78494         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
78495         * lib/getdate.y (SHR): Likewise.
78496         (tm_diff): Use it.
78497         * lib/strftime.c (SHR): Likewise.
78498         (tm_diff): Use it.
78499         * lib/quotearg.c (struct quoting_options): Use unsigned int for
78500         quote_these_too, so that right shifts are well defined.  All uses
78501         changed.
78502
78503 2004-11-10  Jim Meyering  <jim@meyering.net>
78504
78505         Ensure that no close failure goes unreported.
78506         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
78507         return early when it seems there's nothing to flush.
78508         Don't include __fpending.h.
78509
78510 2004-11-10  Jim Meyering  <jim@meyering.net>
78511
78512         * modules/closeout (Depends-on): Remove fpending.
78513
78514 2004-11-10  Jim Meyering  <jim@meyering.net>
78515
78516         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
78517
78518 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78519
78520         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
78521         gl_FUNC_STRFTIME.
78522         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
78523         and AC_REQUIRE when possible, to avoid duplicate checks.
78524         Check for <wchar.h>.
78525
78526 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
78527
78528         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
78529
78530 2004-11-09  Bruno Haible  <bruno@clisp.org>
78531
78532         * m4/sockpfaf.m4: New file.
78533
78534 2004-11-05  Bruno Haible  <bruno@clisp.org>
78535
78536         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
78537         Reported by Mark D. Baushke <mdb@cvshome.org>.
78538
78539 2004-11-04  Bruno Haible  <bruno@clisp.org>
78540
78541         2004-09-11  Bruno Haible  <bruno@clisp.org>
78542                 * allocsa.valgrind: New file.
78543         2004-02-06  Bruno Haible  <bruno@clisp.org>
78544                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
78545                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
78546                 Reported by Christopher Seip <chris.seip@hp.com>.
78547
78548 2004-11-04  Bruno Haible  <bruno@clisp.org>
78549
78550         * modules/allocsa (Files): Add lib/allocsa.valgrind.
78551         (Makefile.am): Distribute it.
78552
78553 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
78556         with errno == ERANGE if the buffer is too small.
78557         Problem reported by Mark D. Baushke.
78558
78559 2004-11-03  Albert Chin  <china@thewrittenword.com>
78560             Paul Eggert  <eggert@cs.ucla.edu>
78561
78562         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
78563         equivalent, substitute $ac_type for equivalent type rather than
78564         blindly using uint32_t *always* which won't work if uint32_t is not
78565         available.  Define _UINT32_T to work around typedef of uint32_t if
78566         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
78567         2.5.1.
78568
78569 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78570
78571         * m4/jm-macros.m4: Sync from coreutils.
78572         (gl_MACROS): Check for mbrlen, for pathchk.
78573         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
78574
78575 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78576
78577         * lib/xreadlink.c (MAXSIZE): New macro.
78578         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
78579         size does not exceed MAXSIZE.  Avoid cast.
78580         As suggested by Mark D. Baushke in
78581         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
78582         if readlink fails with buffer size just under MAXSIZE, try again
78583         with MAXSIZE.
78584
78585 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78586
78587         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
78588
78589 2004-11-02  Derek R. Price  <derek@ximbiot.com>
78590         and  Paul Eggert  <eggert@cs.ucla.edu>
78591
78592         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
78593         (get_date): Overparenthesize to avoid GCC warning.
78594
78595 2004-11-02  Bruno Haible  <bruno@clisp.org>
78596
78597         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
78598         returns void.
78599
78600 2004-11-02  Bruno Haible  <bruno@clisp.org>
78601
78602         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
78603         function returns void.
78604
78605 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78606
78607         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
78608         fflush_unlocked, flockfile, funlockfile, funlockfile,
78609         fputs_unlocked, putc_unlocked.
78610
78611 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78612
78613         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78614         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
78615         already declared.
78616
78617 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78618
78619         * modules/getdate (Files): Add doc/getdate.texi.
78620         (Depends-on): Add setenv, xalloc.
78621
78622 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78623
78624         * lib/getdate.y: Add support for TZ="foo" within a date string.
78625         Fix some bugs near time_t boundaries.  Reject dates with
78626         out-of-range components, e.g., "Sept 31".
78627         Include <stdlib.h>, "setenv.h", "xalloc.h".
78628         (ISDIGIT_LOCALE): Remove; unused.
78629         Note that the TZ and time functions used here are not reentrant.
78630         (mktime_ok, get_tz): New functions.
78631         (TZBUFSIZE): New constant.
78632         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
78633         This requires that we sometimes generate our own TZ="XXX..." setting.
78634
78635 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78636
78637         * doc/getdate.texi: New file, from coreutils with modifications for
78638         the new TZ parsing.
78639
78640 2004-10-27  Derek R. Price  <derek@ximbiot.com>
78641
78642         * lib/mktime.c (not_equal_tm): Remove redundant check.
78643
78644 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78645
78646         * modules/regex (lib_SOURCES): Add regex.c.
78647         Reported by James Youngman in
78648         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
78649
78650 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78651
78652         * lib/getdate.y: Use Bison 1.875 features, and some minor
78653         code cleanups.  This change does not affect semantics.
78654         Don't include <stdlib.h>; no longer needed.
78655         Don't include unlocked-io.h; only the "#if TEST" code uses
78656         stdio, and performance isn't crucial there.
78657         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
78658         Bison 1.875 features as described below.
78659         All uses of "PC." replaced by "pc->".
78660         (YYSTYPE): Add a forward declaration.
78661         (yylex, yyerror): Use full prototypes in forward decls.
78662         Use "%pure-parser" rather than obsolescent "%pure_parser".
78663         Use %parse-param and %lex-param instead of obsolescent
78664         YYPARSE_PARAM and YYLEX_PARAM.
78665         (meridian_table, month_and_day_table, time_units_table,
78666         relative_time_table, time_zone_table, military_table,
78667         lookup_zone, lookup_word, get_date):
78668         Use NULL instead of 0 where appropriate.
78669         (to_hour): Avoid abort (), to avoid a dependency on
78670         stdlib.h.
78671         (yyerror, yylex): Now accepts parser_control * arg.
78672         (main) [TEST]: Use '\0' rather than 0 for char.
78673
78674 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78675
78676         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
78677
78678 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78679
78680         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
78681         It's now the caller's responsibility to handle the case where
78682         !HAVE_GETPAGESIZE && !defined getpagesize.
78683
78684         * lib/mktime.c (leapyear): Arg is long int, not int.
78685
78686 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
78689
78690 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78691
78692         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
78693         missing.  Problem reported by James Youngman.
78694
78695 2004-10-16  Simon Josefsson  <jas@extundo.com>
78696
78697         * gnulib-tool: Fix comments.  Fix parse problem.
78698         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
78699
78700 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
78701
78702         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
78703         implementation of getopt_long.  Problem reported by Alexander Taler in:
78704         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
78705
78706 2004-10-15  Bruno Haible  <bruno@clisp.org>
78707
78708         * gnulib-tool: Untabify. Initialize supplied_libname.
78709         (func_usage): More homogenous output.
78710         (func_modules_transitive_closure, func_modules_to_filelist,
78711         func_emit_lib_Makefile_am): New functions.
78712         (func_import): New function, extracted from big case statement. Use
78713         func_get_license, func_modules_transitive_closure,
78714         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
78715         opt_lgpl. Don't use test -a, as it's not portable.
78716         (func_create_testdir): Use func_modules_transitive_closure,
78717         func_modules_to_filelist, func_emit_lib_Makefile_am.
78718
78719 2004-10-15  Bruno Haible  <bruno@clisp.org>
78720
78721         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
78722
78723 2004-10-15  Bruno Haible  <bruno@clisp.org>
78724
78725         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
78726         the portions belonging to each module.
78727         Suggested by Derek Robert Price <derek@ximbiot.com>.
78728
78729 2004-10-12  Simon Josefsson  <jas@extundo.com>
78730
78731         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
78732         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
78733         to real functions.
78734
78735 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78736
78737         * modules/vsnprintf: New file.
78738
78739 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78740
78741         * m4/vsnprintf.m4: New file.
78742
78743 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78744
78745         * lib/vsnprintf.h: New file.
78746         * lib/vsnprintf.c: New file.
78747
78748 2004-10-11  Bruno Haible  <bruno@clisp.org>
78749
78750         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
78751         vsnprintf.
78752
78753 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78754
78755         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
78756
78757 2004-10-07  Bruno Haible  <bruno@clisp.org>
78758
78759         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
78760         fits into the provided buffer.
78761
78762 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78763
78764         * lib/diacrit.c, diacrit.h: Add GPL notice.
78765
78766         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
78767         notice.
78768         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
78769         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
78770         This avoids a potential constant-folding bug.
78771
78772 2004-10-05  Bruno Haible  <bruno@clisp.org>
78773
78774         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
78775         for the declaration of strsep.
78776
78777 2004-10-05  Bruno Haible  <bruno@clisp.org>
78778
78779         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
78780
78781 2004-10-04  Simon Josefsson  <jas@extundo.com>
78782
78783         * modules/memmem: New file.
78784         * tests/test-memmem.c: New file.
78785         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
78786
78787 2004-10-04  Simon Josefsson  <jas@extundo.com>
78788
78789         * m4/memmem.m4: New file.
78790
78791 2004-10-04  Simon Josefsson  <jas@extundo.com>
78792
78793         * lib/memmem.h: New file.
78794         * lib/memmem.c: New file, taken from glibc.
78795
78796 2004-10-04  Simon Josefsson  <jas@extundo.com>
78797
78798         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
78799         '#ifdef USE_UNLOCKED_IO'.
78800
78801 2004-10-04  Simon Josefsson  <jas@extundo.com>
78802
78803         * config/srclist.txt: Add memmem from glibc.
78804
78805 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78806
78807         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
78808
78809         * modules/argmatch, modules/argp, modules/closeout, modules/error,
78810         modules/exclude, modules/getdate, modules/getline,
78811         modules/getndelim2, modules/getpass, modules/getpass-gnu,
78812         modules/getusershell, modules/linebuffer, modules/md5,
78813         modules/mountlist, modules/posixtm, modules/readtokens,
78814         modules/readutmp, modules/regex, modules/sha1,
78815         modules/version-etc, modules/yesno:
78816         Remove dependency on unlocked-io.
78817
78818 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78819
78820         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
78821
78822         * m4/unlocked-io.m4: Add copyright notice.
78823         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
78824
78825 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78826
78827         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
78828         * lib/xmalloc.c (xmemdup): Likewise.
78829         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
78830         XFREE): Remove these long-obsolescent macros.
78831         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
78832         * lib/xstrdup.c: Remove.
78833
78834         * lib/regex.c (re_comp): Cast gettext return value to char *,
78835         Problem reported by Martin Neitzel via Mark D. Baushke.
78836
78837 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
78838
78839         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
78840         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
78841         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
78842         regex.c, sha1.c, version-etc.c, yesno.c:
78843         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
78844         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
78845         the includer's responsibility.
78846
78847         Sync from coreutils.
78848
78849         * lib/modechange.c (mode_compile): Don't decrement a pointer that
78850         points to the start of a string, as the C Standard says the
78851         resulting behavior is undefined.
78852
78853         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
78854         simple -> simple_backups, numbered_existing ->
78855         numbered_existing_backups, numbered -> numbered_backups
78856         to avoid shadowing problems.  All uses changed.
78857         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
78858         * lib/backupfile.c (check_extension, numbered_backup):
78859         Rename locals to avoid shadowing 'basename'.
78860         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
78861         once.
78862
78863         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
78864         * lib/.cvsignore: Add getopt.h.
78865
78866 2004-10-04  Bruno Haible  <bruno@clisp.org>
78867
78868         * modules/README: New file.
78869         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
78870         not a module.
78871
78872 2004-10-02  Jim Meyering  <jim@meyering.net>
78873
78874         * lib/dirfd.h, getpagesize.h: Add copyright notice.
78875
78876 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78877
78878         * modules/strsep: New file.
78879
78880 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78881
78882         * m4/strsep.m4: New file.
78883
78884 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
78885
78886         * lib/strsep.h: New file.
78887         * lib/strsep.c: New file.
78888
78889 2004-10-01  Simon Josefsson  <jas@extundo.com>
78890
78891         * lib/snprintf.c (snprintf): Handle size==0.
78892
78893 2004-10-01  Simon Josefsson  <jas@extundo.com>
78894             Bruno Haible  <bruno@clisp.org>
78895
78896         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
78897         (snprintf): Declare 'args'.
78898
78899 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
78900
78901         * lib/snprintf.c: Remove comments as to why each header is needed.
78902
78903 2004-10-01  Bruno Haible  <bruno@clisp.org>
78904
78905         * MODULES.html.sh: Add strsep.
78906
78907 2004-09-30  Simon Josefsson  <jas@extundo.com>
78908
78909         * modules/snprintf: New file.
78910
78911 2004-09-30  Simon Josefsson  <jas@extundo.com>
78912
78913         * m4/snprintf.m4: New file.
78914
78915 2004-09-30  Simon Josefsson  <jas@extundo.com>
78916
78917         * lib/snprintf.h, lib/snprintf.c: New files.
78918
78919 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78920
78921         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
78922         (hol_entry_help): Never translate an empty string.
78923         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
78924         * lib/argp.h (OPTION_NO_TRANS): New option.
78925
78926 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * modules/argp (Maintainer): Replace Simon Josefsson
78929         by Sergey Poznyakoff.
78930
78931 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78932
78933         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
78934         changes merged back into glibc.
78935
78936 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
78937
78938         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
78939
78940 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78941
78942         * lib/xvasprintf.c: Include xalloc.h.
78943         (xvasprintf): Use xalloc_die, not xmalloc_die.
78944
78945 2004-09-29  Bruno Haible  <bruno@clisp.org>
78946
78947         * modules/alloca-opt: New file, derived from modules/alloca.
78948         * modules/allocsa: Depend on alloca-opt instead of alloca.
78949         * modules/setenv: Likewise.
78950         * modules/vasnprintf: Likewise.
78951         * MODULES.html.sh: Add alloca-opt.
78952
78953 2004-09-28  Simon Josefsson  <jas@extundo.com>
78954
78955         * gnulib-tool: New parameter --lgpl, to asseert that modules are
78956         LGPL, and to replace license template from GPL to LGPL.
78957
78958 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         * modules/dummy: Change license to LGPL.
78961
78962 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
78963
78964         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
78965
78966 2004-09-24  Simon Josefsson  <jas@extundo.com>
78967
78968         * modules/minmax (License): Change from GPL to LGPL.
78969
78970 2004-09-23  Simon Josefsson  <jas@extundo.com>
78971
78972         * gnulib-tool (--import): Typo.
78973
78974 2004-09-23  Simon Josefsson  <jas@extundo.com>
78975
78976         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
78977
78978 2004-09-22  Bruno Haible  <bruno@clisp.org>
78979
78980         * modules/*: Add 'License' field.
78981         * gnulib-tool: Accept --extract-license option.
78982         (func_get_license): New function.
78983
78984 2004-09-21  Bruno Haible  <bruno@clisp.org>
78985
78986         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
78987         Reported by Simon Josefsson.
78988
78989 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78990
78991         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
78992         gl_AC_TYPE_LONG_LONG.
78993
78994 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78995
78996         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
78997
78998 2004-09-18  Simon Josefsson  <jas@extundo.com>
78999         and  Paul Eggert  <eggert@cs.ucla.edu>
79000
79001         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
79002         calls with autoreconf.  Define GL_LIB.
79003
79004 2004-09-14  Karl Berry  <karl@gnu.org>
79005
79006         * config/srclist.txt: unsync setenv.c, sigh.
79007
79008 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79009
79010         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
79011         Problem reported by Bruno Haible in:
79012         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
79013
79014 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
79015
79016         * config/srclist.txt: Comment out argp-pvh.c.
79017
79018 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
79019
79020         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
79021         in case some system header has #define'd it.  Problem reported by
79022         Soeren D. Schulze in
79023         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
79024
79025 2004-09-09  Karl Berry  <karl@gnu.org>
79026
79027         * regex.[ch]: delete from the root.  These were supposed to be
79028                 synced with emacs cvs, but this has not happened for about
79029                 a year, and anyway nothing else uses emacs regex.[ch].
79030                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
79031                 lib/regex[.ch] is untouched.
79032
79033 2004-09-09  Bruno Haible  <bruno@clisp.org>
79034
79035         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
79036
79037 2004-09-09  Bruno Haible  <bruno@clisp.org>
79038
79039         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
79040         modifications.
79041         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
79042
79043 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79044
79045         * modules/xvasprintf: New file.
79046         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
79047
79048 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
79049
79050         * lib/xvasprintf.h: New file.
79051         * lib/xvasprintf.c: New file.
79052         * lib/xasprintf.c: New file.
79053
79054 2004-09-08  Bruno Haible  <bruno@clisp.org>
79055
79056         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
79057
79058 2004-09-08  Bruno Haible  <bruno@clisp.org>
79059
79060         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
79061         length is > INT_MAX.
79062         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
79063         more.
79064
79065 2004-09-08  Bruno Haible  <bruno@clisp.org>
79066
79067         * lib/stdint_.h: New file, taken from GNU clisp.
79068
79069 2004-09-08  Bruno Haible  <bruno@clisp.org>
79070             Oskar Liljeblad  <oskar@osk.mine.nu>
79071
79072         * modules/stdint: New file.
79073         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
79074
79075 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79076
79077         Import from coreutils.
79078         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
79079         strings on unbounded length.  alloca's performance benefits aren't
79080         that important here.
79081         (V_STRDUP): Remove.
79082         (parse_with_separator): New function, with most of the internals
79083         of the old parse_user_spec.  Allow user to omit both user and group,
79084         for compatibility with FreeBSD.
79085         Clone only the user name, not the entire spec.
79086         Do not set *uid, *gid unless entirely successful.
79087         Avoid memory leak in some failing cases.
79088         Fix regression for USER.GROUP reported by Dmitry V. Levin in
79089         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
79090         (parse_user_spec): Rewrite to use parse_with_separator.
79091
79092 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79093
79094         * modules/userspec: Don't depend on alloca.
79095
79096 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79097
79098         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
79099
79100 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
79103         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
79104         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
79105
79106 2004-08-16  Simon Josefsson  <jas@extundo.com>
79107
79108         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
79109         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
79110         Add --dry-run for --import.
79111         Let user provided command line parameters override configure.ac
79112         settings.
79113
79114 2004-08-12  Simon Josefsson  <jas@extundo.com>
79115
79116         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
79117         as discussed with Paul Eggert in threads rooted at
79118         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
79119         and
79120         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
79121         Before, the test was empty, and relied on ELIDE_CODE in source
79122         code.)
79123         (gl_PREREQ_GETOPT): New macro.
79124         (gl_GETOPT): Use them.
79125
79126 2004-08-12  Simon Josefsson  <jas@extundo.com>
79127
79128         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
79129         * lib/getopt_.h: Renamed from getopt.h.
79130
79131 2004-08-12  Simon Josefsson  <jas@extundo.com>
79132
79133         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
79134         Change default library name from libfoo to libgnu.
79135         Now, if you have a configure.ac that says:
79136                 gl_SOURCE_BASE(gl)
79137                 gl_M4_BASE(gl/m4)
79138                 gl_MODULES(error getopt etcetera)
79139                 gl_INIT
79140         you can import all you need by running:
79141                 ../gnulib/gnulib-tool --import
79142
79143         * modules/getopt (Files): Rename getopt.h to getopt_.h.
79144         (Makefile.am): Rewrite, use logic from argz.
79145         (Include): Use <getopt.h> instead of "getopt.h".
79146
79147 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79148
79149         * modules/argp (Files): Add m4/unlocked-io.m4.
79150         (Depends-on): Add extensions.
79151
79152 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79153
79154         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
79155         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
79156         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
79157         Check for program_invocation_name, program_invocation_short_name,
79158         flockfile, funlockfile, features.h, _getopt_long_only_r.
79159
79160 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79161
79162         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
79163         its complicated substitute.
79164         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
79165         and program_invocation_name.
79166         (__argp_basename) [!_LIBC]: Remove; the only use was
79167         replaced by its body.
79168         (__argp_short_program_name): Change condition from
79169         !defined __argp_short_program_name to
79170         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
79171         to match argp-namefrob.h.
79172         (__argp_failure): Don't assume strerror_r returns char *.
79173         * lib/argp-parse.c (N_): Define unconditionally.
79174         (argp_default_options): Fill out initializers with 0 to avoid
79175         gcc warnings.
79176
79177 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
79178
79179         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
79180         getopt1.c.
79181
79182 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79183
79184         Merge from coreutils.
79185
79186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
79187
79188         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
79189         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
79190
79191 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79192
79193         Merge from coreutils.
79194
79195         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
79196         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
79197         for Reliant Unix 5.43.
79198
79199         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
79200         (union fooround): Use uintmax_t, not long int.
79201         The rest is a merge from libc:
79202         [defined _LIBC]: Include <shlib-compat.h>.
79203         (_obstack) [defined _LIBC]: Remove after 2.3.4.
79204
79205         * lib/settime.c (settime): Recode to avoid warning with
79206         Sun Forte C 6U2.
79207
79208         * lib/strverscmp.c: Convert to UTF-8.
79209
79210 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79211
79212         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79213         m4/uintmax_t.m4.
79214
79215 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79216
79217         * modules/xalloc-die: New file.
79218         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
79219
79220         * modules/md5 (Files): Add m4/uint32_t.m4.
79221         * modules/sha1: Renamed from modules/sha.
79222         (Files):
79223         Rename lib/sha.h to lib/sha1.h.
79224         Rename lib/sha.c to lib/sha1.c.
79225         Rename m4/sha.m4 to m4/sha1.m4.
79226         (lib_SOURCES): Likewise.
79227         (configure.ac): Rename gl_SHA to gl_SHA1.
79228         (Include): sha.h -> sha1.h.
79229
79230 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79231
79232         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
79233         * m4/sha1.m4: Renamed from sha.m4.
79234         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
79235
79236 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79237
79238         * lib/obstack.h (obstack_empty_p):
79239         Don't assume that chunk->contents is suitably aligned.
79240         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
79241         Likewise. Problem reported by Benno in
79242         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
79243
79244         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
79245         readable.  This could be improved further but it'd take some work.
79246
79247 2004-08-08  Simon Josefsson  <jas@extundo.com>
79248
79249         * modules/xgethostname (Depends-on): Remove exit and error (not
79250         used).
79251
79252         * modules/getpass-gnu: Add getpass.h.
79253         (Depends-on): Add stdbool.
79254         * modules/getpass: Add getpass.h.
79255
79256 2004-08-08  Simon Josefsson  <jas@extundo.com>
79257
79258         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
79259         Check getpass declaration.
79260
79261 2004-08-08  Simon Josefsson  <jas@extundo.com>
79262
79263         * lib/xgethostname.c: Don't include error.h (not used).
79264
79265         * lib/getpass.h: Add.
79266         * lib/getpass.c: Include getpass.h first.
79267
79268 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
79269
79270         * lib/xalloc-die.c: New file.
79271         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
79272         All uses removed.
79273         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
79274         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
79275         xalloc-die.c.
79276         (_, N_, xalloc_die): Move to xalloc-die.c.
79277         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
79278         so that we needn't mess with xalloc_msg_memory_exhausted.
79279
79280         * lib/sha1.h: Renamed from sha.h.
79281         (SHA1_H): Renamed from _SHA_H.
79282         (sha1_ctx): Renamed from sha_ctx.
79283         (sha1_init_ctx): Renamed from sha_init_ctx.
79284         (sha1_process_block): Renamed from sha_process_block.
79285         (sha1_process_bytes): Renamed from sha_process_bytes.
79286         (sha1_finish_ctx): Renamed from sha_finish_ctx.
79287         (sha1_read_ctx): Renamed from sha_read_ctx.
79288         (sha1_stream): Renamed from sha_stream.
79289         (sha1_buffer): Renamed from sha_buffer.
79290         * lib/sha1.c: Likewise; renamed from sha.c.
79291         Do not include <sys/types.h>.
79292         Include <stddef.h> rather than <stdlib.h>.
79293
79294 2004-08-08  Bruno Haible  <bruno@clisp.org>
79295
79296         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
79297         FILESYSTEM_PREFIX_LEN.
79298         * lib/progreloc.c: Likewise.
79299         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
79300
79301 2004-08-06  Simon Josefsson  <jas@extundo.com>
79302
79303         * modules/progname (Depends-on): Don't depend on stdbool.
79304
79305 2004-08-06  Simon Josefsson  <jas@extundo.com>
79306
79307         * modules/getsubopt: New file.
79308         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79309         getsubopt.
79310
79311 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         More merge from coreutils.
79314
79315         * m4/utimens.m4, m4/utimecmp.m4: New files.
79316         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
79317         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
79318         prereq.m4, sha.m4: Import changes from coreutils.
79319
79320 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79321
79322         More merge from coreutils.
79323         * modules/raise, modules/readtokens0, modules/utimens:
79324         * modules/utimecmp, module/xnanosleep: New files.
79325         * modules/strftime: Add lib/strftime.h.
79326         Change include from <time.h> to "strftime.h".
79327         * modules/yesno: Add lib/yesno.h.
79328         * modules/backupfile: Remove lib/addext.c.
79329         * modules/euidaccess: Add stat-macros.h.
79330         * modules/canonicalize, modules/euidaccess,
79331         modules/filemode, modules/lchown, modules/makepath,
79332         modules/rmdir, modules/stat: Likewise.
79333
79334 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
79335
79336         Merge from tar.
79337         * lib/argp-help.c (make_hol, hol_append): Don't assume that
79338         SIZE_MAX is a valid preprocessor constant.
79339         (__argp_basename): Change from "#ifndef _LIBC"
79340         to "#ifndef __argp_short_program_name", so that
79341         we don't compile these functions for tar.
79342
79343         More merges from coreutils.
79344         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
79345         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
79346         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
79347         * lib/addext.c: Remove; no longer needed.
79348         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
79349         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
79350         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
79351         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
79352         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
79353         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
79354         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
79355         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
79356         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
79357         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79358         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
79359         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
79360         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
79361         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
79362         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
79363         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
79364         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
79365         Import changes from coreutils.
79366
79367 2004-08-05  Simon Josefsson  <jas@extundo.com>
79368
79369         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
79370
79371 2004-08-05  Simon Josefsson  <jas@extundo.com>
79372
79373         * m4/getsubopt.m4: New file.
79374
79375 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79376
79377         Merge from coreutils.
79378
79379         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
79380         * m4/getcwd-path-max.m4: New files.
79381
79382         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
79383         FILESYSTEM_PREFIX_LEN ->
79384         FILE_SYSTEM_PREFIX_LEN.
79385         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
79386         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
79387         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
79388         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
79389
79390         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
79391         prerequisite modules now handle the DOS stuff.
79392         Don't check for unistd.h.
79393
79394 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         Merge from coreutils.
79397
79398         * lib/.gdb-history: Remove; this doesn't belong here.
79399
79400         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
79401         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
79402         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
79403         * lib/getcwd.c: New files.
79404
79405         * lib/dirname.h: Include <stdbool.h>.
79406         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
79407         for consistency with POSIX terminology.  All uses changed.
79408         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
79409         (strip_trailing_slashes): Use bool for booleans.
79410         * lib/stripslash.c (strip_trailing_slashes): Likewise.
79411
79412         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
79413         sometimes returns a positive errno value even when it succeeds.
79414         (print_errno_message) [!LIBC]: Fall back on strerror if
79415         __strerror_r fails.
79416
79417         * lib/path-concat.c (mempcpy): Don't define if a system header defines
79418         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
79419         (longest_relative_suffix): New function.
79420         (path_concat): Use it.  Assume first argument is not NULL.
79421         Port to DOS.  Omit redundant separators.
79422         Report an error instead of returning NULL.
79423         Use mempcpy instead of memcpy.
79424         (xpath_concat): Remove: not declared or used.
79425
79426         * lib/same.h: Include <stdbool.h>
79427         (same_name): Return bool, not int.
79428         * lib/same.c (same_name): Likewise.
79429         (errno): Don't declare; we assume C89 or better now.
79430
79431         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
79432         if not already defined.
79433
79434         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
79435         * lib/dup-safer.c (errno): Likewise.
79436
79437 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
79438
79439         Merge from coreutils.
79440         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
79441         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
79442         * modules/path-concat: Don't depend on strdup.
79443
79444 2004-08-03  Simon Josefsson  <jas@extundo.com>
79445
79446         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
79447         * lib/progname.h: Don't include stdbool.h.
79448
79449 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79450
79451         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
79452         * MODULES.html.sh (func_all_modules): Remove fatal.
79453
79454 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79455
79456         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
79457
79458 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
79459
79460         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
79461         working.
79462
79463 2004-08-02  Simon Josefsson  <jas@extundo.com>
79464
79465         * lib/getsubopt.h: New file, with comments from Bruno Haible.
79466         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
79467         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
79468
79469 2004-08-01  Simon Josefsson  <jas@extundo.com>
79470
79471         * lib/xgetdomainname.c: Include stdlib.h, for free().
79472
79473 2004-07-19  Bruno Haible  <bruno@clisp.org>
79474
79475         * MODULES.html.sh (func_all_modules): Add dummy.
79476
79477 2004-07-16  Simon Josefsson  <jas@extundo.com>
79478
79479         * modules/dummy: New file.
79480
79481 2004-07-16  Simon Josefsson  <jas@extundo.com>
79482
79483         * lib/dummy.c: New file.
79484
79485 2004-07-16  Bruno Haible  <bruno@clisp.org>
79486
79487         * lib/backupfile.h: Add extern "C" for C++.
79488         * lib/closeout.h: Likewise.
79489         * lib/copy-file.h: Likewise.
79490         * lib/findprog.h: Likewise.
79491         * lib/full-write.h: Likewise.
79492         * lib/pathname.h: Likewise.
79493         * lib/progname.h: Likewise.
79494         * lib/stpcpy.h: Likewise.
79495         * lib/stpncpy.h: Likewise.
79496         * lib/strcase.h: Likewise.
79497         * lib/strstr.h: Likewise.
79498         * lib/xalloc.h: Likewise.
79499
79500         * lib/mbswidth.h: Add extern "C" for C++.
79501         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
79502
79503 2004-07-13  Robert Millan  <robertmh@gnu.org>
79504
79505         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
79506
79507 2004-07-09  Simon Josefsson  <jas@extundo.com>
79508
79509         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
79510         failed without this.)
79511
79512 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79513
79514         * modules/chown (Files): Add lib/fchown-stub.c, since
79515         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
79516
79517 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79518
79519         * lib/fchown-stub.c: New file.
79520
79521 2004-06-24  Jim Meyering  <jim@meyering.net>
79522
79523         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
79524
79525 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79526
79527         * modules/argz: Omit "#include".
79528
79529         * MODULES.html.sh (func_all_modules): Add calloc, to match
79530         2004-06-01 addition of calloc module.
79531
79532 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79533
79534         * m4/argz.m4: New file, which is autoupdated from libtool.
79535
79536 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79537
79538         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
79539         libtool.
79540
79541 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79542
79543         * config/srclist-update: Don't insist on "USA." before the
79544         close-comment, as libtool omits the period and puts the */ on a
79545         separate line.
79546         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
79547         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
79548
79549 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
79550
79551         * modules/argz: New file.
79552         * MODULES.html.sh (func_all_modules): Add argz.
79553
79554 2004-06-12  Jim Meyering  <jim@meyering.net>
79555         and  Paul Eggert  <eggert@cs.ucla.edu>
79556
79557         * modules/hash (Files): Add lib/xalloc.h.
79558         * modules/pipe (Depends-on): Add wait-process.
79559         * modules/stat (Depends-on): Add xalloc.
79560         * modules/userspec (Files): Add lib/userspec.h.
79561         * modules/xstrto
79562
79563         Upgrade from gettext-0.13.
79564         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
79565         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
79566         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
79567
79568 2004-06-10  Jim Meyering  <jim@meyering.net>
79569
79570         * lib/calloc.c: New file.
79571
79572 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
79573
79574         * lib/getdate.y (yylex): Allow space between sign and number.
79575         Problem reported by Dan Jacobson.
79576
79577 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79578
79579         Merge from coreutils CVS.
79580
79581         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
79582         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
79583         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
79584         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
79585         xstrtol.m4: Fix copyright date and/or serial number.
79586
79587         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
79588         See if we need an fchown replacement.
79589         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
79590         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
79591         and use the replacement function if we detect either defect.
79592
79593         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
79594         gl_UTIMECMP.
79595
79596 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
79597         and  Jim Meyering  <jim@meyering.net>
79598
79599         Merge from coreutils CVS.
79600
79601         * lib/stat-macros.h: New file, with contents from file-type.h
79602         and coreutils' system.h.
79603         * lib/file-type.c: Include "stat-macros.h".
79604         * lib/file-type.h (file_type): Move all macro definitions to new file,
79605         stat-macros.h.
79606
79607         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
79608         Wrap old code with this conditional.
79609         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
79610         function that does not dereference symlinks.
79611         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
79612
79613         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
79614         dependency problems.
79615         (xreadlink): Accept new arg SIZE, for efficiency.
79616         All decls and uses changed.
79617         * lib/xreadlink.h: Include <stddef.h>, for size_t.
79618
79619         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
79620         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
79621
79622         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
79623         sysexits.h.
79624
79625 2004-06-01  Jim Meyering  <jim@meyering.net>
79626
79627         * m4/calloc.m4: New file.
79628
79629 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
79630
79631         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
79632         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
79633         Also, fix a typo in a diagnostic.
79634
79635 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79636
79637         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
79638         or AC_FUNC_REALLOC.
79639
79640 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
79641
79642         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
79643         macros to be defined.
79644         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
79645         the allocator returns NULL because the requested size is zero.
79646
79647 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79648
79649         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
79650         var.  Add comment explaining why libc still defines it.  This
79651         merges the following patch from glibc:
79652         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
79653
79654 2004-05-20  Andreas Schwab  <schwab@suse.de>
79655
79656         * m4/free.m4: Replace free if it not known to work, not the other
79657         way round.
79658
79659 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79660
79661         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
79662         present in glibc since revision 1.1 of this file.
79663         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
79664         obstack_alignment_mask, obstack_alloc, obstack_base,
79665         obstack_blank, obstack_blank_fast, obstack_chunk_size,
79666         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
79667         obstack_grow0, obstack_init, obstack_int_grow,
79668         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
79669         obstack_next_free, obstack_object_size, obstack_ptr_grow,
79670         obstack_ptr_grow_fast, obstack_room): Remove declarations of
79671         nonexistent functions.
79672
79673 2004-05-18  Karl Berry  <karl@gnu.org>
79674
79675         * config/srclist.txt: break link for vasnprintf.c.
79676
79677 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79678
79679         Port obstack to the AS/400, where pointers are 16 bytes wide and
79680         you cannot cast an integer to a valid pointer.  This patch is
79681         currently waiting to be integrated into glibc; see
79682         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
79683
79684         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
79685         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
79686         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
79687         (struct obstack): temp member is now a union of a pointer and
79688         an integer, instead of an integer.  All integer uses changed.
79689         This does not affect the physical layout of struct obstack,
79690         except on hosts (like the AS/400) where the size or alignment of
79691         void * is greater than that of ptrdiff_t.
79692         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
79693         __STDC__)]: Store temporary in pointer member of union, not
79694         integer member.
79695         * lib/obstack.c: Include <stddef.h>, for offsetof.
79696         (struct fooalign): Remove; it doesn't need a name.
79697         (union fooround): Change double to long double, and add void *.
79698         (DEFAULT_ALIGNMENT): Use offsetof to compute.
79699         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
79700         not a macro.  Hence the values are always int; so remove all
79701         casts-to-int in uses.
79702
79703 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
79704
79705         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
79706         we can get this patch merged into glibc.
79707
79708 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79709             Paul Eggert  <eggert@cs.ucla.edu>
79710
79711         * m4/argp: Depend on alloca.
79712
79713 2004-05-17  Derek R. Price  <derek@ximbiot.com>
79714             Paul Eggert  <eggert@cs.ucla.edu>
79715
79716         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
79717         freecoding.
79718
79719 2004-05-17  Bruno Haible  <bruno@clisp.org>
79720
79721         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
79722         precision that consists of a '.' followed by an empty digit string.
79723         Patch by Tor Lillqvist <tml@iki.fi>.
79724
79725 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79726
79727         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
79728         for backward compatibility with older code.  We need our own
79729         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
79730         it under some other name, and our alloca.h will define it.
79731
79732 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
79733             Derek Price  <derek@ximbiot.com>
79734
79735         * lib/alloca.c: Include <alloca.h>, to get our interface.
79736         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
79737         include <alloca.h> first.  Use C89 prototype for alloca; this
79738         requires including <stddef.h> for size_t.  Use extern "C" if C++.
79739         Use #elif for simplicity, since we can assume C89 now.
79740         Don't try to source the system alloca.h since it will not be found
79741         and to prevent recursively including its replacement.
79742         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
79743         * lib/regex.c: Likewise.
79744
79745 2004-05-16  Derek Price  <derek@ximbiot.com>
79746             Paul Eggert  <eggert@cs.ucla.edu>
79747
79748         getline cleanup.  This changes the getndelim2 API: both order of
79749         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
79750         no delimiter).
79751
79752         * lib/getline.c: Don't include stddef.h or stdio.h, since our
79753         interface does that.
79754         (getline): Always use getdelim, so that we don't have two
79755         copies of this code.
79756         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
79757         if available.
79758         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
79759         (GETNDELIM2_MAXIMUM): New macro.
79760         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
79761         instead of the old practice of delim2==0.  All callers changed.
79762         Return -1 on overflow, instead of returning junk.
79763         Do not set *linesize unless allocation succeeds.
79764         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
79765         that we include sys/types.h.
79766         * lib/getnline.h: Likewise.
79767         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
79768         (getndelim2): Reorder arguments.
79769         * lib/getnline.c (getnline, getndelim):
79770         Don't discard the NMAX argument.
79771         (getnline): Invoke getndelim, to avoid code duplication.
79772         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
79773         of (size_t) -1 by callers of the getnline family.
79774
79775 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79776
79777         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
79778         Check for gettimeofday.
79779         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
79780         Check for settimeofday, stime.
79781
79782 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79783
79784         * lib/nanosleep.c (suspended): Change its type from int to
79785         sig_atomic_t volatile.
79786         (first_call): Make it private to rpl_nanosleep, and have it
79787         be zero initially as that's a bit faster.
79788         (my_usleep): Round up fractional times instead of truncating them,
79789         as this is the usual meaning for 'sleep'.
79790
79791         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
79792         doesn't work.
79793         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
79794         (ENOSYS): Define if not defined.
79795         (settime): Fall back on stime if it exists and settimeofday fails.
79796         But don't bother with fallbacks if a method fails with errno == EPERM.
79797
79798 2004-05-11  Jim Meyering  <jim@meyering.net>
79799
79800         Prior to this change, the save_cwd caller required read access to the
79801         current directory on most systems (ones with the fchdir function).
79802
79803         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
79804         fails, try write-only, and finally, resort to using xgetcwd.
79805
79806 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79807
79808         * lib/obstack.c, obstack.h: Import changes from libc.
79809
79810 2004-04-28  Bruno Haible  <bruno@clisp.org>
79811
79812         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
79813         also implicitly appends .exe to executables.
79814         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
79815         accepts Windows pathnames.
79816         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79817         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79818         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
79819         Treat Cygwin like Windows, since it now accepts Windows pathnames.
79820         Reported by Derek Robert Price <derek@ximbiot.com>.
79821
79822 2004-04-21  Karl Berry  <karl@gnu.org>
79823
79824         * config/srclist.txt (localcharset.c): break sync.
79825
79826 2004-04-20  Paul Eggert  <eggert@twinsun.com>
79827
79828         * m4/host-os.m4: Add a copyright notice.
79829
79830 2004-04-20  Jim Meyering  <jim@meyering.net>
79831
79832         Change UTILS_ to gl_ in AC_DEFINE'd names.
79833         Change utils_- and jm_-prefixed variables, too.
79834         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
79835         UTILS_FUNC_MKDIR_TRAILING_SLASH.
79836         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
79837
79838         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
79839         Don't emit trailing blanks.
79840         Also rename jm_-prefixed variables to have gl_ prefix.
79841
79842         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
79843         Also rename jm_-prefixed variables to have gl_ prefix.
79844
79845         * m4/jm-macros.m4: Reflect the renamings.
79846         * m4/prereq.m4: Likewise.
79847
79848 2004-04-20  Jim Meyering  <jim@meyering.net>
79849
79850         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
79851         memory.
79852
79853 2004-04-20  Jim Meyering  <jim@meyering.net>
79854             Bruno Haible  <bruno@clisp.org>
79855
79856         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
79857         memory when realloc fails.
79858
79859 2004-04-19  Jim Meyering  <jim@meyering.net>
79860
79861         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
79862         now that readutmp.c may call `free (0)'.
79863
79864 2004-04-19  Bruno Haible  <bruno@clisp.org>
79865
79866         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
79867         * m4/inttypes_h.m4: Likewise.
79868         * m4/stdint_h.m4: Likewise.
79869         * m4/intmax_t.m4: Likewise.
79870         * m4/uintmax_t.m4: Likewise.
79871
79872 2004-04-18  Jim Meyering  <jim@meyering.net>
79873
79874         * m4/prereq.m4: Don't forbid jm_ prefix.
79875
79876         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
79877         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
79878         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
79879         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
79880         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
79881         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
79882         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
79883         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
79884         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
79885         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
79886         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
79887         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
79888         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
79889         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
79890         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
79891         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
79892         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
79893         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
79894         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
79895
79896 2004-04-18  Jim Meyering  <jim@meyering.net>
79897
79898         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
79899         failure, don't leak memory and do call END_UTMP_ENT.
79900
79901 2004-04-16  Jim Meyering  <jim@meyering.net>
79902
79903         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
79904         coreutils' stat program.
79905         (gl_PREREQ): Don't require jm_PREREQ_STAT.
79906
79907 2004-04-11  Paul Eggert  <eggert@twinsun.com>
79908
79909         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
79910         C89.
79911         (CHAR_BIT): Remove, since we assume C89.
79912         Include <stdint.h> if available, as per current Autoconf CVS advice.
79913
79914 2004-03-31  Jim Meyering  <jim@meyering.net>
79915
79916         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
79917         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
79918         * m4/xalloc.m4: Likewise.
79919
79920 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79921
79922         Merge from coreutils.
79923
79924         * m4/inttostr.m4: New file.
79925         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
79926         Require AM_STDBOOL_H and gl_TIMESPEC instead.
79927         Require gl_CLOCK_TIME.
79928         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
79929
79930 2004-03-30  Paul Eggert  <eggert@twinsun.com>
79931
79932         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
79933         not bool, to be more consistent with Unix conventions.
79934         Suggested by Bruno Haible.
79935
79936         Merge from coreutils.
79937
79938         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
79939         * lib/umaxtostr.c: New files.
79940
79941         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
79942         the usual <time.h> dance.
79943         (get_date): Change signature to support fractional time stamps.
79944         All callers changed.
79945         * lib/getdate.y: Include "getdate.h" first, as we can now
79946         assume C89 and don't need to worry about 'const'.
79947         Similarly, include "unlocked-io.h" near start, not in middle.
79948         Include <limits.h>.
79949         (textint.value): Use long int rather than int.
79950         (textint.digits): Use size_t rather than int.
79951         (BILLION, LOG10_BILLION): New constants.
79952         (parser_control): New member rel_ns.  Members day_ordinal,
79953         time_zone, month, day, hour, minutes, rel_year, rel_month,
79954         rel_day, rel_hour, rel_minutes, rel_seconds
79955         are now long int, not int.  Member seconds is now struct timespec,
79956         not int.  New member timespec_seen.  Members dates_seen, days_seen,
79957         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
79958         not int.
79959         (%union.intval): Now long int, not int.
79960         New member timespec.
79961         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
79962         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
79963         (spec): Now is a timespec or an item list.
79964         (timespec, items): New nonterminals.
79965         (time, rel, relunit, number, get_date):
79966         Add support for fractional seconds.
79967         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
79968         (gmtime, localtime, mktime): Remove decls; not needed with C89.
79969         (to_hour): First arg is now long int, not int.
79970         (to_year): Returns long int, not int.
79971         Don't treat year -70 like 70.
79972         (tm_diff): Returns long int, not int.
79973         (lookup_word): Use bool instead of int when appropriate.
79974         (yylex): Use size_t for count, not int.
79975         Detect overflow when parsing large integer constants.
79976         Add support for fractions.
79977         (get_date): Make pointers 'const' if possible.
79978         Use more-portable code to detect integer overflow.
79979         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
79980         Don't use ctime; it's not reliable if the year has >4 digits.
79981
79982         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
79983         This is for compatibility with BSD.
79984
79985         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
79986         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
79987         From coreutils' system.h.
79988
79989         * lib/userspec.c: Don't include "posixver.h".
79990         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
79991         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
79992         compatible extension.  Simplify code by removing a boolean int
79993         that was always nonzero if a string was nonnull.
79994
79995 2004-03-30  Jim Meyering  <jim@meyering.net>
79996
79997         Merge from coreutils.
79998
79999         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
80000         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
80001         on some systems one must include <grp.h> before it.
80002         Reported by Christian Krackowizer.
80003
80004 2004-03-30  Jim Meyering  <jim@meyering.net>
80005
80006         Merge from coreutils.
80007
80008         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
80009
80010         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
80011         an empty input stream.
80012
80013         * lib/readtokens.c: Include <stdbool.h>.
80014         (readtoken): Use `size_t' rather than int/long.
80015         All callers adjusted.
80016         Use `bool' rather than `int' where appropriate.
80017         Use memset rather than an explicit loop.
80018         Use x2nrealloc rather than xrealloc.
80019         Allow the use of `\0' as a delimiter.
80020         (readtokens): Likewise.
80021         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
80022
80023 2004-03-30  Jim Meyering  <jim@meyering.net>
80024
80025         * m4/realloc.m4: Remove file, since now it does no more than
80026         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
80027         the `configure.ac' section of module/realloc.
80028         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
80029
80030 2004-03-30  Bruno Haible  <bruno@clisp.org>
80031
80032         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
80033         nonnull.
80034
80035 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80036
80037         Merge changes to getloadavg.c from coreutils and Emacs.
80038
80039         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
80040         Define to an expression, not to the empty string.
80041         Include cloexec.h and xalloc.h.
80042         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
80043         Use set_cloexec_flag rather than rolling our own.
80044         * lib/cloexec.c, lib/cloexec.h: New files.
80045
80046 2004-03-29  Paul Eggert  <eggert@twinsun.com>
80047
80048         * m4/cloexec.m4: New file.
80049
80050 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80051
80052         * lib/getopt.h: Sync with libc CVS.
80053
80054 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80055             Bruno Haible  <bruno@clisp.org>
80056
80057         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
80058         mbswidth.
80059
80060 2004-03-18  Paul Eggert  <eggert@twinsun.com>
80061             Bruno Haible  <bruno@clisp.org>
80062
80063         * lib/mbswidth.h: Include <wchar.h> only if
80064         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
80065         <wchar.h>.
80066         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
80067
80068 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80069
80070         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
80071         Sync with libc CVS.
80072         * lib/getopt_int.h: New file, also synced from libc.
80073
80074 2004-03-09  Paul Eggert  <eggert@twinsun.com>
80075
80076         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
80077         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
80078         Bring back getopt.c, getopt.h, getopt1.c.
80079
80080 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80081
80082         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
80083         All uses changed.  Check for sa_sigaction member; this fixes
80084         a bug first reported by Jason Andrade in
80085         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80086
80087 2004-03-07  Paul Eggert  <eggert@twinsun.com>
80088
80089         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
80090         '#if' expressions.  Unlike the code it replaces, it does not
80091         depend on (defined _SC_PAGESIZE).  However, it does depend on
80092         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
80093         first reported by Jason Andrade in
80094         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
80095
80096 2004-02-25  Simon Josefsson  <jas@extundo.com>
80097
80098         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
80099
80100 2004-02-25  Simon Josefsson  <jas@extundo.com>
80101
80102         * lib/strdup.h: New file.
80103         * lib/strdup.c: Include it.
80104         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
80105         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
80106
80107 2004-02-23  Karl Berry  <karl@gnu.org>
80108
80109         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
80110         (from fencepost.gnu.org:/gd/gnuorg).
80111
80112 2004-02-23  Karl Berry  <karl@gnu.org>
80113
80114         * config/srclistvars.sh (GNUORG) [karl]: redefine.
80115         * config/srclist.txt: add maintain/standards documents.
80116
80117 2004-02-18  Bruno Haible  <bruno@clisp.org>
80118
80119         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
80120         Reported by Derek Robert Price <derek@ximbiot.com>.
80121
80122 2004-02-16  Karl Berry  <karl@gnu.org>
80123
80124         * config/mkinstalldirs, install-sh: update from automake.
80125
80126 2004-02-06  Karl Berry  <karl@gnu.org>
80127
80128         * m4/po.m4: update from gettext 0.14.1.
80129
80130 2004-02-06  Karl Berry  <karl@gnu.org>
80131
80132         * lib/config.charset: update from gettext 0.14.1.
80133
80134 2004-02-05  Paul Eggert  <eggert@twinsun.com>
80135
80136         Add comments and code, prompted by suggestions from Bruno Haible
80137         for sh-quote.
80138         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
80139         describing the enum quoting_style values.
80140         * lib/quotearg.c (quotearg_alloc): New function.
80141         (quotearg_buffer_restyled): Treat lone { and } as special.
80142         Treat = as special.  Work around bug with older shells
80143         that "see" a '\' that is really the 2nd byte of a multibyte char.
80144         Quote empty string with shell_quoting_style.
80145
80146 2004-02-03  Bruno Haible  <bruno@clisp.org>
80147
80148         * m4/pipe.m4: New file, from GNU gettext.
80149
80150 2004-02-03  Bruno Haible  <bruno@clisp.org>
80151
80152         * lib/pipe.h: New file, from GNU gettext.
80153         * lib/pipe.c: New file, from GNU gettext.
80154
80155 2004-01-27  Bruno Haible  <bruno@clisp.org>
80156
80157         * m4/execute.m4: New file, from GNU gettext.
80158
80159 2004-01-27  Bruno Haible  <bruno@clisp.org>
80160
80161         * lib/execute.h: New file, from GNU gettext.
80162         * lib/execute.c: New file, from GNU gettext.
80163         * lib/w32spawn.h: New file, from GNU gettext.
80164
80165 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80166
80167         Merge from diffutils.
80168
80169         * lib/file-type.c (file_type): Add typed memory objects.
80170         * lib/file-type.h (S_TYPEISTMO): New macro.
80171
80172         * lib/c-stack.h (c_stack_action): Remove argv argument.
80173         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
80174         (die): Don't calculate message unless segv_action returns.
80175         (get_stack_location, min_address_from_argv, max_address_from_argv,
80176         volatile stack_base, volatile_stack_size): Remove.
80177         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
80178         that every segmentation violation is a stack overflow.  (Ouch!)
80179         See Debian bug 136249 (still outstanding) for more info about why
80180         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
80181
80182 2004-01-24  Paul Eggert  <eggert@twinsun.com>
80183
80184         Exit-status fix from coreutils.
80185
80186         Use exit_failure consistently in place of EXIT_FAILURE,
80187         so that program exit statuses are consistent on failure.
80188
80189         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
80190         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
80191         * lib/argmatch.h: Comment fix to match the above.
80192         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
80193         Now a macro referring to exit_failure, instead of a separate
80194         variable.  Include "exitfail.h" to get it.
80195         * lib/xstrtol.h: Include "exitfail.h".
80196         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
80197
80198         * lib/long-options.c (parse_long_options): Use prototype
80199         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
80200         for clarity.
80201
80202 2004-01-21  Jim Meyering  <jim@meyering.net>
80203
80204         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
80205         so as not to conflict with a different-sized __mktime_internal
80206         function in GNU libc.
80207         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
80208         Problem building statically-linked `ls' reported by Michael Brunnbauer.
80209
80210 2004-01-20  Karl Berry  <karl@gnu.org>
80211
80212         * config/config.guess: update from config.
80213
80214         * config/srclistvars.sh: GNUWWWLICENSES for karl.
80215
80216 2004-01-20  Bruno Haible  <bruno@clisp.org>
80217
80218         Safer stack allocation.
80219         * lib/setenv.c: Include allocsa.h.
80220         (alloca): Remove fallback definition.
80221         (freea): Remove macro.
80222         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
80223         instead of freea.
80224
80225 2004-01-20  Bruno Haible  <bruno@clisp.org>
80226
80227         * m4/eealloc.m4: New file, from GNU gettext.
80228
80229 2004-01-20  Bruno Haible  <bruno@clisp.org>
80230
80231         * m4/allocsa.m4: New file, from GNU gettext.
80232
80233 2004-01-20  Bruno Haible  <bruno@clisp.org>
80234
80235         * lib/xallocsa.h: New file, from GNU gettext.
80236         * lib/xallocsa.c: New file, from GNU gettext.
80237
80238 2004-01-20  Bruno Haible  <bruno@clisp.org>
80239
80240         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
80241
80242 2004-01-20  Bruno Haible  <bruno@clisp.org>
80243
80244         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
80245         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
80246         specially.
80247
80248 2004-01-20  Bruno Haible  <bruno@clisp.org>
80249
80250         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
80251         patch.
80252
80253 2004-01-20  Bruno Haible  <bruno@clisp.org>
80254
80255         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
80256
80257 2004-01-20  Bruno Haible  <bruno@clisp.org>
80258
80259         * lib/eealloc.h: New file.
80260
80261 2004-01-20  Bruno Haible  <bruno@clisp.org>
80262
80263         * lib/binary-io.h: Avoid warnings on Cygwin.
80264
80265 2004-01-20  Bruno Haible  <bruno@clisp.org>
80266
80267         * lib/allocsa.h: New file, from GNU gettext.
80268         * lib/allocsa.c: New file, from GNU gettext.
80269
80270 2004-01-18  Karl Berry  <karl@gnu.org>
80271
80272         * doc/gpl.texi, doc/lgpl.texi: new files.
80273
80274 2004-01-18  Karl Berry  <karl@gnu.org>
80275
80276         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
80277         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
80278
80279 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80280
80281         Merge from coreutils.
80282
80283         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
80284         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
80285         (gl_DEFAULT_POSIX2_VERSION): Move
80286         the documentation from 'configure' into 'config.hin',
80287         so that 'configure --help' isn't burdened by it and
80288         we don't have to worry about its formatting there.
80289         Reword the documentation so that it's more succinct
80290         and can be run together into a single paragraph.
80291         * m4/same.m4 (gl_SAME): Check for pathconf.
80292
80293 2004-01-15  Paul Eggert  <eggert@twinsun.com>
80294
80295         Merge from coreutils.
80296
80297         * lib/posixver.c: Include posixver.h.
80298
80299         * lib/same.c: Include <stdbool.h>, <limits.h>.
80300         (_POSIX_NAME_MAX): Define if not defined.
80301         (MIN): New macro.
80302         (same_name): If file names are silently truncated, report
80303         that the file names are the same if they are the same after
80304         the silent truncation.
80305
80306         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
80307         conversion function.
80308         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
80309         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
80310         longer needed.
80311
80312 2004-01-15  Jim Meyering  <jim@meyering.net>
80313
80314         Merge from coreutils.
80315
80316         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
80317         if no library is required.
80318         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
80319         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
80320         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
80321         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
80322         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
80323         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
80324         value, $ac_cv_search_crypt, if it's "none required".
80325         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
80326         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
80327         not gl_FUNC_GETLOADAVG.
80328         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
80329         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
80330
80331 2004-01-15  Jim Meyering  <jim@meyering.net>
80332
80333         Merge from coreutils.
80334
80335         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
80336         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
80337         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
80338
80339         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
80340         optional configure-time default.
80341
80342         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80343
80344         * lib/xreadlink.c (xreadlink): Correct outdated comment.
80345
80346 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
80347
80348         Merge from coreutils.
80349
80350         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
80351         value, $ac_cv_search_nanosleep, if it's "none required".
80352
80353 2004-01-14  Paul Eggert  <eggert@twinsun.com>
80354
80355         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
80356         with like-named macro in fnmatch.c.
80357         (EXT): Use an internal constant instead.
80358
80359         Merge fnmatch patches from glibc.
80360         * lib/fnmatch.c (mbsinit): Remove define.
80361         Add libc_hidden_ver (__fnmatch, fnmatch).
80362         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
80363         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
80364
80365 2004-01-14  Karl Berry  <karl@gnu.org>
80366
80367         * config/install-sh: update from automake.
80368
80369 2004-01-13  Karl Berry  <karl@gnu.org>
80370
80371         * config/install-sh: update from automake.
80372
80373 2004-01-09  Karl Berry  <karl@gnu.org>
80374
80375         * config/install-sh: update from automake.
80376
80377 2004-01-05  Karl Berry  <karl@gnu.org>
80378
80379         * config/config.{sub,guess}: update from config.
80380
80381 2003-12-31  Karl Berry  <karl@gnu.org>
80382
80383         * config/depcomp: update from automake.
80384
80385 2003-12-14  Karl Berry  <karl@gnu.org>
80386
80387         * lib/config.charset: update from gettext-runtime.
80388
80389 2003-12-03  Paul Eggert  <eggert@twinsun.com>
80390
80391         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
80392         Bug reported by Alfred M. Szmidt.
80393
80394 2003-12-03  Bruno Haible  <bruno@clisp.org>
80395
80396         * m4/gettext.m4: Upgrade from gettext-0.13.
80397         * m4/po.m4: Upgrade from gettext-0.13.
80398         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
80399         * m4/intmax.m4: New file, from gettext-0.13.
80400         * m4/printf-posix.m4: New file, from gettext-0.13.
80401
80402 2003-11-29  Karl Berry  <karl@gnu.org>
80403
80404         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
80405
80406 2003-11-25  Paul Eggert  <eggert@twinsun.com>
80407             Bruno Haible  <bruno@clisp.org>
80408
80409         * lib/printf-parse.h: Don't include sys/types.h.
80410         (ARG_NONE): New macro.
80411         (char_directive): Change type of *arg_index fields to size_t.
80412         * lib/printf-parse.c: Don't include sys/types.h.
80413         (SSIZE_MAX): Remove macro.
80414         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
80415         Remove unnecessary overflow check.
80416         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
80417         fields.
80418
80419 2003-11-25  Bruno Haible  <bruno@clisp.org>
80420
80421         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
80422
80423 2003-11-25  Bruno Haible  <bruno@clisp.org>
80424
80425         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
80426         gt_TYPE_SSIZE_T.
80427
80428 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80429
80430         * modules/alloca: Remove dependency on xalloc.
80431
80432 2003-11-24  Paul Eggert  <eggert@twinsun.com>
80433
80434         * lib/alloca.c: Remove dependency on xalloc module.
80435         (xalloc_die): Remove.
80436         (memory_full) [!defined emacs]: New macro.
80437         [!defined emacs]: Don't include xalloc.h.
80438         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
80439         address arithmetic overflows.  Change datatypes a bit to avoid
80440         unnecessary casts.
80441
80442 2003-11-22  Jim Meyering  <jim@meyering.net>
80443
80444         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
80445         s/size/size_t/.
80446
80447 2003-11-21  Karl Berry  <karl@gnu.org>
80448
80449         * config/config.{sub,guess}: update from config.
80450
80451 2003-11-18  Karl Berry  <karl@gnu.org>
80452
80453         * config/config.{sub,guess}: update from config.
80454
80455         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
80456
80457 2003-11-17  Paul Eggert  <eggert@twinsun.com>
80458
80459         * README: Mention that S+T cannot overflow if S is the size of
80460         an existing object and T is sufficiently small.
80461
80462 2003-11-17  Jim Meyering  <jim@meyering.net>
80463
80464         On systems without utime and without a utimes function capable of
80465         dealing with a NULL struct utimbuf* argument, this utime replacement
80466         could -- in unusual circumstances -- leak a file descriptor.
80467         * lib/utime.c: Include <unistd.h> and <errno.h>.
80468         (utime_null): Be sure to close `fd' and to preserve errno.
80469         Reported by Geoff Collyer via Arnold Robbins.
80470
80471 2003-11-17  Bruno Haible  <bruno@clisp.org>
80472
80473         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
80474         (Depends-on): Add xsize.
80475
80476 2003-11-17  Bruno Haible  <bruno@clisp.org>
80477
80478         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
80479
80480 2003-11-17  Bruno Haible  <bruno@clisp.org>
80481
80482         * lib/vasnprintf.c (alloca): Remove fallback definition.
80483         (freea): Remove definition.
80484         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
80485         Reported by Paul Eggert.
80486
80487 2003-11-16  Paul Eggert  <eggert@twinsun.com>
80488             Bruno Haible  <bruno@clisp.org>
80489
80490         Protect against address arithmetic overflow.
80491         * lib/printf-args.h: Include stddef.h.
80492         (arguments): Change type of field 'count' to size_t.
80493         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
80494         'unsigned int' where appropriate.
80495         * lib/printf-parse.h: Include sys/types.h.
80496         (char_directive): Change type of *arg_index fields to ssize_t.
80497         (char_directives): Change type of fields 'count', max_*_length to
80498         size_t.
80499         * lib/printf-parse.c: Include sys/types.h and xsize.h.
80500         (SSIZE_MAX): Define fallback value.
80501         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
80502         instead of 'int' where appropriate. Check a_allocated, d_allocated
80503         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
80504         * lib/vasnprintf.c: Include xsize.h.
80505         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
80506         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
80507         overflow. Avoid wraparound when converting a width or precision from
80508         decimal to binary.
80509
80510 2003-11-16  Bruno Haible  <bruno@clisp.org>
80511
80512         Update from GNU gettext.
80513         * lib/printf-parse.c: Generalize to it can be compiled for wide
80514         strings.
80515         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
80516         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
80517         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
80518         SNPRINTF): New macros.
80519         Don't include <alloca.h> if the file is used inside libintl.
80520         (local_wcslen): New function, for Solaris 2.5.1.
80521         (VASNPRINTF): Use it instead of wcslen.
80522
80523 2003-11-16  Bruno Haible  <bruno@clisp.org>
80524
80525         * lib/xsize.h (xmax): New function.
80526         (xsum, xsum3, xsum4): Declare as "pure" functions.
80527
80528 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80529
80530         * modules/xalloc (Files): Undo latest change, since xalloc.h
80531         no longer needs SIZE_MAX or PTRDIFF_MAX.
80532
80533 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80534
80535         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
80536         gl_PTRDIFF_MAX.
80537
80538 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80539
80540         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
80541         "return", to pacify some unknown compiler.  Problem reported
80542         by Joerg Schilling.
80543
80544 2003-11-12  Paul Eggert  <eggert@twinsun.com>
80545
80546         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
80547         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
80548         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
80549         heuristic is just as accurate as far as we know, and it removes a
80550         dependency on size_max.m4 and ptrdiff_max.m4.
80551
80552 2003-11-11  Bruno Haible  <bruno@clisp.org>
80553
80554         * modules/xsize (Files): Add m4/size_max.m4.
80555         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
80556
80557 2003-11-11  Bruno Haible  <bruno@clisp.org>
80558
80559         * m4/size_max.m4: New file.
80560         * m4/ptrdiff_max.m4: New file.
80561         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
80562         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
80563         (gl_XALLOC): Invoke it.
80564
80565 2003-11-11  Bruno Haible  <bruno@clisp.org>
80566
80567         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
80568         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
80569         defined.
80570
80571 2003-11-10  Paul Eggert  <eggert@twinsun.com>
80572
80573         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
80574         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
80575         rejected some allocations of exactly SIZE_MAX - 2 bytes.
80576         From Bruno Haible.
80577         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
80578         not (size_t) -1, since it's defined here.
80579
80580 2003-11-09  Karl Berry  <karl@gnu.org>
80581
80582         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
80583
80584 2003-11-06  Paul Eggert  <eggert@twinsun.com>
80585
80586         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
80587         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
80588         Reject sizes of exactly SIZE_MAX bytes.
80589         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
80590         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
80591
80592 2003-11-05  Bruno Haible  <bruno@clisp.org>
80593
80594         * lib/xsize.h: Include limits.h, to avoid a possible collision with
80595         SIZE_MAX defined in <limits.h> on Solaris.
80596
80597 2003-11-04  Jim Meyering  <jim@meyering.net>
80598
80599         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
80600         variable names, rather than @VAR@.
80601         * modules/poll: Likewise.
80602
80603 2003-11-04  Bruno Haible  <bruno@clisp.org>
80604
80605         * modules/xsize: New file.
80606         * modules/linebreak: Depend on xsize.
80607         * MODULES.html.sh (func_all_modules): Add xsize.
80608
80609 2003-11-04  Bruno Haible  <bruno@clisp.org>
80610
80611         * m4/xsize.m4: New file.
80612
80613 2003-11-04  Bruno Haible  <bruno@clisp.org>
80614
80615         * lib/xsize.h: New file.
80616         * lib/linebreak.c: Include xsize.h.
80617         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
80618         argument for overflow.
80619         Suggested by Paul Eggert.
80620
80621 2003-11-03  Karl Berry  <karl@gnu.org>
80622
80623         * config/config.{guess,sub}: update from config.
80624
80625 2003-11-03  Jim Meyering  <jim@meyering.net>
80626
80627         * modules/userspec (lib_SOURCES): Add userspec.h.
80628         (Include): Add "userspec.h".
80629         Improve description.
80630
80631 2003-11-03  Jim Meyering  <jim@meyering.net>
80632
80633         * lib/userspec.c: Include "userspec.h".
80634         * lib/userspec.h: New file.
80635
80636 2003-11-03  Bruno Haible  <bruno@clisp.org>
80637
80638         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
80639
80640 2003-11-03  Bruno Haible  <bruno@clisp.org>
80641
80642         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
80643         available, to avoid (extremely rare) race condition.
80644         Suggested by Paul Eggert.
80645
80646 2003-11-02  Karl Berry  <karl@gnu.org>
80647
80648         * config/srclist.txt (vasprintf.c): sync broken, sigh.
80649
80650 2003-10-31  Paul Eggert  <eggert@twinsun.com>
80651
80652         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
80653         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
80654         (read_filesystem_list): Set and use me_type_malloced.
80655         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
80656         whatever the type happens to be), for brevity and consistency.
80657         Check for size calculation overflow on Alphas running OSF/1.
80658
80659 2003-10-31  Jim Meyering  <jim@meyering.net>
80660
80661         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
80662
80663         * lib/linebuffer.c: Include <string.h> for declaration of memset.
80664
80665 2003-10-30  Paul Eggert  <eggert@twinsun.com>
80666             Bruno Haible  <bruno@clisp.org>
80667
80668         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
80669         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
80670
80671 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80672
80673         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
80674         netbsd*-gnu*.  Suggested by Robert Millan.
80675
80676 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80677
80678         * modules/group-member: Depend on stdbool.
80679
80680 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80681
80682         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
80683
80684 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80685
80686         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
80687         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
80688         after the 'gnu' in these cases.  This fixes some bugs in the
80689         previous change, and is based on suggestions by Robert Millan.
80690
80691 2003-10-29  Paul Eggert  <eggert@twinsun.com>
80692
80693         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
80694         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
80695         no longer needed.
80696         * lib/quotearg.c (quotearg_n_options): Use it.
80697         * lib/group-member.c: Include <stdbool.h>.
80698         (free_group_info): Arg is now const *; don't free arg.
80699         (get_group_info): Now returns bool and accepts struct group_info *,
80700         rather than returning a malloc'ed struct group_info *.
80701         All uses changed.  Check for overflow in internal size calculation.
80702
80703         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
80704         rather than xmalloc/xrealloc.
80705         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
80706         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
80707         conformance bug: the old code used a pointer after freeing the
80708         storage that it addressed.
80709         * lib/hash.c (hash_initialize): Simplify the code by using
80710         xalloc_oversized rather than doing it by hand.
80711         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
80712         the buffer preserved.  Use free and xmalloc instead.
80713         * lib/quotearg.c (quotearg_n_options): Likewise.
80714         Use a simpler test for size overflow.  Don't use xalloc_oversized
80715         because unsigned int might be wider than size_t (!); this suggests
80716         that we should switch from unsigned int to size_t for slot numbers.
80717
80718 2003-10-28  Paul Eggert  <eggert@twinsun.com>
80719
80720         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
80721         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
80722         NetBSD kernels.  Requested by Richard Stallman.
80723
80724 2003-10-27  Paul Eggert  <eggert@twinsun.com>
80725
80726         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
80727         to allocate the returned structure.  Do not allocate a subarray,
80728         as x2nrealloc will do that.
80729         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
80730         instead of xnrealloc.
80731         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
80732
80733 2003-10-27  Bruno Haible  <bruno@clisp.org>
80734
80735         * lib/stdbool_.h: Better support for BeOS.
80736
80737 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80738
80739         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
80740         now uses inline.
80741
80742 2003-10-26  Paul Eggert  <eggert@twinsun.com>
80743
80744         * lib/xalloc.h (xalloc_oversized): New static inline function, for
80745         callers that want to do their own size-overflow checking.  Include
80746         <stdbool.h>, since xalloc_oversized returns bool.
80747         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
80748         to use xalloc_oversized.
80749
80750         Add two functions x2realloc, x2nrealloc, for programs that grow
80751         arrays dynamically by doubling their sizes.
80752         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
80753         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
80754         New functions.
80755
80756         Port to C99 semantics for 'inline' of external functions.
80757         Bug reported by Bruno Haible.
80758         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
80759         with the old contents of xnmalloc.
80760         (xnmalloc, xmalloc): Use it.
80761         (xnrealloc_inline): New static inline function,
80762         with the old contents of xnrealloc.
80763         (xnrealloc, xrealloc): Use it.
80764
80765         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
80766         that.
80767
80768 2003-10-26  Karl Berry  <karl@gnu.org>
80769
80770         * config/srclist.txt (COPYING.DOC): no longer available from
80771         /gd/gnuorg; don't know where the ultimate source is.
80772
80773 2003-10-25  Paul Eggert  <eggert@twinsun.com>
80774
80775         Fix several address-calculation bugs in the hash modules,
80776         plus some minor code cleanup.
80777
80778         * lib/hash.h: Include <stdbool.h>, for bool.
80779         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
80780         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
80781         hash_get_n_entries, hash_get_max_bucket_length,
80782         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
80783         hash_rehash): Use size_t rather than unsigned.
80784         * lib/hash.c (struct hash_table, hash_get_n_buckets,
80785         hash_get_n_buckets_used, hash_get_n_entries,
80786         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
80787         hash_get_entries, hash_do_for_each, hash_string, is_prime,
80788         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
80789         Likewise.
80790         (SIZE_MAX): Define if not defined.
80791         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
80792         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
80793         hash_print):
80794         Use const * when possible.
80795         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
80796         (check_tuning): Fix bug: if tuning parameters were very close to
80797         0 or 1, rounding errors could have caused subscript violations.
80798         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
80799         (hash_initialize): Add 'fail:' label
80800         to free table and return NULL, and use it to simplify code.
80801         Use calloc rather than clearing the storage ourself.
80802         (hash_initialize, hash_rehash): Check for arithmetic overflow in
80803         buffer size calculations.
80804         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
80805         Include <stddef.h>, for size_t.
80806         * lib/hash-pjw.c (hash_pjw): Likewise.
80807         Switch to method described by Bruno Haible.
80808         Include <limits.h>, for CHAR_BIT.
80809         (SIZE_BITS): New macro.
80810
80811 2003-10-23  Paul Eggert  <eggert@twinsun.com>
80812
80813         * m4/getline.m4 (AM_FUNC_GETLINE):
80814         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
80815         hosts.  Problem reported by Derek Robert Price in
80816         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
80817         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
80818         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
80819
80820 2003-10-21  Paul Eggert  <eggert@twinsun.com>
80821
80822         * lib/getndelim2.c (getndelim2): When size calculation overflows,
80823         ceiling the allocation at NMAX bytes rather than silently
80824         discarding input bytes before NMAX is reached.  This makes
80825         a difference only if NMAX exceeds SIZE_MAX / 2.
80826
80827         * lib/obstack.c: Merge from glibc.
80828         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
80829         Add libc_hidden_def (_obstack_newchunk).
80830         (_obstack_free) [! defined _LIBC]: Remove.
80831         [defined _LIBC]: Make a strong alias from obstack_free, rather than
80832         a clone of the function body.
80833         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
80834         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
80835
80836         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
80837         glibc.
80838         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
80839         arg to memcpy.
80840
80841         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
80842         (obstack_ptr_grow_fast, obstack_int_grow_fast):
80843         Don't use lvalue casts, as GCC plans to remove support for them
80844         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
80845         was also present in the non-GCC version, indicating that this
80846         code had always been buggy and had never been widely used.
80847         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
80848         Use the fast variant of each macro, rather than copying the
80849         definiens of the fast variant; that way, we'll be more likely to
80850         catch future bugs in the fast variants.
80851
80852 2003-10-20  Bruno Haible  <bruno@clisp.org>
80853
80854         * modules/wait-process: New file.
80855         * MODULES.html.sh (func_all_modules): Add wait-process.
80856
80857 2003-10-20  Bruno Haible  <bruno@clisp.org>
80858
80859         * m4/wait-process.m4: New file.
80860
80861 2003-10-20  Bruno Haible  <bruno@clisp.org>
80862
80863         * lib/wait-process.h: New file, from GNU gettext.
80864         * lib/wait-process.c: New file, from GNU gettext.
80865
80866 2003-10-19  Jim Meyering  <jim@meyering.net>
80867
80868         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
80869         HPUX 10.20.
80870
80871 2003-10-18  Karl Berry  <karl@gnu.org>
80872
80873         * config/config.guess: update from config.
80874
80875 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80876
80877         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
80878         (getgroups): First arg is int, not size_t.
80879         Don't let 'free' mangle errno.
80880
80881 2003-10-16  Paul Eggert  <eggert@twinsun.com>
80882
80883         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
80884
80885 2003-10-16  Karl Berry  <karl@gnu.org>
80886
80887         * config/config.{guess,sub}: update from config.
80888
80889 2003-10-16  Jim Meyering  <jim@meyering.net>
80890
80891         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
80892         memcpy.
80893
80894 2003-10-15  Paul Eggert  <eggert@twinsun.com>
80895
80896         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
80897         (SIZE_MAX): Remove.
80898         (new_exclude, add_exclude_file): Initial size no longer needs to
80899         be a power of 2.
80900         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
80901         our own address arithmetic overflow checking.
80902
80903         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
80904         (fnmatch): Do not alloca more than 2000 wide characters;
80905         instead, use malloc for large buffers.
80906         Check for address arithmetic overflow, and return -1
80907         with errno set to ENOMEM in that case.
80908         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
80909         (NEW_PATTERN): Do not alloca more than 8000 bytes;
80910         instead, return -1.  Check for address arithmetic overflow.
80911
80912 2003-10-14  Paul Eggert  <eggert@twinsun.com>
80913
80914         Handle invalid suffixes and overflow independently, so that
80915         callers can treat them independently as needed.  Fix some bugs in
80916         suffix handling, e.g., "100k@" was not diagnosed as an invalid
80917         suffix for a human-readable blocksize.  The major caller-visible
80918         change is the addition of a new
80919         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
80920         that both overflow and suffix chars were found.
80921
80922         * lib/human.c (humblock): Don't check separately for invalid suffix
80923         char; that is xstrtoumax's job (now that its bug is fixed).
80924         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
80925         INTMAX_MAX]: New macros.
80926         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
80927         TYPE_MAXIMUM): New macros.
80928         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
80929         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
80930         if overflow occurs, as it's what __strtol does and it's more useful
80931         in practice.
80932         (__xstrtol): If __strtol reports some error other than ERANGE,
80933         reflect it to the caller as LONGINT_INVALID.  If it reports
80934         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
80935         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
80936         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
80937         value.
80938         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
80939         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
80940         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
80941         [defined UINTMAX_MAX]: New macros.
80942
80943 2003-10-14  Bruno Haible  <bruno@clisp.org>
80944
80945         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
80946
80947 2003-10-14  Bruno Haible  <bruno@clisp.org>
80948
80949         * m4/sig_atomic_t: New file, from GNU gettext.
80950         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
80951
80952 2003-10-14  Bruno Haible  <bruno@clisp.org>
80953
80954         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
80955         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
80956         Also use volatile where needed.
80957
80958 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80959
80960         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
80961         Change maintainer from Bruno Haible to 'all'.
80962
80963 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80964
80965         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
80966
80967 2003-10-12  Paul Eggert  <eggert@twinsun.com>
80968
80969         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
80970         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
80971         and define in terms of the other primitives.
80972         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
80973         (SIZE_MAX): Define if not already defined.
80974         (array_size_overflow): New function.
80975         (xalloc_die): Abort instead of exiting if 'error' returns.
80976         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
80977         (xmalloc, xrealloc): Use them.
80978         (xcalloc): Check for address arithmetic overflow.
80979         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
80980         a bit faster than strcpy.
80981
80982 2003-10-10  Simon Josefsson  <jas@extundo.com>
80983
80984         * modules/argp (Depends-on): Add restrict and strcase.
80985
80986 2003-10-10  Simon Josefsson  <jas@extundo.com>
80987
80988         * m4/argp.m4: Add AC_C_INLINE.
80989
80990 2003-10-08  Paul Eggert  <eggert@twinsun.com>
80991
80992         Merge getpass from libc, plus a few fixes.
80993
80994         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
80995         Include <stdbool.h>.
80996         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
80997         __fsetlocking to empty.
80998         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
80999         do include <bits/libc-lock.h>.
81000         Do not include <fcntl.h>; not needed.
81001         [_LIBC]: Include <wchar.h>.
81002         (NOTCANCEL_MODE): New macro.
81003         (flockfile, funlockfile) [_LIBC]: New macros.
81004         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
81005         [!_LIBC]: New macros.
81006         (call_fclose): New function.
81007         (getpass): Use it.  Save tty stream separately; this simplifies the
81008         code and makes it more reliable if stdin happens to equal stdout.
81009         Invoke __fsetlocking on tty.
81010         Handle thread cancellation if needed.
81011         Namespace cleanup (use __tcgetattr, __getline).
81012         Use bool for Booleans.
81013         [USE_IN_LIBIO]: Handle wide streams.
81014         [!_LIBC]: Unconditionally do the fseek, since we don't know what
81015         stream might go where.
81016
81017         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
81018         doesn't have to include <stdio.h> before us.
81019         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
81020         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
81021         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
81022         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
81023         if not declared, so that we can use getpass.c code from libc without
81024         rewriting it.
81025         (flockfile, ftrylockfile, funlockfile): New macros.
81026
81027 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81028
81029         * modules/getpass: Depend on stdbool.
81030
81031 2003-10-08  Paul Eggert  <eggert@twinsun.com>
81032
81033         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
81034
81035 2003-10-07  Karl Berry  <karl@gnu.org>
81036
81037         * config/config.{guess,sub}: update from config.
81038
81039 2003-10-06  Jim Meyering  <jim@meyering.net>
81040             Bruno Haible  <bruno@clisp.org>
81041
81042         This lets translators provide better translations for the
81043         "Written by ..." part of --version output.
81044         * lib/version-etc.h: Include stdarg.h.
81045         (version_etc_copyright): Declare as readonly.
81046         (version_etc): Make this function variadic with a NULL-terminated list
81047         of author name strings.
81048         (version_etc_va): New declaration.
81049         * lib/version-etc.c: Include stdarg.h, stdlib.h.
81050         (version_etc_copyright): Declare as readonly.
81051         (version_etc_va): New function. Provide a different translatable string
81052         for each possible number of authors < 10. Abbreviate when there are 10
81053         authors or more.
81054         (version_etc): Make this function variadic. Call version_etc_va.
81055         Suggestion from Gary V. Vaughan.
81056
81057         * lib/long-options.h (parse_long_options): Change prototype: the
81058         authors string is moved to the end and becomes variadic.
81059         * lib/long-options.c: Include stdarg.h.
81060         (parse_long_options): Make this function variadic, too.
81061         Call version_etc_va, not version_etc.
81062
81063 2003-10-06  Bruno Haible  <bruno@clisp.org>
81064
81065         * modules/version-etc-2: Remove file.
81066         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
81067
81068 2003-10-06  Bruno Haible  <bruno@clisp.org>
81069
81070         * modules/fatal-signal: New file.
81071         * MODULES.html.sh (func_all_modules): Add fatal-signal.
81072
81073 2003-10-06  Bruno Haible  <bruno@clisp.org>
81074
81075         * m4/fatal-signal.m4: New file.
81076         * m4/signalblocking.m4: New file, from GNU gettext.
81077
81078 2003-10-06  Bruno Haible  <bruno@clisp.org>
81079
81080         * lib/version-etc-2.h: Remove file.
81081         * lib/version-etc-2.c: Remove file.
81082
81083 2003-10-06  Bruno Haible  <bruno@clisp.org>
81084
81085         * lib/fatal-signal.h: New file, from GNU gettext.
81086         * lib/fatal-signal.c: New file, from GNU gettext.
81087
81088 2003-10-05  Paul Eggert  <eggert@twinsun.com>
81089
81090         * README: Rework advice for preventing empty .o files.
81091         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
81092         not <sys/types.h>.
81093
81094 2003-10-04  Karl Berry  <karl@gnu.org>
81095
81096         * lib/argp*: update from libc.
81097
81098 2003-10-04  Karl Berry  <karl@gnu.org>
81099
81100         * config/config.{guess,sub}: update from config.
81101
81102 2003-10-02  Bruno Haible  <bruno@clisp.org>
81103
81104         * modules/lchown (Include): Add lchown.h.
81105         * modules/time_r (Include): Use "..." syntax.
81106         * modules/xgetdomainname (Include): Add xgetdomainname.h.
81107
81108 2003-10-01  Simon Josefsson  <jas@extundo.com>
81109
81110         * MODULES.html.sh (func_all_modules): Move gethostname from section
81111         'based on' to section 'lacking' POSIX:2001.
81112
81113 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
81114
81115         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
81116         to output mode on the same stream.
81117
81118 2003-09-29  Paul Eggert  <eggert@twinsun.com>
81119
81120         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
81121         Fix arg typo in previous patch.
81122
81123 2003-09-28  Jim Meyering  <jim@meyering.net>
81124
81125         * lib/error.c: Correct cpp indentation.
81126
81127 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81128
81129         * modules/free: New file.
81130
81131 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81132
81133         * m4/free.m4: New file.
81134
81135 2003-09-27  Paul Eggert  <eggert@twinsun.com>
81136
81137         * lib/minmax.h (MIN, MAX)
81138         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
81139         Omit the special code that used __typeof__, since we worry that
81140         it could be more trouble than it's worth.  See:
81141         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
81142         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
81143
81144         * lib/free.c: New file.
81145
81146 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
81147
81148         Trivial fixes to Makefile.am parts of module listings.
81149         * modules/strstr: Append strstr.h to lib_SOURCES.
81150         * modules/strcase: Likewise, for strcase.h.
81151
81152 2003-09-27  Karl Berry  <karl@gnu.org>
81153
81154         * config/mkinstalldirs: update from automake.
81155
81156 2003-09-26  Paul Eggert  <eggert@twinsun.com>
81157
81158         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
81159         (error_tail): Do not loop, reallocating temporary buffer, since
81160         the output cannot contain more wide characters than the input
81161         contains bytes, the size must be big enough already.  This avoids
81162         one potential size overflow calculation.  Check for size overflow
81163         when calculating temporary buffer size.  Free temporary buffer
81164         when done, if it was allocated with malloc; this plugs a memory
81165         leak.  Remove casts from void * to pointers, that are no longer
81166         needed now that we're assuming C89 or better.
81167
81168         Merge error changes from glibc.
81169
81170         * lib/error.c, error.h: Update copyright notice header to match glibc.
81171         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
81172         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
81173         Disable cancellation while printing error.
81174         * lib/error.h: Prepend __ to parameter names.
81175
81176 2003-09-26  Jim Meyering  <jim@meyering.net>
81177
81178         * lib/error.c (error_tail): Move some declarations
81179         into inner scope where the local variables are used.
81180
81181 2003-09-26  Bruno Haible  <bruno@clisp.org>
81182
81183         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
81184         stpncpy().
81185         Don't define stpncpy through config.h; it's now done through stpncpy.h.
81186
81187 2003-09-26  Bruno Haible  <bruno@clisp.org>
81188
81189         * lib/stpncpy.h (gnu_stpncpy): New declaration.
81190         (stpncpy): Define as alias for gnu_stpncpy.
81191         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
81192
81193 2003-09-25  Simon Josefsson  <jas@extundo.com>
81194
81195         * lib/xgetdomainname.h: New file.
81196         * lib/xgetdomainname.c: New file.
81197
81198 2003-09-25  Simon Josefsson  <jas@extundo.com>
81199             Bruno Haible  <bruno@clisp.org>
81200
81201         * modules/getdomainname: New file.
81202         * modules/xgetdomainname: New file.
81203         * MODULES.html.sh (func_all_modules): Add getdomainname,
81204         xgetdomainname.
81205
81206 2003-09-25  Simon Josefsson  <jas@extundo.com>
81207             Bruno Haible  <bruno@clisp.org>
81208
81209         * m4/getdomainname.m4: New file.
81210
81211 2003-09-25  Simon Josefsson  <jas@extundo.com>
81212             Bruno Haible  <bruno@clisp.org>
81213
81214         * lib/getdomainname.h: New file.
81215         * lib/getdomainname.c: New file.
81216
81217 2003-09-25  Karl Berry  <karl@gnu.org>
81218
81219         * lib/argp-fmtstream.c, argp-help.c: update from libc.
81220
81221 2003-09-25  Karl Berry  <karl@gnu.org>
81222
81223         * config/install-sh: update from automake.
81224
81225 2003-09-25  Bruno Haible  <bruno@clisp.org>
81226
81227         * modules/version-etc-2: New file, from modules/version-etc with
81228         modifications.
81229         * MODULES.html.sh (func_all_modules): Add version-etc-2.
81230
81231 2003-09-25  Bruno Haible  <bruno@clisp.org>
81232
81233         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
81234         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
81235
81236 2003-09-24  Simon Josefsson  <jas@extundo.com>
81237
81238         * modules/xgethostname: Add xgethostname.h.
81239
81240 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81241
81242         * lib/linebuffer.c (freebuffer): Don't free the argument, just
81243         the buffer associated with the argument.  Bug reported by
81244         Simon Josefsson.
81245
81246 2003-09-24  Paul Eggert  <eggert@twinsun.com>
81247
81248         * README: Document assumptions that 'int' is at least 32 bits
81249         wide, that integer arithmetic is 2's complement without overflow,
81250         that there are no holes in integer values, that adding sizes of
81251         two nonoverlapping objects can't overflow, and that all-bits-zero
81252         yields scalar zero.  Fix spelling and capitalization typos.
81253
81254 2003-09-19  Karl Berry  <karl@gnu.org>
81255
81256         * lib/argp.h: update from libc.
81257
81258 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81259
81260         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
81261         to avoid spurious warnings like "AC_RUN_IFELSE was called before
81262         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
81263
81264 2003-09-17  Paul Eggert  <eggert@twinsun.com>
81265
81266         * gnulib-tool: Use "test -h", not "test -L", for portability
81267         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
81268         (tags_regexp): Remove, since \| doesn't conform to POSIX.
81269         (sed_extract_prog): Issue s commands one-by-one, rather than
81270         using \| in one s command.
81271
81272 2003-09-16  Paul Eggert  <eggert@twinsun.com>
81273
81274         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
81275         input error, instead of returning NULL the next time we are called
81276         (and therefore losing track of errno).
81277
81278 2003-09-16  Bruno Haible  <bruno@clisp.org>
81279
81280         * gnulib-tool (func_create_testdir): Warn about duplicated
81281         dependencies.
81282
81283 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81284
81285         * modules/argmatch, modules/fatal, modules/obstack,
81286         modules/xalloc, modules/xgethostname: Sort dependencies by
81287         importance, not alphabetically.
81288
81289 2003-09-15  Paul Eggert  <eggert@twinsun.com>
81290
81291         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
81292         fails, so that the caller gets the proper errno.
81293
81294         * lib/readutmp.c (read_utmp): Likewise.
81295         Check for fstat error.  Close stream and free storage
81296         when failing.
81297
81298 2003-09-14  Karl Berry  <karl@gnu.org>
81299
81300         * config/srclist.txt (strdup.c): disable for c89 changes.
81301
81302 2003-09-14  Jim Meyering  <jim@meyering.net>
81303
81304         * lib/getloadavg.c: Correct cpp indentation.
81305         * lib/strdup.c: Likewise.
81306         * lib/vasnprintf.c: Likewise.
81307
81308 2003-09-14  Bruno Haible  <bruno@clisp.org>
81309
81310         * modules/fwriteerror: New file.
81311         * MODULES.html.sh (func_all_modules): Add fwriteerror.
81312
81313 2003-09-14  Bruno Haible  <bruno@clisp.org>
81314
81315         * lib/fwriteerror.h: New file.
81316         * lib/fwriteerror.c: New file.
81317
81318 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81319
81320         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
81321         modules/xgethostname, modules/xalloc: Depend on exit.
81322
81323 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81324
81325         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
81326
81327         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
81328         and AC_MINIX, too, so that their extensions are available.
81329
81330         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
81331         This macro has been superseded by gl_BACKUPFILE.
81332
81333         More patches to assume C89 or better.
81334
81335         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
81336
81337         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
81338         unconditionally.
81339         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
81340         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
81341         Include <string.h>, <stdlib.h> unconditionally.
81342         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
81343         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
81344         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
81345         headers or for string.h.
81346         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
81347         or strtoul.
81348
81349         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
81350         headers.
81351         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
81352         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81353         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
81354         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
81355         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81356         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
81357         memcpy, memset.
81358         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
81359         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
81360         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
81361         strtol.
81362         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
81363         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
81364         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
81365         strtoul.
81366
81367 2003-09-12  Paul Eggert  <eggert@twinsun.com>
81368
81369         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
81370         * lib/obstack.c [!defined _LIBC]: Likewise.
81371         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
81372         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
81373         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
81374
81375         More changes to assume C89 or better.
81376
81377         * lib/error.c (error_tail): Assume vprintf.
81378
81379         * lib/argmatch.c (getenv): Remove decl.
81380         * lib/progreloc.c (get_full_program_name): Define via prototype.
81381         * lib/setenv.c (clearenv): Likewise.
81382         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
81383         needed.
81384         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
81385         (malloc, memcpy): Remove decls.
81386         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
81387         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
81388         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81389         (memcpy): Remove macro.
81390         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
81391         (__P): Remove.  All uses removed.
81392         (PTR): Remove.  All uses changed to void *.
81393         (CHAR_BIT, NULL): Remove.
81394         (spaces, zeros, memset_space, memset_zero)
81395         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
81396         Remove.
81397         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
81398         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
81399         Define with prototype.
81400         Remove now-unnecessary prototype decl.
81401         (extra_args_spec): Assume ANSI C.  All uses changed.
81402         (extra_args_spec_iso): Remove.
81403         (my_strftime, emacs_strftimeu): Define via prototype.
81404         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
81405         unconditionally.
81406         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
81407         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
81408         (strtoul, strtol): Remove decls.
81409         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
81410         LONG_MAX): Remove.
81411         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
81412         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
81413         (LOCALE_PARAM_PROTO): New macro.
81414         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
81415         (INTERNAL (strtol), strtol): Define with a prototype.
81416         (PARAMS): Remove.  All uses removed.
81417         * lib/tempname.c: Include <string.h> unconditionally.
81418         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
81419         * lib/xgethostname.c (main): Define with a prototype.
81420         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
81421         Include <stdlib.h> unconditionally.
81422         (calloc, malloc, realloc, free): Remove decls.
81423         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
81424         Include <stdlib.h> unconditionally.  Sort include file names.
81425         (strtod): Remove.
81426         (xstrtod): Define with a prototype.
81427         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
81428         (strtol, strtoul): Remove decls.
81429
81430 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81431
81432         More patches to assume C89 or better.
81433         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
81434         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
81435         string.h, memchr, STDC_HEADERS.
81436
81437 2003-09-11  Paul Eggert  <eggert@twinsun.com>
81438
81439         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
81440         Include <stdlib.h>, <string.h> unconditionally.
81441         Remove now-unnecessary cast to char *.
81442         * lib/strnlen.c: Include <string.h> unconditionally.
81443         * lib/yesno.c (yesno): Define with a prototype.
81444
81445 2003-09-11  Bruno Haible  <bruno@clisp.org>
81446
81447         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
81448
81449 2003-09-10  Jim Meyering  <jim@meyering.net>
81450
81451         * lib/error.c: Correct indentation of cpp directives.
81452
81453 2003-09-10  Bruno Haible  <bruno@clisp.org>
81454
81455         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
81456         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
81457         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
81458         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
81459         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
81460         <stdlib.h> and <string.h> checks.
81461         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
81462         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
81463
81464 2003-09-10  Bruno Haible  <bruno@clisp.org>
81465
81466         * lib/strcspn.c: Include <string.h> unconditionally.
81467         * lib/strpbrk.c: Include <string.h> unconditionally.
81468         * lib/strstr.c: Include <string.h> unconditionally.
81469         * lib/unicodeio.c: Include <string.h> unconditionally.
81470         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
81471         * lib/unsetenv.c: Likewise.
81472         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
81473         * lib/yesno.c: Include <stdlib.h> unconditionally.
81474         (rpmatch): Add prototype.
81475
81476 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81477
81478         More patches to assume C89 or better.
81479         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
81480         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
81481         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
81482         or for string.h.
81483         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
81484         stdlib.h.
81485         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
81486         C headers.
81487         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
81488         string.h.
81489         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
81490         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
81491         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
81492         or for string.h.
81493         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
81494         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
81495         C headers.
81496         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
81497         memcpy.
81498         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
81499         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
81500         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
81501         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
81502         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
81503         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
81504         string.h, free.
81505         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
81506         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
81507         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
81508         C headers, or for string.h.
81509         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
81510         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
81511         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
81512         headers, memory.h, stdlib.h, string.h, strings.h.
81513         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
81514         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
81515         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
81516         strchr.
81517         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
81518         headers, memory.h, string.h.
81519         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
81520         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
81521         free.
81522         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
81523         headers.
81524         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
81525         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
81526         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
81527         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
81528         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
81529
81530 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81531
81532         More K&R removal.
81533
81534         * lib/acosl.c (main): Use a prototype.
81535         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
81536         tanl.c: Likewise.
81537
81538         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
81539
81540         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
81541         (getopt, etopt_long, getopt_long_only, _getopt_internal)
81542         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
81543         with a prototype.
81544         * lib/getopt.c (const): Remove macro.
81545         Include <string.h> unconditionally.
81546         (my_index): Remove; all uses changed to strchr.
81547         (strlen): Remove decl.
81548         (exchange): Remove forward decl; no longer needed.
81549         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
81550         Define with prototype.
81551         * lib/getopt1.c (const): Remove macro.
81552         (getopt_long, getopt_long_only, main): Define with prototype.
81553
81554         * lib/getugroups.c: Include <string.h> unconditionally.
81555
81556         * lib/getusershell.c: Include <stdlib.h> unconditionally.
81557         (getusershell, setusershell, endusershell, readname, main):
81558         Define with prototypes.
81559
81560         * lib/group-member.c: Include group-member.h first.
81561         Include <stdlib.h> unconditionally.
81562
81563         * lib/hard-locale.c: Include hard-locale.h first.
81564         Include <stdlib.h>, <string.h> unconditionally.
81565
81566         * lib/hash.c (free, malloc): Remove decls.
81567         Include <stdlib.h> unconditionally.
81568
81569         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
81570         (getenv): Do not declare.
81571
81572         * lib/idcache.c: Include <string.h> unconditionally.
81573
81574         * lib/long-options.c: Include long-options.h first, to test interface.
81575         Include <stdlib.h> unconditionally.
81576
81577         * lib/makepath.c: Include makepath.h first, to test interface.
81578         Include <stdlib.h> and <string.h> unconditionally.
81579
81580         * lib/linebuffer.c: Include <stdlib.h>.
81581         (free): Remove decl.
81582
81583         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
81584         stddef.h. rpl_malloc returns void *, not char *.
81585         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
81586         prototype.
81587
81588         * lib/md5.h: Include <limits.h> unconditionally.
81589         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
81590         (__P): Remove; all uses removed.
81591         * lib/md5.c: Include "md5.h" first.
81592         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
81593         md5_buffer, md5_process_bytes, md5_process_block):
81594         Define with prototypes.
81595         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
81596         * lib/sha.c: Include "sha.h" first.
81597         Include <stdlib.h>, <string.h> unconditionally.
81598
81599         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
81600         * lib/memcmp.c (__ptr_t): Likewise.
81601         * lib/memrchr.c (__ptr_t): Likewise.
81602         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
81603         Include <string.h> unconditionally.
81604         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
81605         * lib/memchr.c: Include <stdlib.h> unconditionally.
81606         * lib/memchr.c (LONG_MAX): Remove.
81607         * lib/memrchr.c (LONG_MAX): Likewise.
81608         * lib/memchr.c (__memchr): Define via a prototype.
81609         * lib/memrchr.c (__memrchr): Likewise.
81610         * lib/memcmp.c (__P): Remove, and remove all uses.
81611         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
81612         Remove forward decls; no longer needed.
81613         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
81614         Use types required by C89 in prototype.
81615
81616         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
81617         * lib/savedir.c: Likewise.
81618         * lib/mkdir.c (free): Remove decl.
81619         * lib/rmdir.c (rmdir): Define with a prototype.
81620         * lib/savedir.c: Include savedir.h first, to test interface.
81621
81622         * lib/mktime.c (STDC_HEADERS): Remove.
81623         Include <stdlib.h>, <string.h> unconditionally.
81624
81625         * lib/modechange.c: Include <stdlib.h> unconditionally.
81626         (malloc): Remove decl.
81627
81628         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
81629         (free): Remove decl.
81630
81631         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
81632         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
81633         (This type really should be intptr_t, but that's a C99ism.)
81634         (_obstack_memcpy): Remove: all uses changed to memcpy.
81635         Include <string.h> unconditionally.
81636         (struct obstack): Assume __STDC__ for types of members
81637         chunkfun, freefun, extra_arg.
81638         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
81639         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
81640         obstack_begin, obstack_specify_allocation,
81641         obstack_specify_allocation_with_arg, obstack_chunkfun,
81642         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
81643         Remove unprototyped decls and the macros that use them.
81644         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
81645         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
81646         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
81647         (defined __STDC__ && __STDC__)]:
81648         Remove nonprototyped code.
81649         Include <stdlib.h> unconditionally.
81650         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
81651         _obstack_allocated_p, _obstack_free, obstack_free,
81652         _obstack_memory_used, print_and_abort):
81653         Define using prototypes.
81654         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
81655         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
81656         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
81657         obstack_next_free, obstack_object_size, obstack_room) [0]:
81658         Remove unused, unprototyped code.
81659
81660         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
81661
81662         * lib/physmem.c (physmem_total, physmem_available, main): Define
81663         with prototypes.
81664
81665         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
81666         (main): Define with a prototype.
81667
81668         * lib/posixver.c (getenv): Remove decl.
81669
81670         * lib/putenv.c (malloc): Returns void *, not char *.
81671         Include <string.h> unconditionally.
81672         (strchr, memcpy, NULL): Do not define.
81673
81674         * lib/readtokens.c: Include readtokens.h first, to test interface.
81675         Include <stdlib.h>, <string.h> unconditionally.
81676         (init_tokenbuffer): Define with a prototype.
81677
81678         * lib/regex.c (PARAMS): Remove.  All uses removed.
81679         All uses of _RE_ARGS removed, too.
81680         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81681         unconditionally.
81682         (bzero): Assume memset exists.
81683         (memcmp, memcpy, NULL): Remove.
81684         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
81685         char, or assignments to local vars of type signed char.
81686         (init_syntax_once, PREFIX(extract_number_and_incr),
81687         PREFIX(print_partial_compiled_pattern),
81688         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
81689         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
81690         PREFIX(regex_grow_registers), PREFIX(regex_compile),
81691         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
81692         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
81693         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
81694         wcs_compile_range, byte_compile_range, truncate_wchar,
81695         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
81696         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
81697         count_mbs_length, wcs_re_match_2_internal,
81698         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
81699         PREFIX(alt_match_null_string_p),
81700         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
81701         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
81702         regfree, PREFIX(extract_number)): Define with prototype.  Remove
81703         now-unnecessary declaration, if any.
81704         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
81705         regcomp, regexec):
81706         Remove now-unnecessary casts among pointer types.
81707         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
81708
81709         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
81710         (free): Remove decl.
81711
81712         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
81713
81714         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
81715         (free): Remove decl.
81716
81717         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
81718         * lib/xgetcwd.c: Likewise.
81719
81720         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
81721         (free): Remove decl.
81722
81723         * lib/strchrnul.c (strchrnul): Define with a prototype.
81724         Fix bug: c_in was not converted to char before searching.
81725
81726         The following changes are not K&R related:
81727
81728         * lib/group-member.h: Include <sys/types.h>, so that this file is
81729         self-contained.
81730         * lib/makepath.h: Likewise.
81731
81732         * lib/getusershell.c (readname, default_index, line_size, readname):
81733         Use size_t, not int, for sizes.
81734         (readname): If the size overflows, report an error instead of
81735         looping forever.
81736
81737 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81738
81739         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
81740         libc.
81741
81742 2003-09-09  Paul Eggert  <eggert@twinsun.com>
81743
81744         * README: New section: portability guidelines.
81745
81746 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81747
81748         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
81749         C89 spec.
81750
81751 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
81752
81753         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
81754
81755 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81756
81757         Assume C89 or better; remove K&R cruft.
81758         A few of these changes were first proposed by Derek Robert Price
81759         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
81760
81761         * lib/addext.c: Include <string.h> unconditionally.
81762         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
81763         Don't declare getenv or malloc.
81764
81765         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
81766         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
81767         (NULL): Remove.
81768         (find_stack_direction, alloca): Use prototypes.
81769
81770         * lib/atexit.c (atexit): Define using a prototype.
81771
81772         * lib/basename.c, dirname.c, stripslash.c:
81773         Include <string.h> unconditionally.
81774
81775         * lib/bcopy.c: Include <stddef.h>.
81776         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
81777
81778         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
81779
81780         * lib/error.h (error, error_at_line, error_print_progname)
81781         [! (defined (__STDC__) && __STDC__)]: Remove decls.
81782         * lib/error.c: Include error.h first, to check interface.
81783         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81784         (VA_START): Remove; all uses changeed to va_start.
81785         (exit, strerror): Remove decls.
81786         (error_print_progname): Prototype uncondionally.
81787         Don't include <errno.h>; no longer needed.
81788         (private_strerror): Remove.
81789         (error_tail): Always define.
81790         (error, error_at_line): Assume C89 or better; always use prototypes.
81791         * lib/fatal.c: Include "fatal.h" first, to test interface.
81792         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
81793         (VA_START): Remove; all uses changed to va_start.
81794         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
81795         this case.
81796         (exit): Remove decl.
81797         (fatal): Prototype unconditionally.  Assume va_start works.
81798         Abort at end, to pacify gcc.
81799
81800         * lib/euidaccess.c (main): Define with a prototype.
81801
81802         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
81803
81804         * lib/exitfail.c: Include <stdlib.h> unconditionally.
81805
81806         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
81807         prototypes.
81808         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
81809         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
81810         (getenv): Remove decl.
81811         (fnmatch): Define using a prototype.
81812         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
81813         (FCT): Define using a prototype.
81814
81815         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
81816
81817         * lib/gethostname.c: Include <stddef.h>.
81818         (gethostname): Define with prototype.  Length is size_t, not int.
81819
81820 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81821
81822         Assume C89 or better; remove K&R cruft.
81823         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
81824         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
81825         string.h, getenv, malloc.
81826         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
81827         headers.
81828         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
81829         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
81830         do not check for strerror.
81831         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
81832         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
81833         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
81834         do not check for doprnt or vprintf.
81835         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
81836         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
81837
81838 2003-09-08  Paul Eggert  <eggert@twinsun.com>
81839
81840         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
81841         getversion.c should have been removed then, but was accidentally
81842         preserved.
81843
81844         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
81845         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
81846
81847 2003-09-08  Karl Berry  <karl@gnu.org>
81848
81849         * config/config.sub, config.guess, srclistvars.sh: update from savannah
81850                 config, forget about prep.
81851
81852         * config/depcomp, missing: update from automake.
81853
81854 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81855
81856         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
81857         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81858
81859 2003-09-07  Paul Eggert  <eggert@twinsun.com>
81860
81861         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
81862         copy_tm_result.  Bug reported by Simon Josefsson in
81863         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
81864
81865 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81866
81867         * m4/time_r.m4: New file.
81868         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
81869         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
81870         is. Check for timegm declaration.
81871         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
81872         Do not check for gmtime_r.
81873         Replace mktime if __mktime_internal does not exist and if mktime
81874         hasn't been replaced already.
81875
81876 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81877
81878         * lib/time_r.c, lib/time_r.h: New files.
81879
81880         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
81881         __localtime_r.
81882         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
81883         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
81884
81885         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
81886         __gmtime_r.
81887         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
81888         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
81889         Include <time_r.h>.
81890
81891         * lib/timegm.c: Switch to glibc implementation, with the following
81892         changes:
81893         [defined HAVE_CONFIG_H]: Include <config.h>.
81894         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
81895         (__mktime_internal) [!defined _LIBC]: New decl.
81896         (__gmtime_r) [!defined _LIBC]: New macro and function.
81897         (timegm): Use a prototype, since gnulib assumes C89.
81898         Do not bother declaring tmp to be const, as it's not really usefu.
81899         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
81900         (timegm): Declare only if HAVE_DECL_TIMEGM.
81901
81902 2003-09-06  Paul Eggert  <eggert@twinsun.com>
81903
81904         * MODULES.html.sh (func_all_modules): Add time_r.
81905         * modules/time_r: New file.
81906         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
81907         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
81908
81909 2003-09-03  Paul Eggert  <eggert@twinsun.com>
81910
81911         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
81912         Bug reported by Lute Kamstra in
81913         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
81914
81915         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
81916         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
81917         course with correspondingly smaller numbers for tomorrow and
81918         yesterday.  From Tadayoshi Funaba.  Originally installed into
81919         sh-utils on 1999-08-07, but the patch got lost (I guess during the
81920         coreutils merge?).
81921
81922 2003-08-31  Simon Josefsson  <jas@extundo.com>
81923
81924         * modules/timegm: New file.
81925         * MODULES.html.sh (func_all_modules): Add timegm.
81926
81927 2003-08-31  Simon Josefsson  <jas@extundo.com>
81928
81929         * m4/timegm.m4: New file.
81930
81931 2003-08-31  Simon Josefsson  <jas@extundo.com>
81932
81933         * lib/timegm.h: New file.
81934         * lib/timegm.c: New file.  Based on
81935         wget-1.8.2/src/http.c:mktime_from_utc.
81936
81937 2003-08-31  Karl Berry  <karl@gnu.org>
81938
81939         * lib/argp.h: update from libc.
81940
81941 2003-08-28  Bruno Haible  <bruno@clisp.org>
81942
81943         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
81944         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
81945         followed by '#define fnmatch fnmatch_posix' gives an error.
81946
81947 2003-08-28  Bruno Haible  <bruno@clisp.org>
81948
81949         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
81950         warning on QNX, which defines O_BINARY to 000000.
81951
81952 2003-08-27  Jim Meyering  <jim@meyering.net>
81953
81954         * m4/mkstemp.m4: Require that the system mkstemp be able to create
81955         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
81956         would fail after 32.  Reported by Danny Levinson.  Details here:
81957         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
81958
81959 2003-08-24  Bruno Haible  <bruno@clisp.org>
81960
81961         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
81962         MSVC7 <stdio.h> is included later.
81963
81964 2003-08-22  Simon Josefsson  <jas@extundo.com>
81965
81966         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
81967
81968 2003-08-20  Karl Berry  <karl@gnu.org>
81969
81970         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
81971
81972 2003-08-20  Bruno Haible  <bruno@clisp.org>
81973
81974         * modules/progname: New file.
81975         * MODULES.html.sh (func_all_modules): Add progname.
81976
81977 2003-08-20  Bruno Haible  <bruno@clisp.org>
81978
81979         * lib/progname.h: New file, from GNU gettext.
81980         * lib/progname.c: New file, from GNU gettext.
81981         * lib/progreloc.c: New file, from GNU gettext.
81982
81983 2003-08-19  Jim Meyering  <jim@meyering.net>
81984
81985         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
81986         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
81987
81988 2003-08-19  Bruno Haible  <bruno@clisp.org>
81989
81990         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
81991         more.
81992
81993 2003-08-19  Bruno Haible  <bruno@clisp.org>
81994
81995         * lib/xstrdup.c: Assume <string.h> exists.
81996
81997 2003-08-18  Paul Eggert  <eggert@twinsun.com>
81998
81999         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
82000         in makefile rules.
82001
82002 2003-08-18  Jim Meyering  <jim@meyering.net>
82003
82004         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
82005         * m4/lib-ld.m4: Likewise.
82006
82007 2003-08-18  Jim Meyering  <jim@meyering.net>
82008
82009         * lib/setenv.h: Indent nested cpp directive.
82010         * lib/vasnprintf.c: Remove trailing blanks.
82011
82012 2003-08-17  Simon Josefsson  <jas@extundo.com>
82013
82014         * modules/xstrndup: New file.
82015         * MODULES.html.sh (func_all_modules): Add xstrndup.
82016
82017 2003-08-17  Simon Josefsson  <jas@extundo.com>
82018
82019         * modules/argp: Fix autoconf macro name. Add more dependencies.
82020
82021 2003-08-17  Simon Josefsson  <jas@extundo.com>
82022
82023         * m4/xstrndup.m4: New file.
82024
82025 2003-08-17  Simon Josefsson  <jas@extundo.com>
82026
82027         * m4/argp.m4: New file.
82028
82029 2003-08-17  Simon Josefsson  <jas@extundo.com>
82030             Bruno Haible  <bruno@clisp.org>
82031
82032         * lib/xstrndup.h: New file.
82033         * lib/xstrndup.c: New file.
82034
82035 2003-08-17  Bruno Haible  <bruno@clisp.org>
82036
82037         * modules/strndup (Files, Include): Add lib/strndup.h.
82038
82039 2003-08-17  Bruno Haible  <bruno@clisp.org>
82040
82041         * modules/euidaccess (Files): Add lib/euidaccess.h.
82042
82043 2003-08-17  Bruno Haible  <bruno@clisp.org>
82044
82045         * lib/strndup.h: New file.
82046
82047 2003-08-17  Bruno Haible  <bruno@clisp.org>
82048
82049         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
82050         like AC_GNU_SOURCE.
82051         * modules/extensions (configure.ac): Comment out the invocation of
82052         gl_USE_SYSTEM_EXTENSIONS.
82053
82054 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82055
82056         Merges from coreutils, etc.
82057         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
82058         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
82059         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
82060         fixing a typo.
82061         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
82062         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
82063
82064 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82065
82066         Document merge from coreutils.
82067         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
82068         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
82069         * modules/utime: Add m4/utimes-null.m4.
82070
82071 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82072
82073         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
82074         space, undoing this 2003-08-12 change:
82075         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82076
82077 2003-08-16  Paul Eggert  <eggert@twinsun.com>
82078
82079         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
82080         strtoul.c from libc, undoing this 2003-08-12 change:
82081         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
82082
82083 2003-08-16  Jim Meyering  <jim@meyering.net>
82084
82085         Merges from coreutils.
82086         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
82087         prefix.  Adjust cache variables similarly.  Create 500 rather than
82088         just 300 files, to exercise bug on Darwin6.5, too.
82089         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
82090         $missing_dir.
82091         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
82092         AM_SYS_POSIX_TERMIOS.
82093         Reported by mkc@mathdogs.com.
82094         Also change use of $am_cv_sys_posix_termios
82095         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
82096         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
82097         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
82098         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
82099         in /proc/mounts until it finds one with matching device number.  This
82100         is unnecessary when the FILE argument *is* a mount point.  No stat call
82101         is necessary in that case.  So, disable the statvfs-testing code on
82102         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
82103         as RedHat bug# 84846.
82104         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82105         to 1MB, so as not to render systems with no stack size limit (e.g.,
82106         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82107         Include <unistd.h>.  On some systems,
82108         it is required for the definition of _SC_PAGESIZE.
82109
82110 2003-08-16  Jim Meyering  <jim@meyering.net>
82111
82112         Merge from coreutils.
82113         * lib/xstrtoimax.c: #else #if -> #elif.
82114         * lib/xstrtoumax.c: Likewise.
82115
82116 2003-08-16  Jim Meyering  <jim@meyering.net>
82117
82118         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
82119         * m4/utimes.m4: Removed.
82120         * m4/utimes-null.m4: Renamed from utimes.m4.
82121
82122         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
82123         to 1MB, so as not to render systems with no stack size limit (e.g.,
82124         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
82125         Include <unistd.h>.  On some systems,
82126         it is required for the definition of _SC_PAGESIZE.
82127
82128 2003-08-16  Jim Meyering  <jim@meyering.net>
82129         and Paul Eggert  <eggert@cs.ucla.edu>
82130
82131         Merges from coreutils, etc.
82132
82133         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
82134         using the latest version from cvs.  This avoids problems with #line
82135         directives using a vendor (Sun) compiler.
82136         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
82137         Don't set GETGROUPS_LIB here; now it's
82138         done via getgroups.m4's wrapper function.
82139         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
82140         rather than just in sh-util/configure.in, so that the
82141         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
82142         same.
82143         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
82144         AC_FUNC_GETLOADAVG where to find getloadavg.c.
82145         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
82146         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
82147         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
82148         Remove code that is now done by the newly-required macros.
82149         Append $(EXEEXT) to DF_PROG.
82150         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
82151         Do not invoke or require the following here,
82152         since prereq.m4 or some gnulib .m4 now does this for us:
82153         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
82154         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
82155         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
82156         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
82157         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
82158         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
82159         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
82160         AC_FUNC_OBSTACK.
82161         Do not replace the following functions, as this is now the job
82162         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
82163         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
82164         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
82165         atexit getpass, strdup, getpagesize.
82166         Replace 'raise'.
82167         Do not check for the following functions, as this is now the job
82168         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
82169         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
82170         setregid.
82171         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
82172         Check for sys/sysctl.h.
82173         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
82174         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
82175         of checking for ssize_t ourselves.
82176
82177         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
82178         Require every macro that gnulib/modules/* suggests for us.
82179         (jm_PREREQ_ADDEXT): New macro.
82180         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
82181         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
82182
82183         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
82184         (gl_PHYSMEM): Use it.
82185         Also check for `table' function.
82186         Check for new headers and functions.
82187         Add check for sys/sysmp.h.
82188         With suggestions from Kaveh Ghazi.
82189         Ignore headers that are present but cannot be compiled.  This
82190         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
82191         C 5.4.
82192
82193 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82194
82195         Document merge from coreutils.
82196         * modules/userspec: Depend on posixver.
82197         * modules/strftime: Depend on tzset.
82198
82199 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82200
82201         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
82202         rather than tab, after '#' in shell-script copyright notices.
82203         Suggested by Bruno Haible.
82204
82205 2003-08-15  Paul Eggert  <eggert@twinsun.com>
82206
82207         * config/srclist-update: Use three spaces, rather than tab, after '#'
82208         in shell-script copyright notices.  Suggested by Bruno Haible.
82209         Remove unnecessary parenthesization in regular expression.
82210
82211 2003-08-15  Jim Meyering  <jim@meyering.net>
82212
82213         Merge from coreutils.
82214         * lib/xgethostname.c: Include <stdlib.h>.
82215         (xghostname): Don't exit for anything other than memory-related
82216         failure; just return NULL.
82217         * lib/userspec.c: Include "posixver.h".
82218         (parse_user_spec): Accept `.' as a separator only
82219         in pre-POSIX-200112 mode.
82220         * lib/strtoimax.c: Use #elif rather than #else #if.
82221         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
82222         Remove function, now that we can rely on a working tzset function.
82223         [!_LIBC]: Ensure that the required autoconf test has been run.
82224         [!defined _NL_CURRENT && HAVE_STRFTIME]:
82225         Use underlying_strftime for %r.
82226         * lib/sha.c: Merge in some clean-up and optimization changes from
82227         glibc.
82228         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
82229         Ensure that it is a multiple of 64.
82230         Rearrange loop exit tests so as to avoid performing an
82231         additional fread after encountering an error or EOF.
82232         * lib/realloc.c: Update copyright date.
82233
82234 2003-08-15  Jim Meyering  <jim@meyering.net>
82235         and Paul Eggert  <eggert@twinsun.com>
82236
82237         Merge from coreutils.
82238         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
82239         member but strut utmpx does not.  Needed for AIX 4.3.3.
82240         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
82241
82242 2003-08-15  Jim Meyering  <jim@meyering.net>
82243         and Paul Eggert  <eggert@cs.ucla.edu>
82244
82245         Merges from coreutils, etc.
82246         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
82247         Require gl_FUNC_TZSET_CLOBBER.
82248         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
82249         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
82250         members.
82251
82252 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82253
82254         Help the merge from coreutils.
82255         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
82256         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
82257         * m4/tzset.m4: Use it too.
82258
82259 2003-08-14  Paul Eggert  <eggert@twinsun.com>
82260
82261         * modules/tzset: New file.
82262
82263 2003-08-14  Jim Meyering  <jim@meyering.net>
82264
82265         Merges from coreutils.
82266         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
82267         variable names, rather than @FNMATCH_H@.
82268         * modules/alloca: Likewise for $(ALLOCA_H).
82269
82270         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
82271         the three copies of the literal target, `fnmatch.h'.
82272         * modules/alloca (alloca.h): Likewise.
82273
82274 2003-08-14  Jim Meyering  <jim@meyering.net>
82275
82276         Merge from coreutils.
82277         * m4/tzset.m4: New file.
82278         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
82279         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
82280         otherwise, AIX 5.1 systems would end up using the latter.
82281         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
82282         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
82283         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
82284         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
82285
82286 2003-08-14  Jim Meyering  <jim@meyering.net>
82287
82288         Merge from coreutils.
82289         * lib/obstack.h: Whitespace changes.
82290         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
82291         and xcalloc return values.
82292         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
82293         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
82294         hang on OSF/1 5.1 for DIR on both local and remote file systems.
82295         Reported by (and fix confirmed by) Nelson H. F. Beebe.
82296         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
82297         error from mntctl.
82298         Use mntctl's return value to drive the entry-processing loop, since
82299         we can't rely on the value of the vmt_length member in the last
82300         entry.  On some systems doing so could result in exhausting
82301         virtual memory.  Based in part on a patch from Mike Jetzer.
82302
82303 2003-08-14  Jim Meyering  <jim@meyering.net>
82304         and Paul Eggert  <eggert@twinsun.com>
82305
82306         Merges from coreutils, plus other fixes.
82307         * lib/physmem.c: Merge in portability changes from gcc/libiberty
82308         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
82309         for credits and details.  Thanks to Kaveh Ghazi for helping
82310         to keep these files in sync.
82311         (ARRAY_SIZE): Define it.
82312         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
82313         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
82314         (memcasecmp): Don't assume size_t fits in unsigned int.
82315         Remove casts and duplicate code.
82316         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
82317         (memcpy): Remove definition.
82318         Merge in some clean-up and optimization changes from glibc.
82319         [BLOCKSIZE]: Move definition to top of file.
82320         Ensure that it is a multiple of 64.
82321         Rearrange loop exit tests so as to avoid performing an
82322         additional fread after encountering an error or EOF.
82323         * lib/md5.h (md5_uintptr): Define.
82324         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
82325         return to the initial working directory.  Preserve errno
82326         for caller.
82327         * lib/idcache.c: Include "xalloc.h".
82328         (xmalloc, xrealloc): Remove decls.
82329         (getuser): Remove casts no longer required in C89.
82330         * lib/human.c: Include stdio.h, for sprintf.
82331         * lib/group-member.c: Include "xalloc.h".
82332         (xmalloc, xrealloc): Remove decls.
82333         (get_group_info): Remove casts no longer required in C89.
82334         * lib/getusershell.c (readname): Remove casts no longer required in
82335         C89.
82336         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
82337         * lib/getline.c: Whitespace fix, from coreutils.
82338
82339 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82340
82341         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
82342         Check for isascii.
82343
82344         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82345         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82346         Undo previous (whitespace-only) change.
82347
82348 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82349
82350         * lib/exclude.c: Include <ctype.h>
82351         (IN_CTYPE_DOMAIN): New macro.
82352         (is_space): New fn.
82353         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
82354         and empty lines.
82355
82356         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82357         Undo previous (whitespace-only) change.
82358
82359 2003-08-13  Paul Eggert  <eggert@twinsun.com>
82360
82361         * config/srclist-update: Change update back to the old behavior,
82362         leaving whitespace alone.  Use one 'sed' command rather than a
82363         pipeline.
82364         (fixlicense): Now a variable, not a function.
82365         (remove_trailing_blanks): Remove.
82366         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
82367         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82368         Undo previous (whitespace-only) change.
82369
82370 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82371
82372         Merge from coreutils.
82373         * modules/euidaccess: Add lib_SOURCES, include for new
82374         file euidaccess.h
82375
82376 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82377
82378         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
82379         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
82380         Normalize leading white space and remove trailing white space.
82381
82382         Merge from coreutils
82383         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
82384
82385         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
82386         0.12.1.  These files are now being upgraded automatically by
82387         ../config/srclist-update.
82388
82389 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82390
82391         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
82392         Normalize leading white space and remove trailing white space.
82393         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
82394         notice, as per ../config/srclist-update.
82395
82396         Merge from coreutils.
82397         * lib/euidaccess.h: New file.
82398         * lib/euidaccess.c: Include it.
82399         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
82400         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
82401         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
82402
82403 2003-08-12  Paul Eggert  <eggert@twinsun.com>
82404
82405         * config/srclist-update: Add copyright notice.
82406         (remove_id_lines, remove_trailing_blanks): New constants.
82407         (fixfile): Use them to normalize spacing a bit in copied files.
82408         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
82409         Normalize leading white space and remove trailing white space.
82410
82411         * config/texinfo.tex: Sync with texinfo.
82412
82413         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
82414         strtoul.c from libc, to merge coreutils whitespace changes.
82415
82416         * config/srclist.txt: Get the following m4 files from gettext:
82417         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
82418         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
82419         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
82420         wint_t.m4.
82421
82422 2003-08-12  Karl Berry  <karl@gnu.org>
82423
82424         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
82425         been made.
82426
82427 2003-08-11  Paul Eggert  <eggert@twinsun.com>
82428
82429         * modules/gnu-source, m4/gnu-source.m4:
82430         Remove; we're assuming Autoconf 2.54 or later now.
82431         Suggested by Bruno Haible.
82432         * MODULES.html.sh (func_all_modules): Remove gnu-source.
82433
82434 2003-08-11  Bruno Haible  <bruno@clisp.org>
82435
82436         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
82437
82438 2003-08-11  Bruno Haible  <bruno@clisp.org>
82439
82440         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
82441         (vasnprintf): Use it instead of wcslen.
82442
82443 2003-08-11  Bruno Haible  <bruno@clisp.org>
82444
82445         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
82446         value to ensure that _Bool promotes to int. Use #define for _Bool when
82447         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
82448
82449 2003-08-10  Karl Berry  <karl@gnu.org>
82450
82451         * lib/regex.h: update from libc (whitespace fix).
82452
82453 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82454
82455         Merge some files from coreutils.  These changes were
82456         originally made by Jim Meyering.
82457         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
82458         many older Unixes require this.
82459         * lib/alloca.c (alloca): Remove cast to argument of free;
82460         no longer needed in C89.
82461         * lib/alloca_.h, regex.h: Fix white space to match
82462         what GNU indent does.
82463
82464 2003-08-09  Paul Eggert  <eggert@twinsun.com>
82465
82466         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
82467         apparently Emacs's Unicode mode got confused before my 2003-08-05
82468         checkin.
82469
82470 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82471
82472         * m4/extensions.m4: New file.
82473         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
82474         Require gl_USE_SYSTEM_EXTENSIONS.
82475         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
82476         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
82477
82478 2003-08-08  Paul Eggert  <eggert@twinsun.com>
82479
82480         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
82481         * modules/extensions, modules/gnu-source: New files.
82482         * modules/timespec, modules/unlocked-io: Depend on extensions.
82483
82484 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82485
82486         * modules/restrict: New file.
82487         * MODULES.html.sh (func_all_modules): Add restrict.
82488         * modules/regex: Depend on restrict.
82489
82490 2003-08-07  Paul Eggert  <eggert@twinsun.com>
82491
82492         * m4/restrict.m4: New file.
82493         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
82494
82495 2003-08-07  Bruno Haible  <bruno@clisp.org>
82496
82497         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
82498         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
82499
82500 2003-08-07  Bruno Haible  <bruno@clisp.org>
82501
82502         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
82503         makes the module 'getndelim2' compatible with the module 'getline'.
82504
82505 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82506
82507         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
82508         byte with "\201" to avoid glitches when editing that source file
82509         with multi-gnome-terminal.
82510
82511 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82512
82513         * lib/bumpalloc.h: Remove.
82514
82515 2003-08-05  Paul Eggert  <eggert@twinsun.com>
82516
82517         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
82518         * modules/bumpalloc: Remove.
82519
82520 2003-08-04  Paul Eggert  <eggert@twinsun.com>
82521
82522         * lib/getloadavg.c: Change copyright notice and spacing to conform to
82523         GNU coding style.
82524
82525         Merge from coreutils.
82526         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
82527         1. From glibc.
82528         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
82529         from Karl Berry, implemented by Jim Meyering.
82530         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
82531         from Dmitry V. Levin.
82532         Remove anachronistic cast of xrealloc.
82533         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
82534         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
82535         type. Otherwise, it wouldn't compile with at least /bin/cc on
82536         ymp-cray-unicos9.0.2.X.
82537         Combine two mostly-identical uses of alloca into one.
82538         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
82539
82540 2003-08-04  Dave Love  <d.love@dl.ac.uk>
82541
82542         [From Emacs.]
82543
82544         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
82545         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
82546         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
82547         obsolete NLIST_NAME_UNION.
82548         [__GNU__]: Undef BSD and FSCALE.
82549         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
82550
82551 2003-08-03  Paul Eggert  <eggert@twinsun.com>
82552
82553         * lib/stdbool_.h (_Bool): Make it signed char, instead of
82554         an enum type, so that it's guaranteed to promote to int.  See:
82555         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
82556
82557 2003-08-03  Karl Berry  <karl@gnu.org>
82558
82559         * config/depcomp: update from automake.
82560
82561 2003-07-31  Paul Eggert  <eggert@twinsun.com>
82562
82563         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
82564         (strerror): Don't assume that a printable int fits in 14 bytes.
82565
82566 2003-07-31  Bruno Haible  <bruno@clisp.org>
82567
82568         * modules/getpass-gnu: New file.
82569         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
82570
82571 2003-07-31  Bruno Haible  <bruno@clisp.org>
82572
82573         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
82574
82575 2003-07-24  Karl Berry  <karl@gnu.org>
82576
82577         * config/missing: update from automake.
82578
82579 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
82580             Bruno Haible  <bruno@clisp.org>
82581
82582         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
82583         * lib/getline.c (getline, getdelim): Likewise.
82584         Remove _GNU_SOURCE define; now it's defined in config.h through
82585         m4/getline.m4.
82586
82587 2003-07-23  Karl Berry  <karl@gnu.org>
82588
82589         * config/config.sub: update from prep.
82590
82591 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82592
82593         * modules/xalloc (Depends-on): Add exitfail.
82594         * modules/xmemcoll: Likewise.
82595
82596 2003-07-22  Paul Eggert  <eggert@twinsun.com>
82597
82598         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
82599         over-parenthesization in macros.
82600
82601         Sync with coreutils.
82602
82603         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
82604         required by C99.
82605
82606         Use `exit_failure' for xalloc and xmemcoll instead of their own
82607         private exit-failure variables.
82608         * lib/xalloc.h (xalloc_exit_failure): Remove.
82609         * lib/xmalloc.c: Likewise.  Include exitfail.h.
82610         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
82611         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
82612         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
82613         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
82614
82615 2003-07-20  Jim Meyering  <jim@meyering.net>
82616
82617         * modules/closeout (Depends-on): Add exitfail.
82618         Suggestion from Bruno Haible.
82619
82620 2003-07-19  Karl Berry  <karl@gnu.org>
82621
82622         * config/config.sub: update from prep.
82623
82624 2003-07-18  Paul Eggert  <eggert@twinsun.com>
82625
82626         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
82627         Remove.
82628         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
82629         to test that it can stand by itself.  Include "exitfail.h".
82630         Clients should set exit_failure instead.
82631         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
82632
82633 2003-07-18  Bruno Haible  <bruno@clisp.org>
82634
82635         * modules/getndelim2: New file.
82636         * modules/getline: Share files with module getndelim2.
82637         * modules/getnline: Depend on getndelim2 instead of sharing files with
82638         it. Add getnline.c to lib_SOURCES.
82639         * MODULES.html.sh (func_all_modules): Add getndelim2.
82640
82641 2003-07-18  Bruno Haible  <bruno@clisp.org>
82642
82643         * m4/getndelim2.m4: New file.
82644         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
82645         invoke gl_PREREQ_GETNDELIM2.
82646         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
82647         gl_PREREQ_GETNDELIM2.
82648         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
82649         gl_GETNDELIM2.
82650
82651 2003-07-18  Bruno Haible  <bruno@clisp.org>
82652
82653         * lib/getndelim2.h: New file.
82654         * lib/getndelim2.c: Make into a module of its own. Include config.h,
82655         getndelim2.h.
82656         (getndelim2): Make non-static. Change return type to ssize_t.
82657         * lib/getline.h: Change argument names.
82658         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
82659         * lib/getnline.c: Include getndelim2.h.
82660
82661 2003-07-18  Andreas Schwab  <schwab@suse.de>
82662
82663         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
82664
82665 2003-07-17  Karl Berry  <karl@gnu.org>
82666
82667         * config/config.sub: update from prep.
82668
82669 2003-07-17  Bruno Haible  <bruno@clisp.org>
82670
82671         * modules/getnline: New file.
82672         * modules/getline: Add lib/getndelim2.c to source file list.
82673         * MODULES.html.sh (func_all_modules): Add getnline.
82674
82675 2003-07-17  Bruno Haible  <bruno@clisp.org>
82676
82677         * m4/getnline.m4: New file.
82678
82679 2003-07-17  Bruno Haible  <bruno@clisp.org>
82680
82681         * m4/Makefile.am.in: Remove file.
82682         * m4/Makefile.am: Remove file.
82683         * m4/Makefile.in: Remove file.
82684
82685 2003-07-17  Bruno Haible  <bruno@clisp.org>
82686
82687         * lib/getnline.h: New file.
82688         * lib/getnline.c: New file.
82689         * lib/getndelim2.c: New file, extracted from getline.c.
82690         (getndelim2): Renamed from getdelim2, with added nmax argument.
82691         * lib/getline.c: Include getndelim2.c.
82692         (getdelim2): Moved out to getndelim2.c.
82693         (getline, getdelim): Update.
82694
82695 2003-07-17  Bruno Haible  <bruno@clisp.org>
82696
82697         * lib/Makefile.am: Remove file.
82698         * lib/Makefile.in: Remove file.
82699
82700 2003-07-17  Bruno Haible  <bruno@clisp.org>
82701
82702         * configure.in: Remove file.
82703         * Makefile.in: Remove file.
82704
82705 2003-07-17  Bruno Haible  <bruno@clisp.org>
82706
82707         * MODULES.html.sh: Put the </BODY> right before </HTML>.
82708
82709 2003-07-16  Karl Berry  <karl@gnu.org>
82710
82711         * config/srclist-update: was running fixlicense twice, which caused
82712                 texinfo.tex to be nullified for some reason.  Simplify,
82713                 $gplsrc is no longer needed as far as I can see?
82714
82715 2003-07-16  Jim Meyering  <jim@meyering.net>
82716
82717         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
82718
82719 2003-07-15  Paul Eggert  <eggert@twinsun.com>
82720
82721         * config/srclist.txt: Get the following files from gettext-runtime/intl
82722         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
82723         ref-del.sin.  From Bruno Haible.
82724         * config/srclist-update (fixfile): Change grep pattern again, since the
82725         previous fix didn't work (there was another trailing $).  Use
82726         '[$]' to escape the $s.
82727
82728 2003-07-15  Karl Berry  <karl@gnu.org>
82729
82730         * lib/vasnprintf.c: update from gettext.
82731
82732 2003-07-15  Karl Berry  <karl@gnu.org>
82733
82734         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
82735         gets expanded when surrounded by '$'.
82736
82737 2003-07-15  Jim Meyering  <jim@meyering.net>
82738
82739         * modules/save-cwd: Don't depend on error.  From Derek Price.
82740
82741 2003-07-15  Jim Meyering  <jim@meyering.net>
82742
82743         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
82744
82745 2003-07-14  Simon Josefsson  <jas@extundo.com>
82746
82747         * modules/mempcpy: New file.
82748         * MODULES.html.sh (func_all_modules): Add mempcpy.
82749
82750 2003-07-14  Simon Josefsson  <jas@extundo.com>
82751
82752         * m4/mempcpy.m4: New file.
82753
82754 2003-07-14  Simon Josefsson  <jas@extundo.com>
82755
82756         * lib/mempcpy.h: New file.
82757         * lib/mempcpy.c: New file.
82758
82759 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82760
82761         * modules/getdate, modules/posixtm: Depend on mktime.
82762
82763 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82764
82765         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
82766         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
82767         unicodeio.c, unicodeio.h, unlocked-io.h:
82768         Switch from LGPL to GPL.
82769
82770 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82771
82772         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
82773         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
82774         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
82775         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
82776         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
82777         updated automatically by ../config/srclist-update.  This changes
82778         their license from LPGL to GPL.
82779
82780 2003-07-14  Paul Eggert  <eggert@twinsun.com>
82781
82782         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
82783         assumed to refer to the root of the most recent stable gettext version.
82784         * config/srclistvars.sh: Add defaults for eggert.
82785         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
82786         Match "This program" as well as "The program".  This is needed
82787         for gettext.
82788
82789 2003-07-14  Jim Meyering  <jim@meyering.net>
82790
82791         Don't emit diagnostics.  Let callers do that.
82792         * lib/save-cwd.c: Don't include "error.h".
82793         (save_cwd): Don't call error.  Ensure that errno is valid
82794         when returning nonzero.
82795
82796         * lib/save-cwd.h (restore_cwd): Update prototype.
82797         * lib/save-cwd.c (restore_cwd): Remove two parameters.
82798         Simplify.  Don't call error upon failure.  Let callers do that.
82799         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
82800         when auditing is enabled.  But don't bother updating the #if.
82801
82802 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
82803
82804         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
82805         it breaks C++ compilation.
82806         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
82807
82808 2003-07-10  Simon Josefsson  <jas@extundo.com>
82809
82810         * modules/strchrnul (Makefile.am): Add strchrnul.h.
82811
82812 2003-07-10  Jim Meyering  <jim@meyering.net>
82813
82814         * m4/clock_time.m4: Remove trailing blank.
82815         * m4/intmax_t.m4: Likewise.
82816
82817 2003-07-10  Jim Meyering  <jim@meyering.net>
82818
82819         * lib/vasnprintf.c: Remove trailing blanks.
82820         Make cpp indentation consistent.
82821
82822 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82823
82824         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
82825         posixver.c, strftime.c, strnlen.c, strverscmp.c:
82826         Switch from LGPL to GPL.
82827
82828 2003-07-09  Paul Eggert  <eggert@twinsun.com>
82829
82830         * config/srclist.txt: Sort sublists.  Add
82831         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
82832         that differ from gnulib for one reason or another; we'd like this list
82833         to be smaller but for now let's document what we have.
82834
82835 2003-07-08  Paul Eggert  <eggert@twinsun.com>
82836
82837         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
82838         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
82839         and sweeter "eval x=$x".
82840         * config/srclist.txt: Get lib/argp* from glibc.
82841
82842 2003-07-07  Paul Eggert  <eggert@twinsun.com>
82843
82844         * lib/mktime.c: Fix some boundary cases and remove need for floating
82845         point.
82846
82847         Issue a compile-time diagnostic if time_t is floating point, or if
82848         two's complement arithmetic is not in effect, or if arithmetic
82849         right shift does not propagate the sign.  These assumptions were
82850         all in the original code but they weren't checked.
82851
82852         (TIME_T_MIDPOINT, verify): New macros.
82853         (__isleap): Remove; it has integer overflow problems.
82854         (leapyear): New function, without those problems.
82855         (ydhms_tm_diff): Remove; splitting into two parts.
82856         (ydhms_diff): New function, containing the arithmetic part of
82857         the old ydhms_tm_diff function.  Issue a compile-time
82858         diagnostic if we are not using C99 integer division.
82859         Avoid casts when possible.
82860         (guess_time_tm): New function, containing the checking part of
82861         the old ydhms_tm_diff function.  Return the new value, rather than
82862         the difference between it and the old.  Accept a new argument T
82863         so that *T specifies the old value.  Check for overflow in the result.
82864
82865         (__mktime_internal): Use a time_t offset, not a long int offset.
82866         This undoes the 2003-06-04 change, which is no longer needed now
82867         that we have better overflow checking.
82868         (localtime_offset): Likewise.
82869
82870         (__mktime_internal): Avoid harmful overflow on hosts where time_t
82871         and long are 64-bit but int is only 32-bit.
82872         (ydhms_diff): Use long int to store year1 and yday1.
82873         Issue a compile-time diagnostic if long int is not wide enough.
82874
82875         (__mktime_internal): Use long int to store adjusted year and yday.
82876         Use plain C rather than preprocessor commands, if that doesn't
82877         affect efficiency.
82878         Check for overflow (and try to repair) after each probe
82879         rather than checking only at the very end.  This avoids some bugs
82880         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
82881         does not equal GMT offset at maximum time).
82882         Use integer to check for overflow rather than floating point; this
82883         is more portable to non-IEEE hosts, and is a tad faster.
82884         When we detect that we are oscillating between two values,
82885         don't check whether tm_isdst has the requested value, since
82886         we already know the answer.  When tm_isdst has the wrong value,
82887         use a different heuristic to find the right one, based on the
82888         extreme values actually observed in practice in tz2003a,
82889         rather than the (overly optimistic) "previous 3 calendar quarters".
82890
82891         (not_equal_tm, print_tm, check_result): Use "const T" rather than
82892         "T const" to accommodate glibc style.
82893         (check_result): Use less-confusing report format.  "long" -> "long int.
82894         (main): Likewise.
82895         Don't loop if the iteration overflows time_t.
82896         Allow a negative step in the iteration.
82897
82898 2003-07-06  Karl Berry  <karl@gnu.org>
82899
82900         * config/depcomp: update from automake.
82901         * config/config.sub: update from prep.
82902
82903 2003-07-03  Karl Berry  <karl@gnu.org>
82904
82905         * config/config.guess: update from prep.
82906
82907 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82908
82909         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
82910         xreadlink.c now includes it unconditionally.
82911
82912 2003-07-01  Paul Eggert  <eggert@twinsun.com>
82913
82914         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
82915         having it depend on HAVE_SYS_TYPES_H.
82916
82917 2003-07-01  Bruno Haible  <bruno@clisp.org>
82918
82919         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
82920         <sys/types.h> should be sufficient.
82921         Reported by Paul Eggert.
82922
82923 2003-06-26  Karl Berry  <karl@gnu.org>
82924
82925         * config/depcomp: update from automake.
82926
82927 2003-06-26  Bruno Haible  <bruno@clisp.org>
82928
82929         * modules/human: Depend on module stdbool.
82930
82931 2003-06-25  Bruno Haible  <bruno@clisp.org>
82932
82933         * modules/readlink: New file.
82934         * modules/xreadlink: Depend on it.
82935         * MODULES.html.sh (func_all_modules): Add readlink.
82936
82937 2003-06-25  Bruno Haible  <bruno@clisp.org>
82938
82939         * m4/readlink.m4: New file.
82940
82941 2003-06-25  Bruno Haible  <bruno@clisp.org>
82942
82943         * lib/readlink.c: New file.
82944
82945 2003-06-22  Karl Berry  <karl@gnu.org>
82946
82947         * config/srclist.txt: update mkinstalldirs from automake.
82948         * config/mkinstalldirs: update.
82949
82950 2003-06-22  Bruno Haible  <bruno@clisp.org>
82951
82952         Portability to mingw32.
82953         * m4/ssize_t.m4: New file, from GNU gettext.
82954         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
82955         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
82956
82957 2003-06-22  Bruno Haible  <bruno@clisp.org>
82958
82959         * modules/safe-read: Add m4/ssize_t.m4.
82960         * modules/xreadlink: Add m4/ssize_t.m4.
82961
82962 2003-06-20  Bruno Haible  <bruno@clisp.org>
82963
82964         Assume C89, so PARAMS isn't needed.
82965         * lib/unicodeio.h (PARAMS): Remove.
82966         * lib/unicodeio.c: Don't use PARAMS.
82967
82968 2003-06-18  Karl Berry  <karl@gnu.org>
82969
82970         * config/config.{guess,sub}: update from prep.
82971
82972 2003-06-18  Jim Meyering  <jim@meyering.net>
82973
82974         Merge changes from coreutils.
82975         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
82976         Remove explicit declarations of xmalloc and realloc.
82977         Include xalloc.h.
82978         (read_utmp): Remove anachronistic cast of xmalloc.
82979
82980 2003-06-17  Paul Eggert  <eggert@twinsun.com>
82981
82982         Assume C89, so PARAMS isn't needed.
82983         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
82984         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
82985         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
82986         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
82987         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
82988         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
82989         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
82990         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
82991         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
82992         lib/xstrtod.h, lib/xstrtol.h: Likewise.
82993         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
82994         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
82995         no longer needed. Anyway, config.h should always be included before any
82996         other file.
82997
82998 2003-06-11  Simon Josefsson  <jas@extundo.com>
82999
83000         * modules/sysexits: New file.
83001         * MODULES.html.sh (func_all_modules): Add sysexits.
83002
83003 2003-06-11  Simon Josefsson  <jas@extundo.com>
83004
83005         * lib/sysexit_.h: New file.
83006
83007 2003-06-11  Derek Price  <derek@ximbiot.com>
83008
83009         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
83010         necessary.
83011
83012 2003-06-11  Bruno Haible  <bruno@clisp.org>
83013
83014         * m4/sysexits.m4: New file.
83015
83016 2003-06-10  Simon Josefsson  <jas@extundo.com>
83017
83018         * lib/argp.h: New file, from glibc.
83019         * lib/argp-ba.c: New file, from glibc.
83020         * lib/argp-eexst.c: New file, from glibc.
83021         * lib/argp-fmtstream.c: New file, from glibc.
83022         * lib/argp-fmtstream.h: New file, from glibc.
83023         * lib/argp-fs-xinl.c: New file, from glibc.
83024         * lib/argp-help.c: New file, from glibc.
83025         * lib/argp-namefrob.h: New file, from glibc.
83026         * lib/argp-parse.c: New file, from glibc.
83027         * lib/argp-pv.c: New file, from glibc.
83028         * lib/argp-pvh.c: New file, from glibc.
83029         * lib/argp-xinl.c: New file, from glibc.
83030
83031 2003-06-10  Simon Josefsson  <jas@extundo.com>
83032
83033         * modules/strchrnul: New file.
83034
83035 2003-06-10  Simon Josefsson  <jas@extundo.com>
83036
83037         * modules/argp: New file.
83038
83039 2003-06-10  Simon Josefsson  <jas@extundo.com>
83040
83041         * m4/strchrnul.m4: New file.
83042
83043 2003-06-10  Simon Josefsson  <jas@extundo.com>
83044
83045         * lib/strchrnul.h: New file.
83046         * lib/strchrnul.c: New file.
83047
83048 2003-06-10  Bruno Haible  <bruno@clisp.org>
83049
83050         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
83051
83052 2003-06-07  Karl Berry  <karl@gnu.org>
83053
83054         * config/config.{guess,sub}: update from prep.
83055
83056 2003-06-07  Jim Meyering  <jim@meyering.net>
83057
83058         * modules/strtod: Use $(...) notation, not @...@ for
83059         AC_REPLACE'd variables.
83060         * modules/localcharset: Likewise.
83061
83062 2003-06-07  Jim Meyering  <jim@meyering.net>
83063
83064         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
83065         in place of my name in the copyright comment.
83066         Remove definition and uses of __P.
83067
83068         From coreutils.
83069         * lib/stat.c: Don't declare xmalloc explicitly.
83070         Instead, include "xalloc.h".
83071         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
83072         xrealloc, and xcalloc return values.
83073         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
83074         Improve comment.
83075         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
83076
83077 2003-06-07  Bruno Haible  <bruno@clisp.org>
83078
83079         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
83080         avoid AC_CONFIG_LINKS.
83081         * modules/fnmatch (Makefile.am): Use explicit creation rule for
83082         fnmatch.h, to avoid AC_CONFIG_LINKS.
83083         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
83084
83085 2003-06-07  Bruno Haible  <bruno@clisp.org>
83086
83087         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
83088         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
83089         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83090         directory.
83091         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
83092         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
83093         directory.
83094
83095 2003-06-06  Jim Meyering  <jim@meyering.net>
83096
83097         Merge from coreutils.
83098         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
83099         Consolidate declarations and initializations of *_base* locals.
83100
83101         Merge from coreutils.
83102         This avoids a core dump on systems without GNU putenv,
83103         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
83104         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
83105         (unsetenv): New static function, from GNU libc.
83106         (rpl_putenv): Use it.
83107
83108         * lib/modechange.c: Remove trailing blanks.
83109
83110         Merge from coreutils.
83111         * lib/fsusage.c: Remove declaration of statfs.
83112         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
83113
83114         * lib/posixtm.c: Include <stdbool.h> unconditionally.
83115
83116 2003-06-06  Jim Meyering  <jim@meyering.net>
83117
83118         * lib/stdbool_.h: Renamed from stdbool.h.in.
83119
83120 2003-06-06  Jim Meyering  <jim@meyering.net>
83121             Bruno Haible  <bruno@clisp.org>
83122
83123         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
83124         Adjust Makefile.am snippet not to redirect directly to target.
83125         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
83126
83127 2003-06-05  Paul Eggert  <eggert@twinsun.com>
83128
83129         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
83130         mismatch, look in future quarters as well as past.  This fixes a
83131         bug when processing fall-backwards gaps immediately after a long
83132         period of daylight-saving time.
83133
83134         * lib/mktime.c: Assume freestanding C89 or better.
83135         (HAVE_LIMITS_H): Remove.  Assume it's 1.
83136         (__P): Remove; not used.
83137         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
83138         (mktime, not_equal_tm, print_tm, check_result,
83139         main): Use prototypes.  Use const * where appropriate.
83140         (main): Fix typo in testing code that uncovered by above changes.
83141         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
83142
83143 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83144
83145         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
83146         locale.h, localeconv.  This merges changes from coreutils.
83147
83148         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
83149         It can be removed after the next Autoconf is released.
83150         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
83151         needed.
83152
83153 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83154
83155         * lib/mktime.c: Fix Debian bug 177940
83156         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
83157         (localtime_offset): Now long int, not time_t, because we want it
83158         to be guaranteed to be signed.  All uses changed.
83159         (__mktime_internal): If overflow would occur when adding offset,
83160         don't add it.
83161
83162         Merge 'human' changes from coreutils.  Rewrite to support
83163         locale-specific notations like thousands separators.
83164         * lib/human.c: Simplify authorship notice.
83165         Include human.h immediately after config.h.
83166         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
83167         <limits.h>: Do not include, since human.h does.
83168         (SIZE_MAX, UINTMAX_MAX): New macros.
83169         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
83170         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
83171         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
83172         (power_letter): Renamed from suffixes.
83173         (generate_suffix_backwards): Remove.
83174         (adjust_value): Now takes int style (because of human.h changes)
83175         and long double value (for greater precision on some platforms).
83176         (group_number): New function.
83177         (human_readable): Use it.  Use integer options, not enum.
83178         Put the options before the sizes in the arg list.
83179         Support all the new options.
83180         The old human_readable function has been removed;
83181         use inttostr.h instead.
83182         (human_readable, default_block_size, humblock):
83183         Use uintmax_t, not int, for block sizes.
83184         (human_readable_inexact, block_size_types): Remove.
83185         (block_size_opts): New constant.
83186         (human_options): Renamed from human_block_size, with new signature
83187         that allows block sizes up to UINTMAX_MAX.  All callers changed.
83188         * lib/human.h: Add copyright and authorship notice.
83189         Include <limits.h> and <stdbool.h> unconditionally.
83190         (PARAMS): Remove.  All uses removed.
83191         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
83192         (enum human_inexact_style): Remove tag; now a nameless enum.
83193         (human_floor, human_ceiling, human_round_to_even): Now have
83194         values 2, 0, 1 rather than -1, 1, 0.
83195         (human_group_digits, human_suppress_point_zero, human_autoscale,
83196         human_base_1024, human_SI, human_B): New constants.
83197         (human_readable_inexact, human_block_size): Remove.
83198         (human_readable): Size args are now uintmax_t, not int.
83199         (human_options): New decl.
83200
83201         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
83202         unnecessary now that we assume C89 or better.  This change
83203         imported from coreutils.
83204
83205         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83206         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
83207         in the 2003-05-30 sync from glibc.
83208
83209         .h files should stand alone, but we shouldn't include <sys/types.h>
83210         if we can get away with just <stddef.h>.
83211
83212         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
83213         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
83214         rather than <sys/types.h>, as we merely need size_t.
83215         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
83216         to get size_t.
83217         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
83218         Include <stdio.h>, to get FILE.
83219         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
83220         memcasecmp.h has included <stddef.h> and all we need is size_t.
83221         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
83222         our interface, instead of including <sys/types.h>
83223
83224 2003-06-04  Paul Eggert  <eggert@twinsun.com>
83225
83226         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
83227         now, as glibc mktime is buggy on non-glibc systems.
83228
83229 2003-06-03  Karl Berry  <karl@gnu.org>
83230
83231         * config/config.sub: update from prep.
83232
83233 2003-06-02  Paul Eggert  <eggert@twinsun.com>
83234
83235         [from coreutils]
83236         Fix some minor time-related bugs with POSIX time arguments.
83237         Some valid time stamps were being rejected (notably -1, and
83238         time stamps before 1900 on 64-bit hosts).  And some invalid
83239         time stamps were being accepted, e.g. September 31.
83240
83241         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
83242         that we can return (time_t) -1 successfully.
83243         * lib/posixtm.c: Likewise.
83244         [HAVE_STDBOOL_H]: Include <stdbool.h>.
83245         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
83246         (t): Remove static var.
83247         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
83248         of static var.  All uses changed.
83249         (year): Do not reject years before 1900; they can occur with
83250         64-bit time_t.
83251         (posix_time_parse): Do not check for out-of-range components;
83252         that is now the caller's responsibility, since our checks were
83253         only approximations.
83254         (posixtime): Use mktime to check for out-of-range components,
83255         since it knows them exactly.
83256         If mktime returns (time_t) -1, check whether an error actually occurred
83257         by invoking localtime on -1.
83258         (main) [TEST_POSIXTIME]: Check for input data errors, and report
83259         posixtime failures better.
83260         Improve the test data (in comments only).
83261
83262 2003-06-02  Karl Berry  <karl@gnu.org>
83263
83264         * config/mkinstalldirs (version): new variable.
83265         (--version): new option.
83266         (usage): improve message.
83267
83268 2003-05-30  Karl Berry  <karl@gnu.org>
83269
83270         * lib/mktime.c: update from libc.
83271
83272 2003-05-30  Bruno Haible  <bruno@clisp.org>
83273
83274         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
83275         * config/config.rpath: Upgrade to gettext-0.12.1.
83276
83277 2003-05-30  Bruno Haible  <bruno@clisp.org>
83278
83279         * m4/gettext.m4: Upgrade to gettext-0.12.1.
83280         * m4/nls.m4: New file, from gettext-0.12.1.
83281         * m4/po.m4: New file, from gettext-0.12.1.
83282         * m4/progtest.m4: Upgrade to gettext-0.12.1.
83283
83284 2003-05-30  Bruno Haible  <bruno@clisp.org>
83285
83286         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
83287         * lib/localcharset.h: Likewise.
83288         * lib/localcharset.c: Likewise.
83289
83290 2003-05-29  Karl Berry  <karl@gnu.org>
83291
83292         * config/config.rpath: update from gettext.
83293
83294 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83295
83296         Assume the headers required for C89 freestanding compilers.
83297         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
83298         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
83299         * m4/human.m4 (gl_HUMAN): Likewise.
83300         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
83301         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
83302         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83303         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
83304         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83305         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
83306
83307 2003-05-28  Paul Eggert  <eggert@twinsun.com>
83308
83309         Assume the headers required for C89 freestanding compilers.
83310         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
83311         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
83312         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
83313         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
83314         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
83315         define, since <limits.h> is guaranteed to do that.
83316         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
83317         * lib/exclude.c: Include <stdbool.h> unconditionally.
83318         * lib/tempname.c: Include <stddef.h> unconditionally.
83319         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
83320         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
83321         <stddef.h> does that.
83322         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
83323         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
83324         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
83325         needed.
83326         * lib/xstrtol.c: Likewise.
83327         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
83328         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
83329
83330         * lib/addext.c (addext): Use assignment rather than cast, to avoid
83331         warnings on some platforms.
83332
83333         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
83334         arbitrarily.
83335
83336 2003-05-26  Jim Meyering  <jim@meyering.net>
83337
83338         Merge in a change from coreutils:
83339         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
83340         that is guaranteed to be `no'.  Use `no_such_member' to indicate
83341         that condition, rather than `-1' which is slightly misleading.
83342         Change the name of the cache variable to have the gl_ prefix.
83343         Prompted by a patch from Richard Dawe for DJGPP.
83344
83345 2003-05-24  Karl Berry  <karl@gnu.org>
83346
83347         * config/config.guess: update from prep.
83348
83349 2003-05-22  Karl Berry  <karl@gnu.org>
83350
83351         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
83352
83353 2003-05-20  Karl Berry  <karl@gnu.org>
83354
83355         * config/config.guess: update from prep.
83356
83357 2003-05-18  Karl Berry  <karl@gnu.org>
83358
83359         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
83360         might actually be set by the user.
83361
83362         * config/depcomp, install-sh, mdate-sh: update from automake.
83363
83364 2003-05-17  Bruno Haible  <bruno@clisp.org>
83365
83366         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
83367         invalid expansion for AC_EGREP_CPP.
83368         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
83369         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
83370         Suggested by Akim Demaille <akim@epita.fr> in
83371         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
83372
83373 2003-05-12  Jim Meyering  <jim@meyering.net>
83374
83375         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
83376         the space-padded-by-default conversion specifiers, %e, %k, %l.
83377
83378 2003-05-12  Bruno Haible  <bruno@clisp.org>
83379
83380         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
83381         the string is longer than 4 KB.
83382
83383 2003-05-11  Karl Berry  <karl@gnu.org>
83384
83385         * config/config.{guess,sub}: update from prep.
83386
83387 2003-05-09  Bruno Haible  <bruno@clisp.org>
83388
83389         * modules/error: Add m4/strerror_r.m4 to file list.
83390
83391 2003-05-03  Bruno Haible  <bruno@clisp.org>
83392
83393         Upgrade to Unicode-4.0.
83394         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
83395         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
83396         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
83397         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
83398         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
83399         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
83400         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
83401         Change width of U+E0100..U+E01EF from 1 to 0.
83402
83403 2003-04-25  Jim Meyering  <jim@meyering.net>
83404
83405         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
83406         of type size_t, not int.
83407
83408 2003-04-25  Bruno Haible  <bruno@clisp.org>
83409
83410         * lib/copy-file.c: Include <stddef.h>, for size_t.
83411
83412 2003-04-21  Paul Eggert  <eggert@twinsun.com>
83413
83414         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
83415         code which expansion is under static control.  Patch imported from
83416         Akim Demaille's patch to Bison; see
83417         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
83418
83419 2003-04-14  Bruno Haible  <bruno@clisp.org>
83420
83421         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
83422
83423 2003-04-11  Jim Meyering  <jim@meyering.net>
83424
83425         Merge changes from Coreutils.
83426
83427         2003-03-22  Jim Meyering  <jim@meyering.net>
83428
83429         * lib/strftime.c (widen): Cast alloca return value to proper type.
83430
83431         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
83432
83433         From GNU libc.
83434         * lib/strftime.c (my_strftime): Handle very large width
83435         specifications for numeric values correctly.  Improve checks for
83436         overflow.
83437
83438         2003-01-19  Jim Meyering  <jim@meyering.net>
83439
83440         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
83441         definitions.
83442         (nl_get_alt_digit) [! defined my_strftime]: Define.
83443         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
83444         _nl_get_alt_digit and _nl_get_walt_digit.
83445
83446         * lib/strftime.c (my_strftime): Merge in locale-related changes from
83447         libc. These changes have no effect outside of _LIBC.
83448
83449 2003-04-10  Bruno Haible  <bruno@clisp.org>
83450
83451         * modules/findprog: New file.
83452         * MODULES.html.sh (func_all_modules): Add it.
83453
83454 2003-04-10  Bruno Haible  <bruno@clisp.org>
83455
83456         * m4/findprog.m4: New file.
83457         * m4/eaccess.m4: New file.
83458
83459 2003-04-10  Bruno Haible  <bruno@clisp.org>
83460
83461         * lib/findprog.h: New file, from GNU gettext.
83462         * lib/findprog.c: New file, from GNU gettext.
83463
83464 2003-04-05  Jim Meyering  <jim@meyering.net>
83465
83466         Merge changes from Coreutils.
83467
83468         * lib/exclude.h (PARAMS): Remove definition and uses.
83469         * lib/exclude.c: Remove uses of `PARAMS'.
83470
83471         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
83472         Add test-cases for DOS filenames. Declare program_name.
83473         (main): Set up program_name.  Patch by Rich Dawe.
83474
83475         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
83476         error from mntctl.
83477         Use mntctl's return value to drive the entry-processing loop, since
83478         we can't rely on the value of the vmt_length member in the last
83479         entry.  On some systems doing so could result in exhausting
83480         virtual memory.  Based in part on a patch from Mike Jetzer.
83481
83482 2003-04-04  Bruno Haible  <bruno@clisp.org>
83483
83484         * modules/linebreak: New file.
83485         * MODULES.html.sh (func_all_modules): Add it.
83486
83487 2003-04-04  Bruno Haible  <bruno@clisp.org>
83488
83489         * m4/linebreak.m4: New file.
83490
83491 2003-04-04  Bruno Haible  <bruno@clisp.org>
83492
83493         * lib/linebreak.h: New file, from GNU gettext.
83494         * lib/linebreak.c: New file, from GNU gettext with slight
83495         modifications.
83496         * lib/lbrkprop.h: New file, from GNU gettext.
83497
83498 2003-04-03  Bruno Haible  <bruno@clisp.org>
83499
83500         * modules/utf8-ucs4: New file.
83501         * modules/utf16-ucs4: New file.
83502         * modules/ucs4-utf8: New file.
83503         * modules/ucs4-utf16: New file.
83504         * MODULES.html.sh (func_all_modules): Add them.
83505
83506 2003-04-03  Bruno Haible  <bruno@clisp.org>
83507
83508         * m4/utf-ucs4.m4: New file.
83509         * m4/ucs4-utf.m4: New file.
83510
83511 2003-04-03  Bruno Haible  <bruno@clisp.org>
83512
83513         * lib/utf8-ucs4.h: New file, from GNU gettext.
83514         * lib/utf16-ucs4.h: New file, from GNU gettext.
83515         * lib/ucs4-utf8.h: New file, from GNU gettext.
83516         * lib/ucs4-utf16.h: New file, from GNU gettext.
83517
83518 2003-04-02  Bruno Haible  <bruno@clisp.org>
83519
83520         * modules/binary-io: New file.
83521         * MODULES.html.sh (func_all_modules): Add it.
83522
83523 2003-04-02  Bruno Haible  <bruno@clisp.org>
83524
83525         * lib/binary-io.h: New file, from GNU gettext.
83526
83527 2003-04-01  Bruno Haible  <bruno@clisp.org>
83528
83529         * modules/pathname: New file.
83530         * MODULES.html.sh (func_all_modules): Add it.
83531
83532 2003-04-01  Bruno Haible  <bruno@clisp.org>
83533
83534         * lib/pathname.h: New file, from GNU gettext.
83535         * lib/concatpath.c: New file, from GNU gettext.
83536
83537 2003-03-30  Bruno Haible  <bruno@clisp.org>
83538
83539         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
83540
83541 2003-03-30  Bruno Haible  <bruno@clisp.org>
83542
83543         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
83544         function chown() doesn't exist.
83545
83546 2003-03-28  Bruno Haible  <bruno@clisp.org>
83547
83548         * modules/copy-file: New file.
83549         * MODULES.html.sh (func_all_modules): Add it.
83550
83551 2003-03-28  Bruno Haible  <bruno@clisp.org>
83552
83553         * m4/copy-file.m4: New file.
83554
83555 2003-03-28  Bruno Haible  <bruno@clisp.org>
83556
83557         * lib/copy-file.h: New file, from GNU gettext.
83558         * lib/copy-file.c: New file, from GNU gettext.
83559
83560 2003-03-18  Jim Meyering  <jim@meyering.net>
83561
83562         * lib/quote.c (quote_n): Fix typo in comment.
83563
83564 2003-03-18  Bruno Haible  <bruno@clisp.org>
83565
83566         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
83567         checking.
83568         * m4/onceonly_2_57.m4: Likewise.
83569
83570 2003-03-17  Bruno Haible  <bruno@clisp.org>
83571
83572         * m4/onceonly.m4: Require autoconf 2.54 or newer.
83573         (m4_quote): Remove macro.
83574         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
83575
83576 2003-03-14  Jim Meyering  <jim@meyering.net>
83577
83578         Merge changes from Coreutils.
83579         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
83580         to be const, in order to avoid warnings.
83581         (obstack_room): Likewise.
83582         (obstack_empty_p): Likewise.
83583
83584 2003-03-14  Bruno Haible  <bruno@clisp.org>
83585
83586         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
83587         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
83588
83589 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83590
83591         Merge changes from Bison.
83592         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
83593         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
83594         when compiling Bison 1.875's `bitset bset = obstack_alloc
83595         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
83596         * lib/hash.c: Include <stdbool.h> unconditionally.
83597
83598 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83599
83600         * m4/onceonly.m4 (m4_quote): New macro.
83601         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
83602         Quote AC_FOREACH variable-expansions properly.
83603
83604 2003-03-13  Paul Eggert  <eggert@twinsun.com>
83605
83606         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
83607
83608 2003-03-09  Paul Eggert  <eggert@twinsun.com>
83609
83610         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
83611         Reported by Bruce Becker; see:
83612         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
83613
83614 2003-03-03  Paul Eggert  <eggert@twinsun.com>
83615             Bruno Haible  <bruno@clisp.org>
83616
83617         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
83618         Reported by John Hughes, see
83619         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
83620
83621 2003-02-20  Bruno Haible  <bruno@clisp.org>
83622
83623         * MODULES.html.sh (func_all_modules): Add poll.
83624
83625 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83626
83627         * modules/poll: New file.
83628
83629 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83630
83631         * lib/poll_.h: New file.
83632         * lib/poll.c: New file.
83633
83634 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
83635
83636         * m4/poll.m4: New file.
83637
83638 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83639
83640         * modules/mathl: New file.
83641
83642 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83643
83644         * lib/mathl.h: New file.
83645         * lib/acosl.c: New file.
83646         * lib/asinl.c: New file.
83647         * lib/atanl.c: New file.
83648         * lib/ceill.c: New file.
83649         * lib/cosl.c: New file.
83650         * lib/expl.c: New file.
83651         * lib/floorl.c: New file.
83652         * lib/frexpl.c: New file.
83653         * lib/ldexpl.c: New file.
83654         * lib/logl.c: New file.
83655         * lib/sincosl.c: New file.
83656         * lib/sinl.c: New file.
83657         * lib/sqrtl.c: New file.
83658         * lib/tanl.c: New file.
83659         * lib/trigl.c: New file.
83660         * lib/trigl.h: New file.
83661
83662 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
83663
83664         * m4/mathl.m4: New file.
83665
83666 2003-02-18  Bruno Haible  <bruno@clisp.org>
83667
83668         * MODULES.html.sh (func_all_modules): Add mathl.
83669
83670 2003-02-17  Bruno Haible  <bruno@clisp.org>
83671
83672         * modules/mkdtemp: New module.
83673         * MODULES.html.sh (func_all_modules): Add it.
83674
83675 2003-02-17  Bruno Haible  <bruno@clisp.org>
83676
83677         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
83678
83679 2003-02-17  Bruno Haible  <bruno@clisp.org>
83680
83681         * lib/mkdtemp.h: New file, from GNU gettext.
83682         * lib/mkdtemp.c: New file, from GNU gettext.
83683
83684 2003-02-02  Jim Meyering  <jim@meyering.net>
83685
83686         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
83687         e.g. glibc-2.2.93.
83688
83689 2003-01-31  Bruno Haible  <bruno@clisp.org>
83690
83691         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
83692         'rpl_rename'.
83693         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
83694         'rpl_strnlen'.
83695         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
83696         'rpl_strtod'.
83697         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
83698         'rpl_utime'.
83699
83700 2003-01-31  Bruno Haible  <bruno@clisp.org>
83701
83702         * lib/rename.c: #undef rename before defining rpl_rename.
83703         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
83704
83705 2003-01-30  Bruno Haible  <bruno@clisp.org>
83706
83707         * modules/vasnprintf, modules/vasprintf: New modules.
83708         * MODULES.html.sh (func_all_modules): Add them.
83709
83710 2003-01-30  Bruno Haible  <bruno@clisp.org>
83711
83712         * m4/signed.m4: New file, from GNU gettext.
83713         * m4/longdouble.m4: New file, from GNU gettext.
83714         * m4/wchar_t.m4: New file, from GNU gettext.
83715         * m4/wint_t.m4: New file, from GNU gettext.
83716         * m4/vasnprintf.m4: New file.
83717         * m4/vasprintf.m4: New file.
83718
83719 2003-01-30  Bruno Haible  <bruno@clisp.org>
83720
83721         * lib/printf-args.h: New file, from GNU gettext.
83722         * lib/printf-args.c: New file, from GNU gettext.
83723         * lib/printf-parse.h: New file, from GNU gettext.
83724         * lib/printf-parse.c: New file, from GNU gettext.
83725         * lib/vasnprintf.h: New file, from GNU gettext.
83726         * lib/vasnprintf.c: New file, from GNU gettext.
83727         * lib/asnprintf.c: New file, from GNU gettext.
83728         * lib/vasprintf.h: New file, from GNU gettext with modifications.
83729         * lib/vasprintf.c: New file, from GNU gettext.
83730         * lib/asprintf.c: New file, from GNU gettext.
83731
83732 2003-01-29  Bruno Haible  <bruno@clisp.org>
83733
83734         * modules/stpncpy: New module.
83735         * MODULES.html.sh (func_all_modules): Add it.
83736
83737 2003-01-29  Bruno Haible  <bruno@clisp.org>
83738
83739         * m4/stpncpy.m4: New file.
83740
83741 2003-01-29  Bruno Haible  <bruno@clisp.org>
83742
83743         * lib/stpncpy.h: New file, from GNU gettext with modifications.
83744         * lib/stpncpy.c: New file, from GNU gettext with modifications.
83745
83746 2003-01-28  Bruno Haible  <bruno@clisp.org>
83747
83748         * modules/c-ctype: New module.
83749         * MODULES.html.sh (func_all_modules): Add it.
83750
83751 2003-01-28  Bruno Haible  <bruno@clisp.org>
83752
83753         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
83754         Paul Eggert.
83755         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
83756         Paul Eggert.
83757
83758 2003-01-27  Bruno Haible  <bruno@clisp.org>
83759
83760         * modules/xsetenv: New module.
83761         * MODULES.html.sh (func_all_modules): Add it.
83762
83763 2003-01-27  Bruno Haible  <bruno@clisp.org>
83764
83765         * lib/xsetenv.h: New file, from GNU gettext.
83766         * lib/xsetenv.c: New file, from GNU gettext.
83767
83768 2003-01-23  Jim Meyering  <jim@meyering.net>
83769
83770         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
83771         from working on systems without dirfd (at least Irix and OSF1/Tru64).
83772
83773 2003-01-23  Bruno Haible  <bruno@clisp.org>
83774
83775         * modules/minmax: New module.
83776         * MODULES.html.sh (func_all_modules): Add it.
83777
83778 2003-01-23  Bruno Haible  <bruno@clisp.org>
83779
83780         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
83781         Eggert.
83782
83783 2003-01-22  Bruno Haible  <bruno@clisp.org>
83784
83785         * modules/exit: New module.
83786         * MODULES.html.sh (func_all_modules): Add it.
83787
83788 2003-01-22  Bruno Haible  <bruno@clisp.org>
83789
83790         * lib/exit.h: New file, from GNU gettext.
83791
83792 2003-01-19  Bruno Haible  <bruno@clisp.org>
83793
83794         * gnulib-tool: Recognize option --extract-maintainer.
83795         (func_get_maintainer): New function.
83796         * modules/*: Add Maintainer entry.
83797
83798 2003-01-16  Jim Meyering  <jim@meyering.net>
83799
83800         * m4/regex.m4: The `regex' struct is both input and output.
83801         Initialize it before each use.  Patch by Tim Waugh.
83802
83803 2003-01-16  Bruno Haible  <bruno@clisp.org>
83804
83805         * MODULES.html.sh: Add a table of contents. Add the module name as
83806         leftmost column. Add hyperlinks.
83807
83808 2003-01-15  Bruno Haible  <bruno@clisp.org>
83809
83810         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
83811
83812 2003-01-15  Bruno Haible  <bruno@clisp.org>
83813
83814         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
83815         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
83816         suffix.
83817
83818 2003-01-15  Bruno Haible  <bruno@clisp.org>
83819
83820         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
83821
83822 2003-01-15  Bruno Haible  <bruno@clisp.org>
83823
83824         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
83825         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
83826
83827 2003-01-14  Jim Meyering  <jim@meyering.net>
83828
83829         * lib/same.c (same_name): Tweak a comment.
83830
83831 2003-01-14  Bruno Haible  <bruno@clisp.org>
83832
83833         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
83834         when a string comparison is sufficient.
83835
83836 2003-01-14  Bruno Haible  <bruno@clisp.org>
83837
83838         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
83839         'unsigned int'.
83840
83841 2003-01-14  Bruno Haible  <bruno@clisp.org>
83842
83843         * lib/hash-pjw.c: Add comment about low quality of this function.
83844
83845 2003-01-13  Bruno Haible  <bruno@clisp.org>
83846
83847         * modules/stpcpy: Distribute lib/stpcpy.h.
83848         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
83849
83850 2003-01-13  Bruno Haible  <bruno@clisp.org>
83851
83852         * modules/*: Add a description.
83853         * modules/strpbrk: Fix Makefile.am snippet.
83854         * modules/strtoimax: Fix dependencies.
83855         * modules/strtoumax: Likewise.
83856
83857 2003-01-13  Bruno Haible  <bruno@clisp.org>
83858
83859         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
83860         * modules/alloca (Makefile.am): All object files depend on alloca.h.
83861         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
83862
83863 2003-01-13  Bruno Haible  <bruno@clisp.org>
83864
83865         * gnulib-tool (func_create_testdir): Store config/* files in the main
83866         directory.
83867         * config.rpath: Move to ...
83868         * config/config.rpath: ... here.
83869         * modules/gettext: Contains config/config.rpath, not config.rpath.
83870         * modules/iconv: Likewise.
83871
83872 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83873
83874         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83875         to avoid collisions with libcurses and libreadline.
83876
83877         * m4/getstr.m4: Remove.
83878         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
83879
83880 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83881
83882         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83883         to avoid collisions with libcurses and libreadline.
83884
83885         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
83886         * lib/getstr.h, getstr.c: Remove.
83887         * lib/getline.c: Include "getline.h", to check interface.
83888         Move body of old getstr.c here: this defines MIN_CHUNK and
83889         declares getdelim2, which is renamed from getstr.
83890         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
83891
83892         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
83893         All uses changed.
83894         * lib/linebuffer.h: Likewise.
83895         (readline): Remove backward-compatibility macro.
83896
83897 2003-01-12  Paul Eggert  <eggert@twinsun.com>
83898
83899         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
83900         to avoid collisions with libcurses and libreadline.
83901         * getstr: Remove.
83902         * MODULES.html.sh: Remove getstr.
83903         * modules/getline: Depend on unlocked-io, not getstr.
83904
83905 2003-01-12  Jim Meyering  <jim@meyering.net>
83906
83907         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
83908
83909 2003-01-10  Bruno Haible  <bruno@clisp.org>
83910
83911         * modules/alloca: Change Makefile.am requirements. Simplify Include
83912         requirements. Add lib/alloca_.h to file list.
83913
83914 2003-01-10  Bruno Haible  <bruno@clisp.org>
83915
83916         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
83917
83918 2003-01-10  Bruno Haible  <bruno@clisp.org>
83919
83920         * lib/alloca_.h: New file.
83921         * lib/getdate.y: Unconditionally include alloca.h.
83922         * lib/makepath.c: Likewise.
83923         * lib/setenv.c: Likewise.
83924         * lib/userspec.c: Likewise.
83925
83926 2003-01-09  Karl Berry  <karl@gnu.org>
83927
83928         * MODULES.html.sh: include `dirname $0` in PATH, to find
83929         gnulib-tool.
83930
83931 2003-01-09  Bruno Haible  <bruno@clisp.org>
83932
83933         * modules/stdbool: Change configure.ac, Makefile.am requirements.
83934         Simplify Include requirements. Add lib/stdbool.h.in to file list.
83935
83936 2003-01-09  Bruno Haible  <bruno@clisp.org>
83937
83938         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
83939
83940 2003-01-09  Bruno Haible  <bruno@clisp.org>
83941
83942         * lib/stdbool.h.in: New file.
83943
83944 2003-01-09  Bruno Haible  <bruno@clisp.org>
83945
83946         * gnulib-tool (func_all_modules): Ignore files ending in ~.
83947         * MODULES.html.sh: Likewise.
83948
83949 2003-01-08  Jim Meyering  <jim@meyering.net>
83950
83951         * lib/full-write.c: Undefine and define-away `const' after inclusion
83952         of errno.h, not before.  Suggestion from Bruno Haible.
83953
83954 2003-01-08  Bruno Haible  <bruno@clisp.org>
83955
83956         * modules/full-read: Depend on full-write.
83957
83958 2003-01-08  Bruno Haible  <bruno@clisp.org>
83959
83960         * lib/safe-read.c: Include specification header first, to ensure its
83961         selfcontainedness.
83962         * lib/full-write.c: Likewise.
83963
83964 2003-01-07  Jim Meyering  <jim@meyering.net>
83965
83966         * lib/full-write.c: Rework so that it may serve to define full_read,
83967         too.
83968         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
83969
83970 2003-01-07  Bruno Haible  <bruno@clisp.org>
83971
83972         * lib/strtoimax.c: Include <stdint.h> as an alternative to
83973         <inttypes.h>.
83974         * lib/xstrtol.h: Likewise.
83975         * lib/xstrtoimax.c: Likewise.
83976         * lib/xstrtoumax.c: Likewise.
83977         * lib/human.h: Likewise.
83978
83979         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
83980         on systems that have <inttypes.h> but not <stdint.h>.
83981
83982 2003-01-07  Bruno Haible  <bruno@clisp.org>
83983
83984         * MODULES.html.sh: Add copyright notice.
83985         (missed_files): Omit CVS directory entries.
83986         (func_module): Make it work with sed-3.02.
83987         * MODULES.txt: Remove file.
83988
83989 2003-01-06  Jim Meyering  <jim@meyering.net>
83990
83991         * lib/version-etc.c: Update year in translatable copyright string.
83992
83993 2003-01-03  Karl Berry  <karl@gnu.org>
83994
83995         * config/config.{guess,sub}: update from prep.
83996
83997 2003-01-02  Karl Berry  <karl@gnu.org>
83998
83999         * doc/COPYING.DOC: belatedly updated to 1.2.
84000
84001 2003-01-01  Karl Berry  <karl@gnu.org>
84002
84003         * gnulib-tool (func_verify_module): report module name $module in
84004         error message, not $1.
84005         * gnulib-tool (create-testdir): don't complain if destdir couldn't
84006         be created, only if it doesn't exist.
84007         * gnulib-tool (last_checkin_date): don't expand the $Date here.
84008
84009 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84010
84011         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
84012
84013 2002-12-31  Paul Eggert  <eggert@twinsun.com>
84014
84015         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
84016         memcmp if strcoll doesn't work.
84017
84018 2002-12-31  Bruno Haible  <bruno@clisp.org>
84019
84020         * lib/utime.c (utime_null): No need to call ftruncate if the file was
84021         nonempty.
84022
84023 2002-12-31  Bruno Haible  <bruno@clisp.org>
84024
84025         * lib/memcoll.c (STRCOLL): New macro.
84026         (memcoll): Use it.
84027
84028 2002-12-31  Bruno Haible  <bruno@clisp.org>
84029
84030         * lib/localcharset.h: New file.
84031         * lib/localcharset.c: Include it.
84032         * lib/unicodeio.c: Likewise.
84033
84034 2002-12-31  Bruno Haible  <bruno@clisp.org>
84035
84036         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
84037         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
84038
84039 2002-12-31  Bruno Haible  <bruno@clisp.org>
84040
84041         * lib/getline.h: Include <stddef.h>, for size_t.
84042
84043         * lib/unicodeio.h: Include <stddef.h>, for size_t.
84044         * lib/unicodeio.c: Don't include <stddef.h>.
84045
84046 2002-12-31  Bruno Haible  <bruno@clisp.org>
84047
84048         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
84049         HAVE_TM_ZONE.
84050
84051 2002-12-24  Karl Berry  <karl@gnu.org>
84052
84053         * config/config.guess: update from prep.
84054
84055 2002-12-24  Bruno Haible  <bruno@clisp.org>
84056
84057         General infrasructure.
84058         * m4/README: Rewritten.
84059         * m4/onceonly.m4: New file.
84060         * m4/onceonly_2_57.m4: New file.
84061
84062         Module atexit.
84063         * m4/atexit.m4: New file.
84064
84065         Module strtod.
84066         * m4/strtod.m4: New file.
84067
84068         Module strtol.
84069         * m4/strtol.m4: New file.
84070
84071         Module strtoul.
84072         * m4/strtoul.m4: New file.
84073
84074         Module memchr.
84075         * m4/memchr.m4: New file.
84076
84077         Module memcmp.
84078         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
84079         (jm_FUNC_MEMCMP): Invoke it.
84080
84081         Module memcpy.
84082         * m4/memcpy.m4: New file.
84083
84084         Module memmove.
84085         * m4/memmove.m4: New file.
84086
84087         Module memset.
84088         * m4/memset.m4: New file.
84089
84090         Module strcspn.
84091         * m4/strcspn.m4: New file.
84092
84093         Module strpbrk.
84094         * m4/strpbrk.m4: New file.
84095
84096         Module strstr.
84097         * m4/strstr.m4: New file.
84098
84099         Module strerror.
84100         * m4/strerror.m4: New file.
84101
84102         Module mktime.
84103         * m4/mktime.m4: Renamed from jm-mktime.m4.
84104         (gl_PREREQ_MKTIME): New macro.
84105         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
84106
84107         Module malloc.
84108         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
84109         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
84110         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
84111
84112         Module realloc.
84113         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
84114         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
84115         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
84116
84117         Module strftime.
84118         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
84119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
84120         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
84121         gl_TM_GMTOFF.
84122         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
84123
84124         Module xalloc.
84125         * m4/xalloc.m4: New file.
84126
84127         Module alloca.
84128         * m4/alloca.m4: New file.
84129
84130         Module putenv.
84131         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
84132         (jm_FUNC_PUTENV): Invoke it.
84133
84134         Module setenv.
84135         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
84136         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
84137         when invoked twice.
84138         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
84139         gt_FUNC_SETENV.
84140
84141         Module memrchr.
84142         * m4/memrchr.m4: New file.
84143
84144         Module stpcpy.
84145         * m4/stpcpy.m4: New file.
84146
84147         Module strcase.
84148         * m4/strcase.m4: New file.
84149
84150         Module strdup.
84151         * m4/strdup.m4: New file.
84152
84153         Module strnlen.
84154         * m4/strnlen.m4: New file.
84155
84156         Module strndup.
84157         * m4/strndup.m4: New file.
84158
84159         Module xstrtod.
84160         * m4/xstrtod.m4: New file.
84161
84162         Module xstrtol.
84163         * m4/xstrtol.m4: New file.
84164
84165         Module getdate.
84166         * m4/getdate.m4: New file.
84167
84168         Module unlocked-io.
84169         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
84170         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
84171         * m4/jm-glibc-io.m4n: Remove file.
84172
84173         Module long-options.
84174         * m4/long-options.m4: New file.
84175
84176         Module md5.
84177         * m4/md5.m4: New file.
84178
84179         Module sha.
84180         * m4/sha.m4: New file.
84181
84182         Module getstr.
84183         * m4/getstr.m4: New file.
84184
84185         Module getline.
84186         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
84187         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
84188         <sys/types.h>, for size_t. Use the function name gnu_getline, not
84189         simply getline. Infoke gl_PREREQ_GETLINE.
84190
84191         Module obstack.
84192         * m4/obstack.m4: New file.
84193
84194         Module hash.
84195         * m4/hash.m4: New file.
84196
84197         Module readtokens.
84198         * m4/readtokens.m4: New file.
84199
84200         Module strverscmp.
84201         * m4/strverscmp.m4: New file.
84202
84203         Module stdbool.
84204         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
84205         OSF/1.
84206
84207         Module strtoll.
84208         * m4/strtoll.m4: New file.
84209
84210         Module strtoull.
84211         * m4/strtoull.m4: New file.
84212
84213         Module strtoimax.
84214         * m4/strtoimax.m4: New file.
84215
84216         Module strtoumax.
84217         * m4/strtoumax.m4: New file.
84218
84219         Module xstrtoimax.
84220         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
84221         jm_AC_PREREQ_XSTRTOIMAX.
84222         Moved the strtol prerequisites to strtol.m4.
84223         Moved the strtoll prerequisites to strtoll.m4.
84224         Moved the strtoimax prerequisites to strtoimax.m4.
84225
84226         Module xstrtoumax.
84227         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
84228         jm_AC_PREREQ_XSTRTOUMAX.
84229         Moved the strtoul prerequisites to strtoul.m4.
84230         Moved the strtoull prerequisites to strtoull.m4.
84231         Moved the strtoumax prerequisites to strtoumax.m4.
84232
84233         Module chown.
84234         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
84235         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
84236
84237         Module dup2.
84238         * m4/dup2.m4: New file.
84239
84240         Module ftruncate.
84241         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
84242         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
84243
84244         Module getgroups.
84245         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
84246         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
84247
84248         Module gettimeofday.
84249         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
84250         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
84251         gl_PREREQ_GETTIMEOFDAY.
84252
84253         Module mkdir.
84254         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
84255         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
84256
84257         Module mkstemp.
84258         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
84259         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
84260         jm_AC_TYPE_UINTMAX_T.
84261         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
84262
84263         Module stat.
84264         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
84265         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
84266
84267         Module lstat.
84268         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
84269         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
84270
84271         Module timespec.
84272         * m4/timespec.m4 (gl_TIMESPEC): New macro.
84273         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
84274         * m4/st_mtim.m4: Indentation.
84275
84276         Module nanosleep.
84277         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
84278         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
84279         gl_PREREQ_NANOSLEEP.
84280
84281         Module regex.
84282         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
84283         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
84284         (gl_REGEX): New macro.
84285
84286         Module rename.
84287         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
84288         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
84289
84290         Module rmdir.
84291         * m4/rmdir.m4: New file.
84292
84293         Module utime.
84294         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
84295         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
84296         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
84297
84298         Module dirname.
84299         * m4/dirname.m4: New file.
84300
84301         Module getopt.
84302         * m4/getopt.m4: New file.
84303
84304         Module unistd-safer.
84305         * m4/unistd-safer.m4: New file.
84306
84307         Module fnmatch.
84308         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
84309         declaration.
84310         (gl_PREREQ_FNMATCH_EXTRA): New macro.
84311         (gl_FUNC_FNMATCH_POSIX): New macro.
84312         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
84313         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
84314         simply fnmatch.
84315
84316         Module exclude.
84317         * m4/exclude.m4: New file.
84318
84319         Module human.
84320         * m4/human.m4: New file.
84321
84322         Module acl.
84323         * m4/acl.m4: Nop.
84324
84325         Module backupfile.
84326         * m4/backupfile.m4: New file.
84327         * m4/d-ino.m4: Indentation.
84328
84329         Module fsusage.
84330         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
84331         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
84332         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
84333
84334         Module dirfd.
84335         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
84336         requirements.
84337
84338         Module euidaccess.
84339         * m4/euidaccess.m4: New file.
84340
84341         Module file-type.
84342         * m4/file-type.m4: New file.
84343
84344         Module fileblocks.
84345         * m4/fileblocks.m4: New file.
84346
84347         Module filemode.
84348         * m4/filemode.m4: New file.
84349
84350         Module isdir.
84351         * m4/isdir.m4: New file.
84352
84353         Module lchown.
84354         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
84355         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
84356
84357         Module makepath.
84358         * m4/makepath.m4: New file.
84359
84360         Module modechange.
84361         * m4/modechange.m4: New file.
84362
84363         Module mountlist.
84364         * m4/mountlist.m4: New file.
84365         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
84366         Indentation.
84367
84368         Module path-concat.
84369         * m4/path-concat.m4: New file.
84370
84371         Module pathmax.
84372         * m4/pathmax.m4: New file.
84373
84374         Module same.
84375         * m4/same.m4: New file.
84376
84377         Module save-cwd.
84378         * m4/save-cwd.m4: New file.
84379
84380         Module savedir.
84381         * m4/savedir.m4: New file.
84382
84383         Module xgetcwd.
84384         * m4/xgetcwd.m4: New file.
84385         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
84386
84387         Module xreadlink.
84388         * m4/xreadlink.m4: New file.
84389
84390         Module safe-read.
84391         * m4/safe-read.m4: New file.
84392
84393         Module safe-write.
84394         * m4/safe-write.m4: New file.
84395
84396         Module closeout.
84397         * m4/closeout.m4: New file.
84398
84399         Module stdio-safer.
84400         * m4/stdio-safer.m4: New file.
84401
84402         Module getpass.
84403         * m4/getpass.m4: New file.
84404
84405         Module getugroups.
84406         * m4/getugroups.m4: New file.
84407
84408         Module group-member.
84409         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
84410         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
84411
84412         Module idcache.
84413         * m4/idcache.m4: New file.
84414
84415         Module userspec.
84416         * m4/userspec.m4: New file.
84417
84418         Module gettime.
84419         * m4/clock_time.m4: New file.
84420         * m4/gettime.m4: New file.
84421
84422         Module settime.
84423         * m4/settime.m4: New file.
84424
84425         Module posixtm.
84426         * m4/posixtm.m4: New file.
84427
84428         Module gethostname.
84429         * m4/gethostname.m4: New file.
84430
84431         Module canon-host.
84432         * m4/canon-host.m4: New file.
84433
84434         Module gettext.
84435         * m4/codeset.m4: New file, from gettext-0.11.5.
84436         * m4/gettext.m4: New file, from gettext-0.11.5.
84437         * m4/glibc21.m4: New file, from gettext-0.11.5.
84438         * m4/iconv.m4: New file, from gettext-0.11.5.
84439         * m4/intdiv0.m4: New file, from gettext-0.11.5.
84440         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
84441         * m4/inttypes.m4: New file, from gettext-0.11.5.
84442         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
84443         * m4/isc-posix.m4: New file, from gettext-0.11.5.
84444         * m4/lcmessage.m4: New file, from gettext-0.11.5.
84445         * m4/lib-ld.m4: New file, from gettext-0.11.5.
84446         * m4/lib-link.m4: New file, from gettext-0.11.5.
84447         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
84448         * m4/progtest.m4: New file, from gettext-0.11.5.
84449         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
84450         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
84451         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
84452
84453         Module localcharset.
84454         * m4/localcharset.m4: New file.
84455
84456         Module hard-locale.
84457         * m4/hard-locale.m4: New file.
84458
84459         Module mbswidth.
84460         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
84461         onceonly macros.
84462         * m4/mbrtowc.m4: Add comment.
84463
84464         Module memcasecmp.
84465         * m4/memcasecmp.m4: New file.
84466
84467         Module memcoll.
84468         * m4/memcoll.m4: New file.
84469
84470         Module unicodeio.
84471         * m4/unicodeio.m4: New file.
84472
84473         Module rpmatch.
84474         * m4/rpmatch.m4: New file.
84475
84476         Module yesno.
84477         * m4/yesno.m4: New file.
84478
84479         Module exitfail.
84480         * m4/exitfail.m4: New file.
84481
84482         Module c-stack.
84483         * m4/c-stack.m4 (gl_C_STACK): New macro.
84484         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
84485
84486         Module error.
84487         * m4/error.m4 (gl_ERROR): New macro.
84488         (jm_PREREQ_ERROR): Use onceonly macros.
84489
84490         Module fatal.
84491         * m4/fatal.m4: New file.
84492
84493         Module getloadavg.
84494         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
84495         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
84496
84497         Module getpagesize.
84498         * m4/getpagesize.m4: New file.
84499
84500         Module getusershell.
84501         * m4/getusershell.m4: New file.
84502
84503         Module physmem.
84504         * m4/physmem.m4: New file.
84505
84506         Module posixver.
84507         * m4/posixver.m4: New file.
84508
84509         Module quotearg.
84510         * m4/quotearg.m4: New file.
84511
84512         Module quote.
84513         * m4/quote.m4: New file.
84514
84515         Module readutmp.
84516         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
84517
84518         Module sig2str.
84519         * m4/sig2str.m4: New file.
84520
84521         Other.
84522         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
84523         ulonglong.m4.
84524         * m4/intmax_t.m4: New file.
84525         * m4/d-type.m4: Indentation.
84526         * m4/jm-macros.m4: Update.
84527         * m4/prereq.m4 (jm_PREREQ): Update.
84528         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
84529         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
84530         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
84531         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
84532         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
84533         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
84534         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
84535         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
84536         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
84537         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
84538         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
84539         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
84540         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
84541         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
84542         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
84543         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
84544         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
84545         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
84546         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
84547
84548 2002-12-24  Bruno Haible  <bruno@clisp.org>
84549
84550         * MODULES.txt: Update according to m4/ changes.
84551
84552         Module gettext.
84553         * config.rpath: New file, from gettext-0.11.5.
84554
84555         * modules/*: New module descriptions.
84556         * gnulib-tool: New file.
84557         * MODULES.html.sh: New file.
84558
84559 2002-12-21  Karl Berry  <karl@gnu.org>
84560
84561         * doc/fdl.texi: update to version 1.2.
84562
84563 2002-12-19  Karl Berry  <karl@gnu.org>
84564
84565         * config/config.guess: update from prep.
84566
84567 2002-12-18  Bruno Haible  <bruno@clisp.org>
84568
84569         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
84570         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
84571
84572 2002-12-17  Bruno Haible  <bruno@clisp.org>
84573
84574         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
84575         stdlib.h, string.h.
84576
84577 2002-12-17  Bruno Haible  <bruno@clisp.org>
84578
84579         * lib/canon-host.c (strdup): Remove unused declaration.
84580
84581         * lib/fsusage.c: Include full_read.h.
84582         (get_fs_usage): Use full_read instead of safe_read.
84583
84584         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
84585
84586 2002-12-12  Karl Berry  <karl@gnu.org>
84587
84588         * config/config.guess: update from prep.
84589
84590 2002-12-11  Bruno Haible  <bruno@clisp.org>
84591
84592         * m4/setenv.m4: New file, from gettext-0.11.5.
84593
84594 2002-12-11  Bruno Haible  <bruno@clisp.org>
84595
84596         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
84597         not unsetenv().
84598         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
84599         modifications:
84600
84601         2002-12-11  Bruno Haible  <bruno@clisp.org>
84602
84603                 * setenv.c (alloca): Fall back to malloc.
84604                 (freea): New macro.
84605                 (setenv): Use freea() to free memory allocated with alloca().
84606
84607         2002-11-13  Bruno Haible  <bruno@clisp.org>
84608
84609                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
84610                 function declarations.
84611                 * unsetenv.c (unsetenv): Likewise.
84612
84613         2002-03-04  Bruno Haible  <bruno@clisp.org>
84614
84615                 Portability to AIX 4.3.3.
84616                 * unsetenv.c: New file, extracted from setenv.c.
84617                 * setenv.c: Move the unsetenv() function to unsetenv.c.
84618
84619         2001-12-20  Bruno Haible  <bruno@clisp.org>
84620
84621                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
84622                 use malloc instead. For SunOS 4.
84623
84624         2001-12-11  Bruno Haible  <bruno@clisp.org>
84625
84626                 * setenv.c: Declare alloca.
84627                 (compar_fn_t): New typedef.
84628                 (KNOWN_VALUE, STORE_VALUE): Use it.
84629
84630         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
84631         setenv.h.
84632
84633 2002-12-10  Paul Eggert  <eggert@twinsun.com>
84634
84635         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
84636         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
84637         Choose values that are less likely to collide with system fnmatch
84638         options.
84639         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
84640         defined (e.g., a pure POSIX system).
84641         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
84642         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
84643
84644 2002-12-06  Paul Eggert  <eggert@twinsun.com>
84645
84646         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
84647         a pain in practice to deal with generated m4 files.  This change
84648         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
84649
84650         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
84651         and jm-glibc-io.m4, as they are no longer a special case.
84652         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
84653         kludge and the auto-generation stuff.  Check only whether the
84654         functions are declared, not whether they exist, since older hosts
84655         that don't declare the functions can't use the optimization anyway.
84656
84657 2002-12-06  Jim Meyering  <jim@meyering.net>
84658
84659         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
84660
84661         Merge in changes from libc's misc/error.c, in preparation
84662         for the merge of gnulib's changes back into libc.
84663
84664         * lib/error.c (_): Define only if not already defined.
84665         Move definition to follow all #include directives.
84666         Include unlocked-io.h only if !_LIBC.
84667         [_LIBC]: Include <libio/libioP.h>.
84668         [USE_IN_LIBIO]: Include <libio/iolibio.h>
84669         (fflush): Tweak definition to use INTUSE.
84670         (putc): Define.
84671
84672 2002-12-05  Paul Eggert  <eggert@twinsun.com>
84673
84674         * lib/alloca.c [defined emacs]: Include "lisp.h".
84675         (xalloc_die) [defined emacs]: New macro.
84676         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
84677         [! defined emacs]: Include <xalloc.h>.
84678         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
84679         (pointer): Typedef to POINTER_TYPE *.
84680         (malloc): Remove decl; we now always use xmalloc.
84681         (alloca): Use old-style definition, since Emacs needs this.
84682         Check for arithmetic overflow when computing combined size.
84683
84684 2002-12-04  Paul Eggert  <eggert@twinsun.com>
84685
84686         Do not generate unlocked-io.h automatically, since it's easier to
84687         maintain it by hand.
84688
84689         * lib/unlocked-io.h: New file, from GNU diffutils,
84690         but with proper copyright notice and attribution.
84691         * lib/gen-uio: Remove.
84692         * lib/Makefile.am: Add copyright notice.
84693         (libfetish_a_SOURCES): Add unlocked-io.h.
84694         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
84695         (DISTCLEANFILES, io_functions): Remove macros.
84696         (EXTRA_DIST): Remove gen_uio.
84697         (unlocked-io.h): Remove rule.
84698
84699 2002-12-04  Jim Meyering  <jim@meyering.net>
84700
84701         Reflect the fact that stat.c and lstat.c are no longer generated.
84702         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
84703         (DISTCLEANFILES): Likewise.
84704         (EXTRA_DIST): Likewise.
84705         (all_local): Don't depend on stat.c or lstat.c.
84706         (stat.c, lstat.c): Remove rules.
84707         (EXTRA_DIST): Remove xstat.in.
84708
84709         * lib/xstat.in: Remove file.  Contents moved into stat.c.
84710         * lib/stat.c: New file.  Contents mostly from xstat.in.
84711         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
84712         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
84713
84714         * lib/safe-read.c: Rework so that it may serve to define safe_write,
84715         too.
84716         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
84717
84718 2002-12-03  Jim Meyering  <jim@meyering.net>
84719
84720         * lib/safe-read.c, safe-write.c: Change variable names and comments,
84721         but not semantics, to minimize the differences between these two files.
84722         (safe_read): Change comment to mention SAFE_READ_ERROR.
84723
84724         * lib/safe-read.c (IS_EINTR): Define.
84725         (safe_read): Use IS_EINTR in place of in-function cpp directives.
84726
84727 2002-12-02  Jim Meyering  <jim@meyering.net>
84728
84729         * lib/safe-read.c (EINTR): Define.
84730         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84731         (INT_MAX): Provide fallback.
84732         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
84733
84734         * lib/safe-read.h (SAFE_READ_ERROR): Define.
84735
84736 2002-12-02  Bruno Haible  <bruno@clisp.org>
84737
84738         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
84739         Define, taken from safe-read.c.
84740         (INT_MAX): Provide fallback.
84741         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
84742         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
84743
84744         * lib/safe-read.c (EINTR): Remove definition.
84745         (safe_read): Don't use EINTR if it is absent.
84746
84747 2002-12-01  Jim Meyering  <jim@meyering.net>
84748
84749         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
84750         zero.
84751         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
84752
84753 2002-11-27  Paul Eggert  <eggert@twinsun.com>
84754
84755         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
84756         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
84757         with `if (! (value < limit)) abort ();', for readability.
84758
84759 2002-11-26  Karl Berry  <karl@gnu.org>
84760
84761         * lib/strdup.c: copy from libc again, with jim's ok.
84762         * lib/.cppi-disable: re-add strdup.c
84763
84764 2002-11-25  Karl Berry  <karl@gnu.org>
84765
84766         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
84767         instead of "strtol.c".
84768
84769 2002-11-25  Karl Berry  <karl@gnu.org>
84770
84771         * config/install-sh: update from automake for variable quoting, $0 in
84772         error msgs, etc.
84773
84774         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
84775         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
84776         entry.
84777
84778 2002-11-25  Jim Meyering  <jim@meyering.net>
84779
84780         * lib/mktime.c: Sync from libc, now that it has the latest fix.
84781
84782 2002-11-24  Karl Berry  <karl@gnu.org>
84783
84784         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
84785         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
84786
84787 2002-11-24  Jim Meyering  <jim@meyering.net>
84788
84789         Update from coreutils:
84790
84791         * lib/mktime.c: Merge in changes from libc.
84792
84793         Avoid a link-time failure on some Linux systems.
84794         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
84795         (otherwise).
84796         (__mon_yday): Declare with the STATIC attribute.
84797         (__mktime_internal): Likewise.
84798         Based on a report from Greg Schafer.
84799
84800 2002-11-23  Jim Meyering  <jim@meyering.net>
84801
84802         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
84803         Use `unsigned', not `int', as type of index.
84804
84805         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
84806
84807         * lib/fsusage.c: Remove unneeded parentheses around operands of
84808         `defined'.
84809
84810 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84811
84812         * lib/quotearg.h: Allow multiple inclusion by surrounding with
84813         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
84814         so that we can be included first.
84815         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
84816         * lib/quotearg.c: Include quotearg.h immediately after config.h.
84817         No need to include stddef.h or sys/types.h any more.
84818         Surround local include files with "", not "<>".
84819         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
84820         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
84821         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
84822         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
84823         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
84824         (ISPRINT): Remove; no longer needed now that we assume C89.
84825
84826         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
84827         Preserve errno.
84828
84829         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
84830         quotearg_char): Use SIZE_MAX rather than
84831         (size_t) -1 when we are talking about "infinity".
84832
84833         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
84834
84835 2002-11-22  Paul Eggert  <eggert@twinsun.com>
84836
84837         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
84838         hint that one should use `if (! x) abort ();' rather than `assert
84839         (x);', and anyway it's one less thing to worry about configuring.
84840         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
84841         hash_rehash, hash_insert): Use abort rather than assert.
84842
84843 2002-11-22  Bruno Haible  <bruno@clisp.org>
84844
84845         * lib/safe-read.h: Assume C89. Add comments.
84846         (safe_read): Change return type to size_t.
84847         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
84848         byte counts > SSIZE_MAX correctly.
84849         * lib/safe-write.h: New file.
84850         * lib/safe-write.c: New file.
84851         * lib/full-read.h: New file.
84852         * lib/full-read.c: New file.
84853         * lib/full-write.h: Assume C89. Add comments.
84854         * lib/full-write.c: Include safe-write.h.
84855         (full_write): Rewritten to use safe_write.
84856         Suggested by Jim Meyering and Paul Eggert.
84857
84858 2002-11-21  Jim Meyering  <jim@meyering.net>
84859
84860         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
84861
84862         Merge in changes from the coreutils.
84863
84864         2002-09-25  Paul Eggert  <eggert@twinsun.com>
84865         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
84866         <stdint.h>.
84867         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
84868         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
84869         int.  Work more efficiently if X is the same width as uintmax_t.
84870         Do not compare X to -1, to avoid bogus compiler warning.
84871         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
84872         Don't assume that f_frsize and f_bsize are the same type.
84873
84874         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
84875         warning on FreeBSD.
84876
84877         * lib/makepath.c (make_path): Restore umask *before* creating the final
84878         component.
84879         (make_path): Minor reformatting.
84880
84881         * lib/xmalloc.c: Adjust to work with new autoconf macros,
84882         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
84883         HAVE_MALLOC/HAVE_REALLOC.
84884
84885         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
84886         dummy ones.  At least on GNU/Linux systems, `auto' means something
84887         else.
84888         From Michael Stone.
84889
84890 2002-11-21  Bruno Haible  <bruno@clisp.org>
84891
84892         Remove case insensitive option matching.
84893         * lib/argmatch.h (argcasematch): Remove declaration.
84894         (ARGCASEMATCH): Remove macro.
84895         (__xargmatch_internal): Remove case_sensitive argument.
84896         (XARGMATCH): Update.
84897         (XARGCASEMATCH): Remove macro.
84898         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
84899         case_sensitive argument.
84900         (argcasematch): Remove function.
84901         (__xargmatch_internal): Remove case_sensitive argument.
84902         (main): Use XARGMATCH instead of XARGCASEMATCH.
84903
84904         * lib/xmalloc.c: Change compile-time error message. Add comment about
84905         required autoconf version.
84906
84907 2002-11-20  Paul Eggert  <eggert@twinsun.com>
84908
84909         Merge argmatch cleanups from Bison.  Assume C89.
84910
84911         * lib/argmatch.c: Include config.h here, not in argmatch.h.
84912         Include stdlib.h, for EXIT_FAILURE.
84913         Always include <string.h>, since we assume C89.
84914         (EXIT_FAILURE): Remove pre-C89 bug workaround.
84915         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
84916         Include <stddef.h> instead, since it's all we need for size_t.
84917         (PARAMS): Remove.  All uses removed.
84918         (ARRAY_CARDINALITY): Do not bother to #undef.
84919         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
84920         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84921         Remove unnecessary parentheses.
84922         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
84923         Insert necessary parentheses.
84924         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
84925         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
84926
84927 2002-11-19  Bruno Haible  <bruno@clisp.org>
84928
84929         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
84930         * lib/mbswidth.h: Include <stddef.h>, for size_t.
84931
84932         * lib/mbswidth.h (PARAMS): Remove macro.
84933         (mbswidth, mbsnwidth): Use ANSI C function declarations.
84934         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
84935
84936         * lib/gcd.h (PARAMS): Remove macro.
84937         (gcd): Use ANSI C function declarations.
84938         * lib/gcd.c (gcd): Likewise.
84939
84940 2002-11-15  Bruno Haible  <bruno@clisp.org>
84941
84942         * lib/strcspn.c: Include <stddef.h>.
84943         (strcspn): Use ANSI C function declaration. Change return type to
84944         size_t. Use NULL.
84945         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
84946         (strpbrk): Use NULL.
84947         * lib/strpbrk.h (PARAMS): Remove macro.
84948         (strpbrk): Use ANSI C function declaration.
84949         * lib/strstr.c: Don't include <sys/types.h>.
84950         * lib/strstr.h (PARAMS): Remove macro.
84951         (strstr): Use ANSI C function declarations.
84952
84953 2002-11-14  Karl Berry  <karl@gnu.org>
84954
84955         * config/mkinstalldirs: `do' on separate line, instead of
84956         `for var; do'.
84957
84958 2002-11-06  Bruno Haible  <bruno@clisp.org>
84959
84960         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
84961         * lib/gcd.c (gcd): Likewise.
84962
84963 2002-11-05  Bruno Haible  <bruno@clisp.org>
84964
84965         * lib/gcd.h: New file, from gettext-0.11.5.
84966         * lib/gcd.c: New file, from gettext-0.11.5.
84967
84968 2002-11-05  Bruno Haible  <bruno@clisp.org>
84969
84970         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84971         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84972         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84973         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
84974
84975         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
84976         <libintl.h>.
84977         * lib/makepath.c: Include gettext.h instead of <locale.h> and
84978         <libintl.h>.
84979
84980         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
84981         * lib/human.c: Include gettext.h instead of <libintl.h>.
84982         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
84983         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
84984         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
84985         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
84986         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
84987         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
84988         (textdomain): Remove definition.
84989         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
84990
84991         * lib/long-options.c: Remove include of <libintl.h> and definition of
84992         _.
84993         * lib/same.c: Remove include of <libintl.h> and definition of _.
84994
84995 2002-11-04  Owen Taylor  <otaylor@redhat.com>
84996
84997         * lib/config.charset: A few additions for Solaris.
84998
84999 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85000
85001         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
85002         * lib/localcharset.c (locale_charset): Declare as extern "C".
85003
85004 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
85005
85006         * lib/config.charset: msdos in uk_UA uses CP1125.
85007
85008 2002-11-04  Bruno Haible  <bruno@clisp.org>
85009
85010         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
85011         * lib/strcase.h: New file, from GNU gettext-0.11.5.
85012         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
85013         * lib/strstr.h: New file, from GNU gettext-0.11.5.
85014         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
85015
85016 2002-11-04  Bruno Haible  <bruno@clisp.org>
85017
85018         * lib/localcharset.c (locale_charset): Don't return an empty string.
85019
85020 2002-11-04  Bruno Haible  <bruno@clisp.org>
85021
85022         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
85023         aliases.
85024
85025 2002-11-04  Bruno Haible  <bruno@clisp.org>
85026
85027         * lib/config.charset: Update for newest glibc. Add canonical names
85028         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
85029
85030 2002-11-04  Bruno Haible  <bruno@clisp.org>
85031
85032         * lib/config.charset: Add support for NetBSD.
85033
85034 2002-11-04  Bruno Haible  <bruno@clisp.org>
85035
85036         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
85037
85038 2002-11-01  Bruno Haible  <bruno@clisp.org>
85039
85040         * configure.in: Add AC_CONFIG_AUX_DIR call.
85041         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
85042         test/Makefile.
85043         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
85044
85045 2002-09-28  Karl Berry  <karl@gnu.org>
85046
85047         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
85048         installed automake until the next release, since changes have been
85049         made.
85050
85051 2002-09-25  Karl Berry  <karl@gnu.org>
85052
85053         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
85054         * lib/getopt*: copy from libc/posix.
85055         * lib/gettext.h: copy from gettext.
85056         * lib/.cppi-disable: add strdup.c, gettext.h.
85057
85058 2002-09-25  Karl Berry  <karl@gnu.org>
85059
85060         * config/srclist.txt: enable gettext.h check.
85061         * config/config.{guess,sub}: update from prep.
85062         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
85063                 from automake 1.6.3.
85064         See srclist*.
85065
85066 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
85067
85068         * regex.c (PATFETCH): Remove the translating fetch.
85069         (PATFETCH_RAW): Rename to PATFETCH.
85070         (set_image_of_range): New fun.
85071         (SET_RANGE_TABLE_WORK_AREA): Use it.
85072         (regex_compile): Don't translate the pattern chars so eagerly.
85073         Only do it when inserting an `exactn' bytecode or when handling
85074         a char-range.
85075         (mutually_exclusive_p): Avoid empty statement.
85076
85077 2002-07-06  Jim Meyering  <meyering@lucent.com>
85078
85079         * m4/README: Don't mention Makefile.am.in.
85080         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
85081
85082 2002-07-01  Jim Meyering  <meyering@lucent.com>
85083
85084         * lib/c-stack.c: Include sys/time.h.
85085         From Volker Borchert.
85086
85087 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85088
85089         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
85090
85091 2002-06-26  Paul Eggert  <eggert@twinsun.com>
85092
85093         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
85094         New macro.  Use it uniformly instead of
85095         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
85096         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
85097         reported by Vin Shelton.
85098
85099 2002-06-22  Paul Eggert  <eggert@twinsun.com>
85100
85101         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
85102         Do not assume SA_SIGINFO behavior.
85103         Bug reported by Jim Meyering on NetBSD 1.5.2.
85104
85105 2002-06-22  Jim Meyering  <meyering@lucent.com>
85106
85107         * m4/c-stack.m4: New file, from diffutils-2.8.2.
85108         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
85109
85110         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
85111         now that configure.ac uses AC_GNU_SOURCE.
85112         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
85113         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
85114
85115         Update to latest tools.  Suggestions from Paul Eggert.
85116         * m4/stdbool.m4: New file, from diffutils-2.8.2.
85117         * m4/gnu-source.m4: Update from diffutils-2.8.2.
85118         * m4/fnmatch.m4: Likewise.
85119         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
85120         to AC_HEADER_STDBOOL
85121
85122 2002-06-22  Jim Meyering  <meyering@lucent.com>
85123
85124         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
85125         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
85126
85127 2002-06-22  Jim Meyering  <meyering@lucent.com>
85128
85129         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
85130
85131         * lib/exitfail.c, exitfail.h: Likewise.
85132         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
85133
85134         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
85135         of fnmatch.h.
85136         (EXTRA_DIST): Add fnmatch_loop.c.
85137         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
85138
85139         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
85140         * lib/fnmatch.c: Update from diffutils-2.8.2.
85141         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
85142         * lib/fnmatch.h: Remove file.
85143
85144 2002-06-21  Jim Meyering  <meyering@lucent.com>
85145
85146         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
85147         * m4/mbrtowc.m4: Likewise.
85148
85149         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
85150         * m4/mbswidth.m4: Reflect name change:
85151         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
85152         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85153
85154         * m4/lib-link.m4: Update from gettext-0.11.2.
85155         * m4/gettext.m4: Likewise.
85156
85157         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
85158         From Alfred M. Szmidt.
85159
85160 2002-06-18  Paul Eggert  <eggert@twinsun.com>
85161
85162         * lib/file-type.h: Report an error if neither S_ISREG nor
85163         S_IFREG is defined, instead of using a test specific to glibc
85164         2.2.  This should be safe, since POSIX requires S_ISREG and
85165         Unix Version 7 had S_IFREG.  We don't need to check for
85166         <sys/types.h> since we don't use any symbols that it defines.
85167
85168 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
85169
85170         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
85171         $@-t, so that each temporary file name is unique and valid in the first
85172         8 characters, for operation under DOS.
85173
85174 2002-06-15  Paul Eggert  <eggert@twinsun.com>
85175
85176         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
85177
85178 2002-06-15  Jim Meyering  <meyering@lucent.com>
85179
85180         Work even with DJGPP 2.03, which lacks support for symlinks.
85181         From Richard Dawe.
85182         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
85183         is defined.
85184         * lib/lchown.c (S_ISLNK): Likewise.
85185
85186 2002-06-15  Jim Meyering  <meyering@lucent.com>
85187
85188         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
85189         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
85190         have been included before this file.
85191
85192 2002-06-14  Jim Meyering  <meyering@lucent.com>
85193
85194         * lib/file-type.h: Use the version from diffutils-2.8.2.
85195         * lib/file-type.c: Likewise.
85196
85197 2002-06-07  Jim Meyering  <meyering@lucent.com>
85198
85199         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
85200         They're needed at least for NetBSD 1.5.2.
85201         ($statxfs_includes): Include those same headers.
85202         ($statxfs_includes): Include sys/vfs.h if available.
85203         ($statxfs_includes): Likewise for sys/statvfs.h.
85204         Check for the following members in both structs statfs and statvfs:
85205         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
85206
85207 2002-06-01  Jim Meyering  <meyering@lucent.com>
85208
85209         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
85210         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
85211
85212 2002-05-28  Jim Meyering  <meyering@lucent.com>
85213
85214         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
85215         Reported by Volker Borchert.
85216
85217 2002-05-27  Jim Meyering  <meyering@lucent.com>
85218
85219         Fix a problem seen only on nonconforming systems whereby ls.c's
85220         use of localtime, and then of gettimeofday would cause trouble:
85221         the localtime call used to initialize rpl_gettimeofday's save
85222         mechanism would clobber ls's current local time information so
85223         that in any long listing the first file would always be listed
85224         with date 1970-01-01.  Analysis by Volker Borchert.
85225
85226         * lib/gettimeofday.c (localtime): Undefine.
85227         (rpl_localtime): New function.
85228
85229 2002-05-27  Jim Meyering  <meyering@lucent.com>
85230
85231         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
85232         localtime.
85233
85234         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
85235         use the replacement function; it wouldn't resolve at link time.
85236         Reported by Volker Borchert.
85237
85238 2002-05-22  Jim Meyering  <meyering@lucent.com>
85239
85240         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
85241         file-type.h.
85242         * lib/file-type.h: New file.
85243         * lib/file-type.c (file_type): New file/function.  Extracted from
85244         diffutils.
85245
85246 2002-04-30  Jim Meyering  <meyering@lucent.com>
85247
85248         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
85249
85250 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85251
85252         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
85253
85254 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85255
85256         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
85257         Do not check for alloca.h (no longer used) or stdbool.h (was never
85258         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
85259
85260 2002-04-29  Paul Eggert  <eggert@twinsun.com>
85261
85262         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
85263
85264 2002-04-29  Jim Meyering  <meyering@lucent.com>
85265
85266         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
85267         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
85268         Use AC_FUNC_STRNLEN here instead.
85269
85270         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
85271         With autoconf-2.53a, it's part of AC_PROG_CC.
85272
85273 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85274
85275         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
85276         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
85277
85278 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85279
85280         * lib/sig2str.h, lib/sig2str.c: New files.
85281         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
85282
85283 2002-04-28  Paul Eggert  <eggert@twinsun.com>
85284
85285         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
85286         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
85287         of 127, since 64 is the largest conceivable number for ancient
85288         nonstandard hosts.
85289         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
85290
85291 2002-04-28  Jim Meyering  <meyering@lucent.com>
85292
85293         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
85294
85295 2002-04-24  Jim Meyering  <meyering@lucent.com>
85296
85297         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
85298         (jm_PREREQ): Use it.
85299
85300         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
85301         mach/mach.h fcntl.h.
85302         Check for this function: setlocale.
85303
85304 2002-04-24  Jim Meyering  <meyering@lucent.com>
85305
85306         * lib/gettext.h: New file, from Gettext.
85307         * lib/Makefile.am (INCLUDES): Remove -I../intl.
85308         (libfetish_a_SOURCES): Add gettext.h.
85309
85310 2002-04-16  Jim Meyering  <meyering@lucent.com>
85311
85312         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
85313         ut_pid, ut_id, ut_exit.
85314
85315 2002-04-16  Jim Meyering  <meyering@lucent.com>
85316
85317         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
85318         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
85319         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
85320
85321 2002-04-12  Jim Meyering  <meyering@lucent.com>
85322
85323         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
85324         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
85325         existence of the getmntinfo function.  Needed for Darwin 5.3.
85326
85327         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
85328         This is necessary at least on Darwin 5.3.
85329
85330         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
85331         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
85332         strnlen.o in the library, and that makes some versions of ranlib
85333         object.
85334
85335 2002-04-12  Jim Meyering  <meyering@lucent.com>
85336
85337         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
85338
85339 2002-04-09  Jim Meyering  <meyering@lucent.com>
85340
85341         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
85342         to be more precise.  Rather than saying we're checking whether the
85343         function `works', say what we're testing.
85344         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
85345         Reported by Bruno Haible.
85346
85347 2002-03-10  Jim Meyering  <meyering@lucent.com>
85348
85349         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
85350         Suggestion from Santiago Vila.
85351
85352 2002-03-08  Jim Meyering  <meyering@lucent.com>
85353
85354         * lib/rename.c: Mention that this wrapper is needed also on
85355         mips-dec-ultrix4.4 systems.
85356
85357 2002-03-02  Jim Meyering  <meyering@lucent.com>
85358
85359         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
85360         not HAVE_CLOCK_SETTIME.
85361
85362 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85363
85364         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
85365         Check for clock_settime.
85366
85367 2002-02-27  Paul Eggert  <eggert@twinsun.com>
85368
85369         * lib/nanosleep.h: Rename to....
85370         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
85371
85372         * lib/gettime.c: New file.
85373         * lib/settime.c: New file.
85374         * lib/stime.c: Remove.
85375
85376         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
85377         timespec.h.  Remove nanosleep.h.
85378
85379 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85380
85381         * m4/acl.m4: New file.
85382         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
85383         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
85384
85385 2002-02-25  Paul Eggert  <eggert@twinsun.com>
85386
85387         * lib/acl.c, lib/acl.h: New files.
85388         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
85389
85390 2002-02-24  Jim Meyering  <meyering@lucent.com>
85391
85392         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
85393         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
85394         cause trouble.  Reported by Nelson Beebe.
85395
85396 2002-02-23  Paul Eggert  <eggert@twinsun.com>
85397
85398         * lib/path-concat.c (xpath_concat): Reorder code to pacify
85399         compilers that don't know that xalloc_die never returns.
85400
85401 2002-02-20  Jim Meyering  <meyering@lucent.com>
85402
85403         * lib/getdate.c: Regenerate using bison-1.33.
85404
85405 2002-02-17  Jim Meyering  <meyering@lucent.com>
85406
85407         * config/config.guess (main): Don't use `head -1'; it's no longer
85408         portable. Use `sed 1q' instead.
85409
85410 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
85411
85412         * m4/codeset.m4: Upgrade to gettext-0.11.
85413         * m4/gettext.m4: Upgrade to gettext-0.11.
85414         * m4/glibc21.m4: Upgrade to gettext-0.11.
85415         * m4/iconv.m4: Upgrade to gettext-0.11.
85416         * m4/isc-posix.m4: Upgrade to gettext-0.11.
85417         * m4/lcmessage.m4: Upgrade to gettext-0.11.
85418         * m4/lib-ld.m4: New file, from gettext-0.11.
85419         * m4/lib-link.m4: New file, from gettext-0.11.
85420         * m4/lib-prefix.m4: New file, from gettext-0.11.
85421         * m4/progtest.m4: Upgrade to gettext-0.11.
85422
85423 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85424
85425         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
85426         (jm_PREREQ): Use it.
85427
85428 2002-02-15  Paul Eggert  <eggert@twinsun.com>
85429
85430         * lib/posixver.c, lib/posixver.h: New files.
85431         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85432
85433 2002-02-02  Paul Eggert  <eggert@twinsun.com>
85434             Bruno Haible  <bruno@clisp.org>
85435
85436         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
85437         (fwrite_success_callback): New declaration.
85438         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
85439         print_unicode_char. Call failure callback instead of error.
85440         (fwrite_success_callback): New function.
85441         (exit_failure_callback): New function.
85442         (fallback_failure_callback): New function.
85443         (print_unicode_char): Call unicode_to_mb.
85444
85445 2002-01-26  Jim Meyering  <meyering@lucent.com>
85446
85447         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
85448         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
85449
85450 2002-01-26  Jim Meyering  <meyering@lucent.com>
85451
85452         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
85453
85454 2002-01-22  Paul Eggert  <eggert@twinsun.com>
85455
85456         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
85457
85458 2002-01-22  Jim Meyering  <meyering@lucent.com>
85459
85460         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
85461         Otherwise, some versions of automake would omit the rule that makes
85462         Makefile from Makefile.in.
85463
85464 2002-01-21  Paul Eggert  <eggert@twinsun.com>
85465
85466         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
85467         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
85468         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
85469         (memcoll): Set errno to zero if there is no error.
85470
85471         * lib/quotearg.c (quotearg_buffer_restyled):
85472         Fix bug with quoting buffers containing NUL when backslashing escapes.
85473         This bug was exposed by the other changes in this patch.
85474         (quotearg_n_options): New arg ARGSIZE.
85475         All callers changed.
85476         (quoting_options_from_style): New function.
85477         (quotearg_n_style): Use it.
85478         (quotearg_n_style_mem): New function.
85479
85480         * lib/quotearg.h (quotearg_n_style_mem): New function.
85481
85482 2002-01-19  Jim Meyering  <meyering@lucent.com>
85483
85484         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
85485         Remove useless quotes: DF_PROG="df".
85486         * m4/strnlen.m4: New file.
85487
85488 2002-01-16  Paul Eggert  <eggert@twinsun.com>
85489
85490         * lib/backupfile.c (ISDIGIT): Comment fix.
85491         * lib/getdate.y (ISDIGIT): Likewise.
85492         * lib/posixtm.c (ISDIGIT, year): Likewise.
85493         * lib/strverscmp.c (ISDIGIT): Likewise.
85494         * lib/userspec.c (ISDIGIT): Likewise.
85495
85496 2002-01-16  Jim Meyering  <meyering@lucent.com>
85497
85498         * lib/getdate.y: Add three semicolons, each just before a closing
85499         brace. Bison (as of version 1.31) no longer papers over that mistake.
85500
85501 2002-01-05  Jim Meyering  <meyering@lucent.com>
85502
85503         * lib/version-etc.c (version_etc_copyright): Update copyright year.
85504
85505 2001-12-19  Paul Eggert  <eggert@twinsun.com>
85506
85507         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
85508         not silently exit merely because the output buffer happens to
85509         have nothing pending.
85510
85511 2001-12-18  Paul Eggert  <eggert@twinsun.com>
85512
85513         See the big note in ../ChangeLog.
85514         * lib/human.c (suffixes): Prefer K to k for 1024.
85515         (generate_suffix_backwards): New function.
85516         (human_readable_inexact): Use it.
85517         * lib/xstrtol.c (__xstrtol): If there is no number but there
85518         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
85519         Accept 'K' as well as 'k'.
85520
85521 2001-12-15  Jim Meyering  <meyering@lucent.com>
85522
85523         * lib/regex.h (__restrict_arr): Update from libc.
85524
85525         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
85526         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
85527         (STREQ): Define.
85528
85529 2001-12-14  Jim Meyering  <meyering@lucent.com>
85530
85531         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
85532         Suggestion from Bruno Haible.
85533
85534 2001-12-10  Jim Meyering  <meyering@lucent.com>
85535
85536         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
85537         xrealloc, Instead, include "xalloc.h".
85538         (initbuffer): Don't cast xmalloc return value to char*.
85539         (readline): Reword comment.
85540         Don't cast xrealloc return value to char*
85541         Return NULL, not 0.
85542
85543 2001-12-09  Jim Meyering  <meyering@lucent.com>
85544
85545         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
85546         about `signed and unsigned type in conditional expression'.
85547         * lib/posixtm.c (posix_time_parse): Likewise.
85548
85549         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
85550
85551         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
85552         to avoid a pedantic warning.
85553
85554         * lib/getstr.c: Don't include assert.h.
85555         (getstr): Remove warning-evoking assertions.
85556         Return -1 if offset parameter is out of bounds.
85557         Change the type of a local from int to size_t.
85558
85559         * lib/strftime.c (my_strftime_localtime_r): Include this function
85560         definition in the `#if ! HAVE_TM_GMTOFF' block.
85561
85562         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
85563         Include xalloc.h instead.
85564
85565 2001-12-02  Jim Meyering  <meyering@lucent.com>
85566
85567         * lib/tempname.c: Don't declare getenv, thus reverting the change of
85568         2001-11-18.  It's no longer necessary, now that stdlib.h is always
85569         included.
85570
85571         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
85572         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
85573
85574 2001-11-30  Akim Demaille  <akim@epita.fr>
85575
85576         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
85577         before being defined.
85578
85579 2001-11-27  Paul Eggert  <eggert@twinsun.com>
85580
85581         * lib/quotearg.h (quotearg_n, quotearg_n_style):
85582         First arg is int, not unsigned.
85583         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
85584         (SIZE_MAX, UINT_MAX): New macros.
85585         (quotearg_n_options): Abort if N is negative.
85586         Avoid overflow check on hosts where size_t is 64 bits and int
85587         is 32 bits, as overflow is impossible there.
85588         Fix off-by-one typo that caused unnecessary reallocation.
85589
85590 2001-11-27  Jim Meyering  <meyering@lucent.com>
85591
85592         * lib/tempname.c: Merge with version from libc.
85593         * lib/regex.c: Likewise.
85594
85595         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
85596         systems for which STDC_HEADERS is 0, it was not included, resulting in
85597         a warning about an integer-to-pointer conversion problem with getenv.
85598         Reported by Volker Borchert.
85599
85600 2001-11-26  Jim Meyering  <meyering@lucent.com>
85601
85602         * lib/gtod.h: Remove file.
85603         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
85604         * lib/gettimeofday.c: Don't include gtod.h.
85605         (GTOD_init): Remove function.
85606         (rpl_gettimeofday): Do its job here instead, rather than aborting.
85607         Suggestion from Volker Borchert.
85608
85609 2001-11-23  Jim Meyering  <meyering@lucent.com>
85610
85611         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
85612         it.
85613         * lib/hash.c (struct hash_table): Define it here instead.
85614
85615 2001-11-22  Jim Meyering  <meyering@lucent.com>
85616
85617         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
85618
85619 2001-11-20  Jim Meyering  <meyering@lucent.com>
85620
85621         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
85622         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
85623
85624 2001-11-19  Jim Meyering  <meyering@lucent.com>
85625
85626         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
85627         directory.  Use "conftestXXXXXX" as the template.
85628         Suggestion from Paul Eggert.
85629
85630         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
85631         immediately, so the test doesn't mistakenly hit the max-open-files
85632         limit.
85633
85634 2001-11-18  Paul Eggert  <eggert@twinsun.com>
85635
85636         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
85637         (TEMPORARIES): New macro.
85638         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
85639         removes an artificial limitation (e.g. HP-UX 10.20, where
85640         TMP_MAX is 17576).
85641
85642 2001-11-18  Jim Meyering  <meyering@lucent.com>
85643
85644         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
85645
85646 2001-11-18  Jim Meyering  <meyering@lucent.com>
85647
85648         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
85649         on SunOS 4.
85650
85651         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
85652         files will be created before anything else.
85653
85654 2001-11-17  Paul Eggert  <eggert@twinsun.com>
85655
85656         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
85657         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
85658
85659 2001-11-17  Jim Meyering  <meyering@lucent.com>
85660
85661         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
85662         Prompted by a report from Bob Proulx.
85663
85664         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
85665         Instead, require UTILS_FUNC_MKSTEMP.
85666
85667 2001-11-17  Jim Meyering  <meyering@lucent.com>
85668
85669         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
85670         Now, that's done as part of AC_FUNC_STRTOD.
85671
85672 2001-11-17  Jim Meyering  <meyering@lucent.com>
85673
85674         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
85675         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
85676         rather than group writable.  Patch by Juan F. Codagnone.
85677
85678         * lib/readtokens.c: Remove explicit declarations of xmalloc and
85679         xrealloc, Instead, include "xalloc.h".
85680
85681         * lib/mountlist.c: Include unlocked-io.h after all system headers.
85682         Remove explicit declarations of xmalloc, xrealloc,
85683         and xstrdup.  Instead, include "xalloc.h".
85684
85685         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
85686         unlocked-io.h.
85687         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
85688         Likewise.
85689         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
85690
85691         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
85692         Reported by Padraig Brady.
85693
85694         * lib/mkstemp.c: #undef mkstemp.
85695         Include config.h.
85696         (rpl_mkstemp): Rename from mkstemp.
85697         Protoize.
85698
85699 2001-11-16  Jim Meyering  <meyering@lucent.com>
85700
85701         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
85702         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
85703         determine the amount of total physical memory, use pstat_getstatic.
85704         HPUX-11 doesn't define _SC_PHYS_PAGES.
85705         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
85706         If sysconf couldn't be used to determine the amount of available
85707         physical memory, use both pstat_getstatic and pstat_getdynamic.
85708         Based on a patch from Bob Proulx.
85709
85710 2001-11-10  Jim Meyering  <meyering@lucent.com>
85711
85712         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
85713         (jm_PREREQ): Use it.
85714
85715 2001-11-09  Jim Meyering  <meyering@lucent.com>
85716
85717         * m4/jm-macros.m4: Require autoconf-2.52f.
85718         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
85719         Use these AC_-prefixed names, not the AM_-prefixed ones.
85720
85721         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
85722
85723 2001-11-05  Jim Meyering  <meyering@lucent.com>
85724
85725         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
85726
85727 2001-11-04  Jim Meyering  <meyering@lucent.com>
85728
85729         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
85730         $DEFS.
85731
85732 2001-11-03  Jim Meyering  <meyering@lucent.com>
85733
85734         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
85735         of AC_DEFUN.
85736
85737         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
85738         know the name of the variable in the macro definition.
85739
85740 2001-11-03  Jim Meyering  <meyering@lucent.com>
85741
85742         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
85743         in argmatch_to_argument call.
85744
85745         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
85746         argument.
85747
85748         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
85749         e.g., a fault due to an attempt to free a NULL pointer.
85750
85751 2001-11-01  Jim Meyering  <meyering@lucent.com>
85752
85753         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
85754         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
85755
85756 2001-11-01  Jim Meyering  <meyering@lucent.com>
85757
85758         * lib/dirfd.c, lib/dirfd.h: New files.
85759         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
85760
85761         * lib/hash.c (hash_print) [TESTING]: Clean up.
85762
85763 2001-10-22  Paul Eggert  <eggert@twinsun.com>
85764
85765         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
85766         to avoid a warning if -Wall.
85767
85768 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
85769
85770         * README: New file
85771         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
85772         (per RMS's instructions, this is now the canonical source)
85773         * lgpl/, gpl/: New directories.
85774
85775 2001-10-21  Paul Eggert  <eggert@twinsun.com>
85776
85777         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
85778
85779 2001-10-21  Jim Meyering  <meyering@lucent.com>
85780
85781         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
85782         this code would end up calling gettext even in packages built
85783         with --disable-nls.
85784         * lib/getopt.c (_): Likewise.
85785         * lib/regex.c (_): Likewise.
85786
85787 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85788
85789         * m4/error.m4 (jm_PREREQ_ERROR):
85790         Do not invoke AC_CHECK_FUNCS with strerror_r, as
85791         AC_FUNC_STRERROR_R does that.
85792         Check for strerror declaration.
85793
85794         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
85795         are supposed to have them these days.
85796         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
85797         Merge changes from latest Autoconf CVS.
85798         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
85799         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
85800         POSIX decided to standardize on the int flavor of strerror_r.
85801
85802 2001-10-20  Paul Eggert  <eggert@twinsun.com>
85803
85804         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
85805         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
85806         Use strerror_r that is only a macro, even if it is not a function.
85807         (strerror): Check for HAVE_DECL_STRERROR before declaring.
85808         (private_strerror): Use prototypes, not old-style function definition.
85809         (print_errno_message): New function.
85810         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
85811         char*-flavored one.
85812         (error_tail, error, error_at_line): Use it.
85813
85814 2001-10-11  Jim Meyering  <meyering@lucent.com>
85815
85816         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
85817         and quote_n (1, ... to avoid clobbering a buffer.
85818
85819 2001-10-05  Jim Meyering  <meyering@lucent.com>
85820
85821         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
85822         hash-pjw.h.
85823         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
85824         * lib/hash-pjw.h: New file.
85825
85826 2001-09-30  Jim Meyering  <meyering@lucent.com>
85827
85828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
85829         `struct fsstat' has the `f_fstypename' member.
85830         Use that to define FS_TYPE, which is now used to make
85831         the getfsstat link test tighter.
85832
85833 2001-09-30  Jim Meyering  <meyering@lucent.com>
85834
85835         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
85836         Include <sys/ucred.h>, for Apple Darwin.
85837         Include sys/mount.h and sys/fs_types.h only if available.
85838         (FS_TYPE): Define.
85839         (read_filesystem_list): Use FS_TYPE.
85840
85841 2001-09-29  Paul Eggert  <eggert@twinsun.com>
85842
85843         * lib/exclude.c (excluded_filename): 0 -> false, since it's
85844         a boolean context.
85845
85846 2001-09-29  Jim Meyering  <meyering@lucent.com>
85847
85848         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85849         [one-argument getmntent function]): Include stdio.h before mntent.h.
85850         SunOS 4.1.x needs it for the declaration of `FILE'.
85851         Patch by Volker Borchert.
85852
85853         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
85854         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
85855         sys/fs_types.h, and make the link-test for getfsstat guard #include
85856         directives with appropriate #if HAVE_*_H tests so that we can
85857         detect getfsstat on Apple Darwin1.3.7 systems.
85858         Reported by Nelson Beebe.
85859         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
85860
85861 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85862
85863         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85864         #defines strtoimax.  Also treat the other strto* functions
85865         like strtoimax.
85866
85867         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
85868         Check for strtoul and strtoumax,
85869         as those declarations are made even in the signed case.
85870         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
85871         Likewise, for strtol and strtoimax.
85872
85873 2001-09-28  Paul Eggert  <eggert@twinsun.com>
85874
85875         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
85876         #defines strtoimax.  Also treat the other strto* functions
85877         like strtoimax.
85878
85879         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
85880         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
85881         (strtoimax, strtoumax): Do not declare if already defined as a macro.
85882
85883 2001-09-26  Jim Meyering  <meyering@lucent.com>
85884
85885         Most macros in unlocked-io.h had the wrong number of arguments.
85886         * lib/gen-uio: New script.
85887         (USE_UNLOCKED_IO): Define to 1 if not already defined.
85888         * lib/unlocked-io.hin: Remove file.
85889         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
85890         rather than trying to embed it here.
85891         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
85892         Reported by Padraig Brady.
85893
85894 2001-09-25  Volker Borchert  <bt@teknon.de>
85895
85896         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
85897         `result'.
85898
85899 2001-09-24  Jim Meyering  <meyering@lucent.com>
85900
85901         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
85902
85903 2001-09-23  Jim Meyering  <meyering@lucent.com>
85904
85905         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
85906         instead of the mere test for existence of mntent.h.  The latter
85907         would get a false-positive on AIX 3.4 systems.
85908         In the outer getmntent if-block, don't die if neither of the getmntent
85909         tests succeeds.  Instead, just fall through and continue with the
85910         remaining tests.
85911
85912 2001-09-23  Jim Meyering  <meyering@lucent.com>
85913
85914         * lib/mountlist.c: Remove useless parentheses in #if directives.
85915         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
85916         the deprecated MOUNTED symbol is no longer defined in mntent.h.
85917
85918 2001-09-22  Jim Meyering  <meyering@lucent.com>
85919
85920         * m4/gettext.m4: New file.  From gettext.
85921         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
85922         * m4/progtest.m4: Likewise
85923         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
85924         * m4/glibc21.m4: Likewise.
85925
85926         * m4/libintl.m4: Remove.  No longer used.
85927
85928 2001-09-22  Jim Meyering  <meyering@lucent.com>
85929
85930         * lib/localcharset.c: Update from latest gettext.
85931         * lib/config.charset: Likewise.
85932
85933 2001-09-20  Jim Meyering  <meyering@lucent.com>
85934
85935         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
85936         strtoimax.
85937         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
85938         strtoumax.
85939
85940 2001-09-20  Jim Meyering  <meyering@lucent.com>
85941
85942         * lib/xstrtol.c (strtoimax): Guard declaration with
85943         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
85944         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
85945         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
85946         (strtoumax): Likewise, for completeness (it wasn't necessary).
85947
85948 2001-09-17  Paul Eggert  <eggert@twinsun.com>
85949
85950         * lib/strtoimax.c (HAVE_LONG_LONG):
85951         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
85952         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
85953         to work around bug in IBM C compiler.
85954
85955 2001-09-17  Jim Meyering  <meyering@lucent.com>
85956
85957         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
85958         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
85959         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
85960         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
85961         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
85962         whenever the right hand side need not be expanded by the shell.
85963
85964 2001-09-16  Paul Eggert  <eggert@twinsun.com>
85965
85966         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
85967         library.  It's not correct, as some older glibcs are buggy.
85968         fnmatch wasn't fixed until glibc 2.2.
85969
85970         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
85971         special shell magic here.
85972
85973 2001-09-16  Jim Meyering  <meyering@lucent.com>
85974
85975         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
85976         * m4/jm-macros.m4: Require it.
85977
85978 2001-09-16  Jim Meyering  <meyering@lucent.com>
85979
85980         * lib/mkdir.c: New file.
85981
85982 2001-09-15  Jim Meyering  <meyering@lucent.com>
85983
85984         * m4/jm-macros.m4: Check for help2man.
85985
85986 2001-09-11  Jim Meyering  <meyering@lucent.com>
85987
85988         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
85989         The body, by Paul Eggert, was moved here from configure.in.
85990         * m4/jm-macros.m4: Require UTILS_HOST_OS.
85991
85992 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85993
85994         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
85995         (jm_PREREQ): Use it.
85996
85997 2001-09-04  Paul Eggert  <eggert@twinsun.com>
85998
85999         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
86000         Use ssize_t, not int, to store result of readlink.
86001         Check for ssize_t overflow as well as size_t overflow,
86002         as POSIX says the result of readlink is implementation-defined
86003         when ssize_t overflows.
86004         Remove unnecessary cast to char*.
86005         Use free+malloc instead of realloc, as the storage doesn't need
86006         to be preserved and it's clearer and can be more efficient that way.
86007         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
86008         * lib/xreadlink.h (xreadlink): Update prototype.
86009
86010 2001-09-04  Paul Eggert  <eggert@twinsun.com>
86011
86012         * lib/xgetcwd.c: Revert some of the previous change; intead,
86013         fix the HAVE_GETCWD_NULL code to behave more like the
86014         !HAVE_GETCWD_NULL code used to.
86015
86016         Include "xalloc.h".
86017         (xgetcwd): Do not return NULL when memory is exhausted; instead,
86018         invoke xalloc_die.
86019
86020 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86021
86022         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
86023         sys/param.h, as pathmax.h includes them.
86024
86025 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86026
86027         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
86028         (jm_PREREQ_XGETCWD): New macro.
86029
86030         * m4/getcwd.m4: New file.
86031
86032 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86033
86034         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
86035         like the HAVE_GETCWD_NULL code.
86036         Include pathmax.h if not HAVE_GETCWD.
86037         Do not include xalloc.h.
86038         (INITIAL_BUFFER_SIZE): New symbol.
86039         Do not use xmalloc / xrealloc, since the caller is responsible for
86040         handling errors.  Preserve errno around `free' during failure.
86041         Do not overrun buffer when using getwd.
86042
86043 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86044
86045         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
86046         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
86047         getcwd (NULL, 0).
86048
86049 2001-09-03  Paul Eggert  <eggert@twinsun.com>
86050
86051         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
86052         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
86053         spotted by Jim Meyering.
86054
86055 2001-09-03  Jim Meyering  <meyering@lucent.com>
86056
86057         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
86058         failure.
86059
86060 2001-09-02  Jim Meyering  <meyering@lucent.com>
86061
86062         * lib/error.c: Update from GNU libc.
86063
86064 2001-09-01  Jim Meyering  <meyering@lucent.com>
86065
86066         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
86067         Used by df.
86068
86069 2001-09-01  Jim Meyering  <meyering@lucent.com>
86070
86071         * lib/xreadlink.c: New file.
86072         * lib/xreadlink.h: New file.
86073         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
86074         xreadlink.h.
86075
86076         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
86077         doesn't conflict with sparc Solaris 7's definition in
86078         /usr/include/sys/int_types.h.
86079
86080         * lib/exclude.c: Use `""', not `<>' to #include non-system header
86081         files.
86082         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
86083         and strncasecmp as r-values.  Unixware didn't have declarations.
86084
86085 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86086
86087         * lib/xstrtol.h: Add copyright notice.
86088         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
86089         LONGINT_INVALID_SUFFIX_CHAR.
86090
86091 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86092
86093         * lib/xstrtol.c (strtoimax): New decl.
86094
86095 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86096
86097         * lib/xgetcwd.c: Don't include pathmax.h.
86098         Include stdlib.h and unistd.h if available.
86099         Include xalloc.h.
86100         (xmalloc, xstrdup, free): Remove decls.
86101         (xgetcwd): Don't assume sizes fit in unsigned.
86102         Check for overflow when computing sizes.
86103         Simplify reallocation code.
86104
86105 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86106
86107         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
86108         a directory's st_size can have an arbitrary value, so the old
86109         usage could waste an arbitrary amount of memory.  All uses
86110         changed.
86111         * lib/savedir.h: Update prototype.
86112
86113 2001-08-31  Paul Eggert  <eggert@twinsun.com>
86114
86115         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
86116
86117         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
86118         old strtoimax.c.
86119
86120         Also, make the following further changes to make this file's
86121         configuration more similar to that of strtol.c:
86122         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
86123         (strtoumax, uintmax_t, strtoull, strtol): Remove.
86124         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
86125         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
86126         changed to signed values.
86127
86128         And make the following changes as well:
86129         Fix copyright notice, as 1999 was missing.
86130         (verify): New macro.
86131         (strtoimax): Check sizes at compile-time, not run-time.
86132         Prefer strtol to strtoll if both work.
86133         (main): Remove; it was not that useful and was a pain to maintain.
86134
86135         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
86136
86137 2001-08-31  Jim Meyering  <meyering@lucent.com>
86138
86139         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
86140         Use an initial, malloc'd, buffer of length 128 rather than
86141         a statically allocated one of length 1024.
86142
86143 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86144
86145         Simplify code, partly by assuming autoconf 2.52 semantics.
86146
86147         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
86148
86149         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
86150         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
86151         All uses removed.
86152         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
86153         Move AC_REQUIRE to next-to-top level, to avoid confusion.
86154         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
86155         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
86156         jm_AC_HEADER_INTTYPES_H.
86157         * m4/jm-macros.m4 (jm_MACROS): Likewise.
86158
86159         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
86160
86161         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
86162         Quote first arg of AC_DEFUN.
86163         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
86164         since they are needed to parse the include file even if we need
86165         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
86166         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
86167         but with opposite signedness.
86168
86169 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86170
86171         Merge 'exclude' changes from tar 1.13.22.
86172         This fixes one or two unlikely storage allocation overflow bugs,
86173         but doesn't change user-visible behavior otherwise.
86174
86175 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86176
86177         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
86178         (jm_PREREQ_EXCLUDE): New macro.
86179
86180 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86181
86182         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
86183         tm to be declared.
86184
86185 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86186
86187         * lib/hash.c: Remove '2001' from copyright notice.
86188
86189 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86190
86191         * lib/full-write.h: New file.
86192         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
86193         * lib/full-write.c: Correct credits, as cccp.c no longer
86194         exists and anyway it was so heavily changed from the old cccp
86195         code as to be unrecognizable.  Include full-write.h.
86196         (full_write): Return size_t, with short writes meaning failure.
86197         All callers changed.  This fixes a bug with large buffers
86198         on 64-bit hosts.
86199         * lib/utime.c: Include full-write.h.
86200
86201 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86202
86203         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
86204         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
86205         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
86206         Include if available.
86207         (<xalloc.h>): Include
86208         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
86209         (verify): New macro.  Use it to verify that EXCLUDE macros do not
86210         collide with FNM macros.
86211         (struct patopts): New struct.
86212         (struct exclude): Use it, as exclude patterns now come with options.
86213         (new_exclude): Support above changes.
86214         (new_exclude, add_exclude_file):
86215         Initial size must now be a power of two to simplify overflow checking.
86216         (free_exclude, fnmatch_no_wildcards): New function.
86217         (excluded_filename): No longer requires options arg, as the options
86218         are determined by add_exclude.  Now returns bool, not int.
86219         (excluded_filename, add_exclude):
86220         Add support for the fancy new exclusion options.
86221         (add_exclude, add_exclude_file): Now takes int options arg.
86222         Check for arithmetic overflow when computing sizes.
86223         (add_exclude_file): xrealloc might modify errno, so don't
86224         realloc until after errno might be used.
86225
86226         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
86227         New macros.
86228         (free_exclude): New decl.
86229         (add_exclude, add_exclude_file): Now takes int options arg.
86230         (excluded_filename): No longer requires options arg, as the options
86231         are determined by add_exclude.  Now returns bool, not int.
86232
86233 2001-08-30  Paul Eggert  <eggert@twinsun.com>
86234
86235         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
86236
86237 2001-08-27  Jim Meyering  <meyering@lucent.com>
86238
86239         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
86240
86241         * lib/version-etc.c (N_): Remove definition.
86242         Revert most of last change.
86243         Instead, simply don't mark the `Copyright...' string for translation.
86244         Based on advice from Paul Eggert.
86245
86246         * lib/strtoxmax.c: Tweak comment.
86247
86248 2001-08-26  Jim Meyering  <meyering@lucent.com>
86249
86250         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
86251
86252         * m4/xstrtoimax.m4: New file.
86253         * m4/xstrtoumax.m4: Add comments explaining why we
86254         AC_REPLACE_FUNCS(strtol).
86255
86256 2001-08-26  Jim Meyering  <meyering@lucent.com>
86257
86258         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
86259         of copyright with `%s' so translators don't get an untranslated
86260         message in 2002.
86261         (COPYRIGHT_YEAR): Define.
86262         (version_etc): Use fprintf rather than fputs.
86263         Suggestion from Ulrich Drepper.
86264
86265         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
86266
86267         * lib/strtoll.c: New file, from GNU libc.
86268         * lib/xstrtoimax.c: New file.
86269
86270         * lib/xstrtol.h: Add xstrtoimax.
86271         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
86272         * lib/strtoimax.c: New file.  Likewise, but first define
86273         STRTOUXMAX_SIGNED.
86274
86275         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
86276         ...
86277         * lib/strtoxmax.c: ... then renamed to this.
86278
86279 2001-08-18  Paul Eggert  <eggert@twinsun.com>
86280
86281         * m4/inttypes.m4: Add AC_PREREQ(2.13).
86282         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
86283         (jm_AC_TYPE_INTMAX_T): New macro.
86284         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
86285
86286         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
86287
86288         * m4/longlong.m4: Renamed from ulonglong.m4.
86289         * m4/inttypes.m4: Renamed from inttypes_h.m4.
86290         * m4/uintmax_t.m4: Removed.
86291
86292 2001-08-13  Paul Eggert  <eggert@twinsun.com>
86293
86294         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
86295         Port to Solaris 8, where 'sed' requires a space after the 'r'
86296         command, and where sh dislikes "$/".  Clean up the spacing a bit.
86297         Redirect output to $tmp just once.
86298
86299 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
86300
86301         * lib/addext.c (<errno.h>): Include.
86302         (errno): Declare if not defined.
86303         (addext): Work correctly when pathconf returns -1 and leaves
86304         errno alone because there is no limit.  Also, work even if
86305         pathconf returns a value greater than SIZE_MAX.
86306
86307 2001-08-12  Jim Meyering  <meyering@lucent.com>
86308
86309         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
86310         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
86311         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
86312         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
86313         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
86314         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
86315         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
86316         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
86317         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
86318         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
86319         utime.m4, utimes.m4, xstrtoumax.m4:
86320         Quote the first argument in each use of AC_DEFUN.
86321
86322 2001-08-12  Jim Meyering  <meyering@lucent.com>
86323
86324         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
86325         Simply `return getcwd (NULL, 0);'.
86326         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
86327         Use 1300 as initial value for length, not PATH_MAX.
86328
86329         * lib/pathmax.h: Clean up cpp syntax.
86330
86331 2001-08-12  Jim Meyering  <meyering@lucent.com>
86332
86333         * lib/gettimeofday.c: New file.
86334         * lib/gtod.h: New file.
86335         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
86336
86337 2001-08-05  Jim Meyering  <meyering@lucent.com>
86338
86339         * m4/jm-macros.m4: Require autoconf-2.52.
86340
86341 2001-08-04  Jim Meyering  <meyering@lucent.com>
86342
86343         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
86344         stmt, to get in sync with glibc.
86345
86346 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86347
86348         The following changes are from gettext 0.10.39 as maintained by
86349         Bruno Haible.
86350
86351         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
86352         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
86353         with inverted sense.  All uses changed.
86354
86355         * lib/mbswidth.c: Don't include <limits.h>.
86356         Include <stdlib.h> and <string.h> unconditionally.
86357         (iswcntrl, mbsinit, ISCNTRL): New macros.
86358         (mbsnwidth): Use K&R style function declarations.
86359         Don't bother checking for MB_LEN_MAX == 1, since the compiler
86360         can optimize it when MB_CUR_MAX == 1.
86361         The width of control characters is zero, not 1.
86362
86363 2001-08-03  Paul Eggert  <eggert@twinsun.com>
86364
86365         The following changes are from gettext 0.10.39 as maintained by
86366         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
86367
86368         * m4/codeset.m4: Upgrade to serial AM1.
86369         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
86370         all uses changed.  Quote first arg of AC_DEFUN.
86371         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
86372
86373         * m4/iconv.m4: Upgrade to serial AM2.
86374         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
86375         Add --with-libconv-prefix.
86376         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
86377         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
86378         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
86379         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
86380         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
86381
86382         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
86383         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
86384         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
86385         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
86386         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
86387         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
86388         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86389         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
86390         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
86391
86392         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
86393         string.h any more.
86394
86395         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
86396         not the default value.
86397
86398         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
86399         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
86400         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
86401         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
86402         Also check for iswcntrl, used for wcwidth fallback.
86403         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
86404         to Autoconf 2.13.
86405
86406 2001-08-03  Jim Meyering  <meyering@lucent.com>
86407
86408         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
86409         as it was in the original.  Reported by Paul Eggert.
86410
86411 2001-07-16  Jim Meyering  <meyering@lucent.com>
86412
86413         * m4/gettimeofday.m4: New file.
86414         Prompted by a report from Bernhard Baehr.
86415
86416 2001-07-15  Jim Meyering  <meyering@lucent.com>
86417
86418         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
86419         stuff. Now it's in ../Makefile.cfg.
86420
86421 2001-07-15  Jim Meyering  <meyering@lucent.com>
86422
86423         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
86424         (BUILT_SOURCES): Add unlocked-io.h.
86425         (io_functions): Define.
86426         (unlocked-io.h): New rule.
86427         (DISTCLEANFILES): Add unlocked-io.h.
86428         (all-local): Depend on unlocked-io.h, to ensure it is created.
86429
86430         * lib/unlocked-io.hin: New file
86431
86432         * lib/regex.c: Update from glibc.
86433
86434 2001-07-05  Jim Meyering  <meyering@lucent.com>
86435
86436         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
86437         recommendation.
86438         (libfetish_a_SOURCES): Put all .h files here instead.
86439         Remove a thus-exposed (better checks in automake) duplicate and
86440         two unnecessary .h files.
86441
86442 2001-07-04  Jim Meyering  <meyering@lucent.com>
86443
86444         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
86445         that generates jm-glibc-io.m4 so that it doesn't trigger any make
86446         distcheck failure.
86447
86448 2001-07-02  Jim Meyering  <meyering@lucent.com>
86449
86450         The following changes were prompted by suggestions from Bruno Haible.
86451
86452         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
86453         is now generated.
86454         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
86455         definition of EXTRA_DIST.
86456         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
86457         ensure that the generated file is created/updated whenever the list
86458         of $(unlocked_functions) is changed.
86459         (jm-glibc-io.m4): New rule.
86460         (unlocked-io.h): New rule -- currently unused.
86461
86462 2001-06-24  Jim Meyering  <meyering@lucent.com>
86463
86464         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
86465         unmatched right bracket, rather than kludging it with an extra,
86466         falsely-matching quote in a comment.  Patch by Akim Demaille.
86467
86468 2001-06-11  Jim Meyering  <meyering@lucent.com>
86469
86470         * lib/regex.c: Update from GNU libc.
86471
86472 2001-05-27  Jim Meyering  <meyering@lucent.com>
86473
86474         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
86475         Check for ut_type in struct utmp.
86476
86477 2001-05-27  Jim Meyering  <meyering@lucent.com>
86478
86479         * lib/readutmp.h (UT_TYPE): Define.
86480
86481 2001-05-24  Jim Meyering  <meyering@lucent.com>
86482
86483         * lib/argmatch.c: Include "quote.h".
86484         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
86485         quote function.  Reported by Göran Uddeborg.
86486
86487 2001-05-22  Jim Meyering  <meyering@lucent.com>
86488
86489         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
86490         now that we use the package-supplied version unconditionally.
86491         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
86492
86493 2001-05-21  Jim Meyering  <meyering@lucent.com>
86494
86495         * m4/regex.m4: Change a couple backticks to single quotes to avoid
86496         shell syntax errors.
86497
86498 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86499
86500         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
86501
86502 2001-05-20  Paul Eggert  <eggert@twinsun.com>
86503
86504         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
86505         Don't bother to check library strftime, since
86506         we'll be using our own my_strftime function anyway.
86507         Define my_strftime instead of strftime.
86508
86509 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
86510
86511         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
86512         which is not yet declared.
86513
86514 2001-05-15  Jim Meyering  <meyering@lucent.com>
86515
86516         * m4/regex.m4: Use proper quoting so brackets appear in the test
86517         program.
86518         Reported by, and with help from, Bruno Haible.
86519
86520 2001-05-13  Jim Meyering  <meyering@lucent.com>
86521
86522         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
86523         undefined.
86524
86525 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86526
86527         dirname code cleanup.  base_name now behaves more compatibly
86528         with POSIX basename when given file names that have trailing
86529         slashes, and similarly for dir_name.  Add new primitives
86530         base_len and dir_len.  Put the directory-name-related decls
86531         into dirname.h.
86532
86533         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
86534         * lib/backupfile.c (base_name): Likewise.
86535         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
86536         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
86537         * lib/makepath.c (strip_trailing_slashes): Likewise.
86538         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
86539         ISSLASH): Likewise.
86540         * lib/rename.c (strip_trailing_slashes): Likewise.
86541         * lib/same.c (base_name): Likewise.
86542         * lib/stripslash.c (ISSLASH): Likewise.
86543
86544         * lib/addext.c: Include <dirname.h> after size_t is defined.
86545         * lib/backupfile.c: Likewise.
86546
86547         * lib/addext.c (addext): Use base_len to trim redundant
86548         trailing slashes instead of doing it ourselves.
86549         But do not trim the last slash if it is not redundant.
86550
86551         * lib/backupfile.c (find_backup_file_name,
86552         max_backup_version): Use base_len instead of rolling it ourselves.
86553         Handle the case of "" and (on DOS) "C:" correctly.
86554
86555         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
86556         needed. Include <string.h>, <dirname.h>.
86557         (base_name): Allow file names ending in slashes, other than names
86558         that are all slashes.  In this case, return the basename followed
86559         by the slashes.  This is more general, and can be used in places
86560         where the original base_name purposely had an assertion failure.
86561         (base_len): New function.
86562
86563         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
86564         Do not include <assert.h>; no longer needed.
86565         Include xalloc.h.
86566         (memrchr): Remove decl.
86567         (dir_name_r): Remove.
86568         (dir_len): Renamed from dirlen.  All callers changed.
86569         Rewrite in terms of base_name, for simplicity and consistency.
86570         (dir_name): Never return NULL.  All callers changed.
86571         Do not include <stdlib.h> in test program; no longer needed.
86572         return 0; is fine for test program.
86573
86574         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
86575         New macros.
86576         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
86577
86578         * lib/path-concat.c (path_concat): Use base_len to compute
86579         base length, not strlen; this means we cannot rely on memcpy
86580         to null-terminate.
86581
86582         * lib/same.c (STREQ): Remove.
86583         (same_name): Handle the case where the basename ends in trailing '/'.
86584
86585         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
86586         a slash was stripped.  Do not strip the last slash after a
86587         file system prefix.
86588
86589 2001-05-11  Paul Eggert  <eggert@twinsun.com>
86590
86591         * lib/Makefile.am (libfetish_a_SOURCES):
86592         Add strftime.c, since we now compile it on all hosts.
86593
86594         * lib/strftime.c (my_strftime):
86595         Define to nstrftime if emacs, but only if my_strftime is not defined.
86596         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
86597         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
86598         Add one more extra argument: a nanoseconds value.
86599         All uses changed.
86600         (ns): New macro.
86601         (my_strftime function): Add %N format.
86602         (emacs_strftimeu): Renamed from emacs_strftime,
86603         with extra ut argument.
86604
86605 2001-05-09  Paul Eggert  <eggert@twinsun.com>
86606
86607         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
86608
86609 2001-04-21  Jim Meyering  <meyering@lucent.com>
86610
86611         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
86612         doesn't interfere.
86613
86614 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
86615
86616         * m4/ftruncate.m4: Check for chsize.
86617         Link with ftruncate.o unconditionally if ftruncate is missing.
86618         This was required when cross-compiling to i586-mingw32msvc.
86619
86620 2001-04-08  Jim Meyering  <meyering@lucent.com>
86621
86622         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
86623         recomputed; that's necessary when the offset spans a DST transition.
86624         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
86625
86626 2001-04-02  Jim Meyering  <meyering@lucent.com>
86627
86628         * lib/regex.h, regex.c: Update from GNU libc.
86629
86630 2001-03-24  Jim Meyering  <meyering@lucent.com>
86631
86632         * m4/jm-macros.m4: Require autoconf-2.49d.
86633
86634 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
86635
86636         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
86637
86638 2001-03-19  Paul Eggert  <eggert@twinsun.com>
86639
86640         * lib/version-etc.c (version_etc_copyright): Update to 2001.
86641
86642 2001-03-17  Jim Meyering  <meyering@lucent.com>
86643
86644         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
86645         now that the version in autoconf is equivalent.
86646         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
86647
86648         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
86649         Suggestion from Akim Demaille.
86650
86651         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
86652         (jm_PREREQ_TEMPNAME): New function.
86653
86654 2001-03-16  Paul Eggert  <eggert@twinsun.com>
86655
86656         * lib/tempname.c (uint64_t): Define to uintmax_t if
86657         not defined, and if UINT64_MAX is not defined.
86658         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
86659         Reported by John David Anglin.
86660
86661 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
86662
86663         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
86664         resolve alias if codeset is empty.
86665         * lib/config.charset (BeOS): Use wildcard syntax.
86666
86667 2001-03-13  Jim Meyering  <meyering@lucent.com>
86668
86669         * lib/path-concat.c (path_concat)
86670         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
86671         concatenating e.g., `C:' and `foo'.
86672         From Bruno Haible.
86673
86674 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86675
86676         * lib/localcharset.c (locale_charset): Don't use
86677         setlocale(LC_CTYPE,NULL). Don't return NULL.
86678         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
86679
86680 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
86681
86682         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
86683         support for DOS/DJGPP.
86684
86685 2001-03-01  Paul Eggert  <eggert@twinsun.com>
86686
86687         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
86688         lacks mkstemp.  Compile our own tempname.c if we compile our own
86689         mkstemp.c, as mkstemp relies on tempname.
86690
86691 2001-03-01  Jim Meyering  <meyering@lucent.com>
86692
86693         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
86694         AH_VERBATIM really does output its argument verbatim.
86695
86696 2001-02-28  Paul Eggert  <eggert@twinsun.com>
86697
86698         * lib/Makefile.am (libfetish_a_SOURCES):
86699         Add dup-safer.c, fopen-safer.c.
86700         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
86701
86702         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
86703         * lib/unistd-safer.h: New files.
86704
86705 2001-02-25  Paul Eggert  <eggert@twinsun.com>
86706
86707         The mkstemp replacement is taken from glibc 2.2.2, with some
86708         portability fixes for use outside glibc, as follows:
86709
86710         * lib/tempname.c (struct_stat64): New macro.
86711         (direxists, __gen_tempname): Use it.
86712         This avoids a portability problem with Solaris 8.
86713
86714         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
86715         (<stddef.h>, <stdint.h>, <string.h>):
86716         Include only if STDC_HEADERS || _LIBC.
86717         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
86718         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
86719         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
86720         (__set_errno): Define this macro if <errno.h> doesn't.
86721         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
86722         Define these macros if <stdio.h> doesn't.
86723         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
86724         Define these macros if <sys/stat.h>
86725         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
86726         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
86727         __xstat64): Define if not _LIBC.
86728         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
86729         (__gen_tempname): Invoke gettimeofday only if
86730         HAVE_GETTIMEOFDAY || _LIBC;
86731         otherwise, fall back on plain "time".
86732         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
86733
86734         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
86735
86736         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
86737
86738 2001-02-18  Paul Eggert  <eggert@twinsun.com>
86739
86740         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
86741
86742 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86743
86744         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
86745         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
86746         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
86747         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86748
86749 2001-02-17  Paul Eggert  <eggert@twinsun.com>
86750
86751         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
86752         Remove workaround macros for hosts that have mbrtowc but not
86753         mbstate_t, as we now insist on proper declarations for both
86754         before using mbrtowc.
86755
86756 2001-02-17  Jim Meyering  <meyering@lucent.com>
86757
86758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
86759         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
86760         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
86761         UnixWare 7.1.1.
86762
86763         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
86764         rather than AC_CACHE_VAL.
86765
86766 2001-02-17  Jim Meyering  <meyering@lucent.com>
86767
86768         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
86769         around included file name.
86770
86771         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
86772
86773         * lib/strftime.c: Update from GNU libc (the only changes were to
86774         comments).
86775
86776 2001-02-17  Jim Meyering  <meyering@lucent.com>
86777
86778         * lib/regex.c: Update from libc.
86779
86780 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
86781
86782         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
86783         clash.
86784
86785 2001-02-16  Paul Eggert  <eggert@twinsun.com>
86786
86787         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
86788         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
86789         Reported by Mark Hounschell via Paul Eggert.
86790
86791 2001-02-07  Jim Meyering  <meyering@lucent.com>
86792
86793         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
86794
86795 2001-02-05  Jim Meyering  <meyering@lucent.com>
86796
86797         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
86798         it includes the patch required for `large file' support with at least
86799         HP-UX's 10.20 /bin/cc.
86800
86801 2001-02-03  Jim Meyering  <meyering@lucent.com>
86802
86803         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
86804         AS_IF, now that it works once again (mysteriously).
86805         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86806
86807 2001-01-30  Jim Meyering  <meyering@lucent.com>
86808
86809         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
86810         * m4/chown.m4: Rename conftestchown to conftest.chown.
86811         * m4/rename.m4: s/conftestdir/conftest.d1/ and
86812         s/conftestdir2/conftest.d2/.
86813         * m4/utimes.m4: s/conftestdata/conftest.data/
86814         Inspired by Pavel Roskin's change in autoconf.
86815
86816 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
86817
86818         * lib/config.charset: Update for FreeBSD 4.2.
86819
86820 2001-01-27  Jim Meyering  <meyering@lucent.com>
86821
86822         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
86823         a use of AS_IF.
86824         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
86825
86826 2001-01-26  Jim Meyering  <meyering@lucent.com>
86827
86828         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
86829         quotearg.c includes it.
86830
86831 2001-01-26  Jim Meyering  <meyering@lucent.com>
86832
86833         * lib/quotearg.c: Include stddef.h.
86834         * lib/quote.c: Include stddef.h.
86835         Reported by Axel Kittenberger.
86836
86837         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
86838         line in double quotes so that it evokes a better diagnostic.
86839         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
86840         Reported by Axel Kittenberger.
86841
86842 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
86843
86844         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
86845         as if it was a `charset'.
86846
86847 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86848
86849         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
86850         has const.
86851
86852 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
86853
86854         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
86855         to avoid a warning.  Add back 'const' to inptr.
86856
86857 2001-01-20  Jim Meyering  <meyering@lucent.com>
86858
86859         Be sure that headers are checked before used in code compiled
86860         for the type checks.
86861         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
86862         In place of that, invoke jm_CHECK_ALL_TYPES.
86863         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
86864         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
86865         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
86866         The check for ssize_t was mistakenly run before the test for unistd.h.
86867
86868         The configure-time check for stdbool.h was missing.
86869         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
86870         (jm_PREREQ_HASH): New function.
86871
86872 2001-01-17  Jim Meyering  <meyering@lucent.com>
86873
86874         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
86875         for autoconf-2.49c.
86876         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
86877
86878 2001-01-16  Jim Meyering  <meyering@lucent.com>
86879
86880         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
86881         From Bruno Haible.
86882
86883 2001-01-14  Jim Meyering  <meyering@lucent.com>
86884
86885         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
86886         foo and bar.  Create conftestdir/ in the script, not in the C code.
86887         Remove directories in the script, not in the C code.
86888         Remove conftestdir{,2} before trying to create the directory.
86889         Make the entire configure script fail if the mkdir fails.
86890
86891 2001-01-14  Jim Meyering  <meyering@lucent.com>
86892
86893         * lib/rename.c: New file.  From Volker Borchert.
86894         Include stdlib.h, string.h or strings.h, and xalloc.h.
86895         Use strip_trailing_slashes rather than open-coding it.
86896
86897 2001-01-03  Paul Eggert  <eggert@twinsun.com>
86898
86899         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
86900
86901 2001-01-03  Jim Meyering  <meyering@lucent.com>
86902
86903         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
86904         of local `inptr' to avoid warning with some system declarations of
86905         iconv.
86906
86907 2001-01-02  Volker Borchert  <bt@teknon.de>
86908
86909         * m4/rename.m4: New file.
86910         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
86911
86912 2001-01-01  Jim Meyering  <meyering@lucent.com>
86913
86914         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
86915         even on systems with utmpx.h.  It's necessary for the declaration of
86916         utmp's ut_user member.  Reported by Andreas Jaeger.
86917
86918         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
86919         available. They are required for the declarations of getgrgid and
86920         getpwuid resp.
86921         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
86922         Reported by Andreas Jaeger.
86923
86924 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
86925
86926         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
86927         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
86928         so `make install' also works in VPATH builds.
86929
86930 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
86931
86932         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
86933         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
86934         can be used in subdirectories.
86935
86936 2000-12-29  Paul Eggert  <eggert@twinsun.com>
86937
86938         * lib/modechange.c: Do not assume that mode_t uses the
86939         traditional octal encoding.  E.g. "chmod 1 FOO" should set
86940         the other-execute bit of FOO even if S_IXOTH != 1.
86941
86942         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
86943         WOTH, XOTH, ALLM): New macros.
86944         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
86945          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
86946         Use them.
86947         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
86948         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
86949         (mode_compile):
86950         No need to use uintmax_t; unsigned long is long enough.
86951         Don't bother to get suffix since we don't use it.
86952
86953 2000-12-26  Jim Meyering  <meyering@lucent.com>
86954
86955         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
86956         better with autoheader.
86957
86958 2000-12-24  Jim Meyering  <meyering@lucent.com>
86959
86960         * lib/hash.c (is_prime): Return explicit boolean values.
86961         (hash_get_first): Return NULL to appease Irix5.6's 89.
86962         Reported by Nelson Beebe.
86963
86964 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
86965
86966         * lib/localcharset.c (locale_charset): Add support for Win32.
86967
86968 2000-12-18  Paul Eggert  <eggert@twinsun.com>
86969
86970         * lib/physmem.h, lib/physmem.c: New files.
86971
86972         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
86973         (noinst_HEADERS): Add physmem.h.
86974
86975         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
86976         't' for compatibility with Solaris 8 sort.
86977
86978 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
86979
86980         * lib/config.charset: Add support for BeOS.
86981
86982 2000-12-17  Jim Meyering  <meyering@lucent.com>
86983
86984         * m4/dos.m4 (jm_AC_DOS): New file and macro.
86985         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
86986
86987 2000-12-16  Jim Meyering  <meyering@lucent.com>
86988
86989         This bug had a serious impact on chown: `chown N:M FILE' (for integer
86990         N and M) would have treated it like `chown N:N FILE'.
86991
86992         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
86993
86994 2000-12-16  Jim Meyering  <meyering@lucent.com>
86995
86996         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
86997         SHELLS_FILE to a file name that's useful on djgpp systems.
86998         Include stdlib.h.
86999         (ADDITIONAL_DEFAULT_SHELLS): Define.
87000         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
87001         Based mostly on a patch from Prashant TR.
87002
87003 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
87004
87005         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
87006         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
87007         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
87008
87009 2000-12-08  Andreas Schwab  <schwab@suse.de>
87010
87011         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87012         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
87013
87014 2000-12-07  Jim Meyering  <meyering@lucent.com>
87015
87016         * lib/stripslash.c (ISSLASH): Define.
87017         (strip_trailing_slashes): Use ISSLASH rather than comparing against
87018         `/'.
87019         From Prashant TR.
87020
87021         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
87022         (dir_name_r): Declare this function as static.
87023         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
87024         manifest itself on a name containing a mix of slashes and
87025         backslashes.
87026         Make this function work with names starting with a DOS-style
87027         drive letter and colon prefix.
87028         (dir_name): Append `.' if necessary.
87029         Based mostly on patches from Prashant TR and Eli Zaretskii.
87030
87031         * lib/dirname.h (dir_name_r): Remove prototype.
87032
87033 2000-12-06  Paul Eggert  <eggert@twinsun.com>
87034
87035         * m4/off_t-format.m4: Remove this file.
87036         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
87037
87038 2000-12-06  Jim Meyering  <meyering@lucent.com>
87039
87040         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
87041         replacement strtoull, we may well need the replacement strtoul, too.
87042         Check for declarations of strtoul and strtoull.
87043         Check for strtol.  Mainly as a cue to cause automake to include
87044         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
87045         Check for limits.h -- strtol.c needs it.
87046
87047 2000-12-05  Jim Meyering  <meyering@lucent.com>
87048
87049         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
87050
87051 2000-12-04  Jim Meyering  <meyering@lucent.com>
87052
87053         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
87054         Also include memory.h, stdlib.h, unistd.h if appropriate.
87055         Reported by Andreas Jaeger (conflicting declaration of malloc).
87056
87057 2000-12-02  Jim Meyering  <meyering@lucent.com>
87058
87059         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
87060         * m4/jm-macros.m4 (jm_MACROS): require it.
87061
87062 2000-12-02  Jim Meyering  <meyering@lucent.com>
87063
87064         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
87065
87066 2000-12-01  Paul Eggert  <eggert@twinsun.com>
87067
87068         * lib/memrchr.c: Include <config.h> before any system include file.
87069
87070 2000-11-30  Jim Meyering  <meyering@lucent.com>
87071
87072         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
87073
87074 2000-11-30  Jim Meyering  <meyering@lucent.com>
87075
87076         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
87077
87078 2000-11-29  Paul Eggert  <eggert@twinsun.com>
87079
87080         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
87081
87082 2000-11-26  Jim Meyering  <meyering@lucent.com>
87083
87084         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
87085
87086 2000-11-22  Paul Eggert  <eggert@twinsun.com>
87087
87088         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
87089         size of (size_t) -1; it's not portable.
87090
87091 2000-11-17  Jim Meyering  <meyering@lucent.com>
87092
87093         * lib/strstr.c: Update from GNU libc.
87094
87095 2000-11-17  Akim Demaille  <akim@epita.fr>
87096
87097         * lib/obstack.h: Formatting changes.
87098         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
87099         prevent type checking.
87100         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
87101         cast the value to (void *): assigning a `foo *' to a `void *'
87102         variable is valid.
87103         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
87104
87105 2000-11-16  Jim Meyering  <meyering@lucent.com>
87106
87107         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
87108
87109 2000-11-11  Jim Meyering  <meyering@lucent.com>
87110
87111         * lib/error.c: Add a couple #includes, merging from GNU libc version.
87112
87113 2000-11-10  Jim Meyering  <meyering@lucent.com>
87114
87115         * lib/obstack.h: Update from GNU libc.
87116         * lib/obstack.c: Likewise.
87117
87118 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
87119
87120         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
87121
87122 2000-11-06  Paul Eggert  <eggert@twinsun.com>
87123
87124         * lib/getusershell.c (setusershell): Use rewind rather than
87125         fseek/fseeko, to avoid configuration hassles with fseeko.
87126         Don't bother opening SHELLS_FILE if shellstream is NULL;
87127         it's not necessary.
87128
87129 2000-11-05  Jim Meyering  <meyering@lucent.com>
87130
87131         * lib/makepath.h (make_dir): Declare.
87132         * lib/makepath.c (make_dir): Remove `static' attribute.
87133         Tweak a comment.
87134
87135 2000-11-04  Jim Meyering  <meyering@lucent.com>
87136
87137         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
87138
87139 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
87140
87141         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
87142         last one in a bucket, advance to the next bucket.
87143
87144 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
87145
87146         * lib/fnmatch.c: Do not comment out all the code if we are using
87147         the GNU C library, because in some cases we are replacing buggy
87148         code in the GNU C library itself.
87149
87150 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
87151
87152         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
87153         (regex_compile): Catch bogus \(\1\).
87154
87155 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87156
87157         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
87158         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
87159         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
87160
87161 2000-10-30  Paul Eggert  <eggert@twinsun.com>
87162
87163         * lib/error.h, getline.h, modechange.h:
87164         Remove "2000" from Copyright line, as the file hasn't been
87165         changed this year other than in the copyright notice.
87166
87167         * lib/xalloc.h: Add "2000" to Copyright line, as this file
87168         was changed this year.
87169
87170 2000-10-29  Jim Meyering  <meyering@lucent.com>
87171
87172         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
87173         renaming.
87174         * m4/ls-mntd-fs.m4: Likewise
87175
87176 2000-10-29  Jim Meyering  <meyering@lucent.com>
87177
87178         * lib/xstat.in: Fix grammar in comment.
87179
87180 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
87181
87182         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
87183         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
87184         doesn't define __restrict_arr.
87185
87186 2000-10-28  Jim Meyering  <meyering@lucent.com>
87187
87188         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
87189         (jm_PREREQ_MEMCHR): New function.
87190
87191 2000-10-28  Jim Meyering  <meyering@lucent.com>
87192
87193         * lib/memchr.c: Update from libc.
87194         Adjust for portability:
87195         [HAVE_STDLIB_H]: Include stdlib.h.
87196         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
87197         Undef __memchr, too.
87198         [!weak_alias]: Define __memchr to memchr.
87199
87200         * lib/regex.c: Update from libc.
87201         * lib/regex.h: Likewise.
87202         * lib/getopt1.c: Likewise.
87203         * lib/memcmp.c: Likewise.
87204
87205         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
87206         Avoid using fseek, when possible -- it's broken by design.
87207         Patch by Ulrich Drepper.
87208
87209 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
87210
87211         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
87212         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
87213         Giving in to popular pressure to shut up the compiler with casts.
87214
87215 2000-10-26  Jim Meyering  <meyering@lucent.com>
87216
87217         * lib/strftime.c: Update from libc.
87218
87219 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
87220
87221         * regex.c: More `unsigned char' -> `re_char' changes.
87222         Also change several `int' into `re_wchar_t'.
87223         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
87224         (PUSH_FAILURE_POINTER): Don't cast any more.
87225         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
87226         We want GCC to complain, since this piece of code makes
87227         re_match non-reentrant, which *should* be fixed.
87228         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
87229         (EXTEND_BUFFER): Use RETALLOC.
87230         (SET_LIST_BIT): Don't cast.
87231         (re_wchar_t): New type.
87232         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
87233         that those two functions will always properly return.
87234         (IMMEDIATE_QUIT_CHECK): Cast to void.
87235         (analyse_first): Use recursion rather than an explicit stack.
87236         (re_compile_fastmap): Can't fail anymore.
87237         (re_search_2): Don't check re_compile_fastmap for failure.
87238         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
87239         Now also sets the new value (passed in a new argument).
87240         (re_match_2_internal): Use it.
87241         Also, use a new var `reg' of type size_t when looping through regs
87242         rather than reuse the inappropriate `mcnt'.
87243
87244 2000-10-25  Jim Meyering  <meyering@lucent.com>
87245
87246         * lib/obstack.c: Update from libc.
87247
87248 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
87249
87250         * regex.c (regex_compile): Change the way of handling a range from
87251         a char less than 256 to a char not less than 256.
87252
87253 2000-10-24  Andrew Innes  <andrewi@gnu.org>
87254
87255         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
87256         NT-Emacs only.
87257         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
87258         so that re_search functions only quit when callers expect them to.
87259
87260 2000-10-23  Jim Meyering  <meyering@lucent.com>
87261
87262         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
87263         wrong.  That set_locale call must not have any side effects.
87264         From Paul Eggert.
87265
87266 2000-10-22  Jim Meyering  <meyering@lucent.com>
87267
87268         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
87269         [CYCLIC]: Remove now-unused definition.
87270
87271         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
87272         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
87273         Suggestion from Ulrich Drepper.
87274
87275 2000-10-21  Jim Meyering  <meyering@lucent.com>
87276
87277         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
87278         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
87279         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
87280
87281 2000-10-21  Jim Meyering  <meyering@lucent.com>
87282
87283         * lib/dirname.c (memrchr): Declare if necessary.
87284         (dir_name): Remove the restriction that there be no
87285         trailing slashes.  Now, this code skips past them, effectively
87286         ignoring them.
87287         [TEST_DIRNAME] (main): New unit tests.
87288
87289         * lib/memrchr.c: New file from GNU libc.
87290         Undef __memrchr, too.
87291         [!weak_alias]: Define __memrchr to memrchr.
87292         Guard weak_alias use with `#ifdef weak_alias'.
87293
87294 2000-10-21  Jim Meyering  <meyering@lucent.com>
87295
87296         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
87297         (dir_name): Use dir_name_r.
87298         * lib/dirname.h (dir_name_r): Declare it.
87299
87300 2000-10-17  Jim Meyering  <meyering@lucent.com>
87301
87302         * lib/quote.h (PARAMS): Define and use.
87303         Reported by Akim Demaille.
87304
87305         * lib/getopt.c: Update from libc.
87306
87307 2000-10-16  Jim Meyering  <meyering@lucent.com>
87308
87309         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
87310         setlocale.
87311         From Jan Fedak.
87312
87313 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
87314
87315         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
87316
87317 2000-09-25  Jim Meyering  <meyering@lucent.com>
87318
87319         * lib/md5.h (rol): Define (from GnuPG).
87320
87321         * lib/sha.c: Give credit (GnuPG) where due.
87322         (M): Use rol rather than open-coding it.
87323         Add a FIXME comment.
87324
87325 2000-09-21  Jim Meyering  <meyering@lucent.com>
87326
87327         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
87328         Reported by Michael Stone.
87329
87330 2000-09-20  Jim Meyering  <meyering@lucent.com>
87331
87332         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
87333         (noinst_HEADERS): Add sha.h.
87334         Based on code from Scott G. Miller and from GnuPG.
87335
87336 2000-09-18  Jim Meyering  <meyering@lucent.com>
87337
87338         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
87339         LIBS. Otherwise, everyone ends up linking with -lelf for some
87340         configurations.
87341         Reported by Mike Stone.
87342
87343 2000-09-15  Jim Meyering  <meyering@lucent.com>
87344
87345         * lib/regex.c: Update from libc.
87346
87347 2000-09-10  Jim Meyering  <meyering@lucent.com>
87348
87349         * lib/getopt.c (_getopt_internal): Update from glibc.
87350
87351 2000-09-09  Jim Meyering  <meyering@lucent.com>
87352
87353         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
87354         think it should be used as a general replacement for isascii.
87355         * lib/fnmatch.c: Likewise.
87356         * lib/mbswidth.c: Likewise
87357         * lib/regex.c: Likewise.
87358
87359         Don't use atoi.
87360         * lib/userspec.c: Include sys/param.h and limits.h.
87361         Include xstrtol.h.
87362         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87363         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
87364         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
87365         UID, GID.  Check range.
87366
87367 2000-09-06  Jim Meyering  <meyering@lucent.com>
87368
87369         * lib/getopt.c (_getopt_internal): Update from glibc.
87370
87371 2000-08-30  Jim Meyering  <meyering@lucent.com>
87372
87373         * lib/strftime.c: Merge in changes from GNU libc.
87374
87375 2000-08-26  Jim Meyering  <meyering@lucent.com>
87376
87377         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
87378         * m4/fpending.m4: New file.
87379
87380 2000-08-26  Jim Meyering  <meyering@lucent.com>
87381
87382         * lib/closeout.c: Include "__fpending.h".
87383         (close_stdout_status): Return right away if there's nothing to flush.
87384
87385         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
87386         * lib/__fpending.c: New file.
87387         * lib/__fpending.h: New file.
87388
87389 2000-08-20  Jim Meyering  <meyering@lucent.com>
87390
87391         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
87392         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
87393         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
87394
87395 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
87396
87397         Improve fileutils installation on systems where running
87398         programs (like install) can't be unlinked.
87399         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
87400         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
87401
87402 2000-08-07  Paul Eggert  <eggert@twinsun.com>
87403
87404         Standardize on "memory exhausted" instead of "Memory exhausted"
87405         or "virtual memory exhausted".
87406         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
87407         "virtual memory exhausted".
87408         * lib/same.c (same_name): Invoke xalloc_die instead of printing
87409         our own message.
87410         * lib/userspec.c (parse_user_spec): Likewise.
87411         * lib/bumpalloc.h: comment fix
87412         * lib/same.c, userspec.c: Include xalloc.h.
87413
87414         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
87415         not char *const and pointing to a constant array.
87416         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
87417         (xrealloc): Comment fix.
87418
87419         * lib/userspec.c (parse_user_spec):
87420         Don't translate a message until just before returning,
87421         to avoid unnecessary translation.
87422
87423 2000-08-07  Jim Meyering  <meyering@lucent.com>
87424
87425         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
87426         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
87427         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
87428         getgroups.c, gethostname.c, getopt.h, group-member.c,
87429         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
87430         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
87431         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
87432         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
87433         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
87434         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
87435         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
87436         yesno.c: Back out Copyright date changes for each file with no change
87437         this year.  This eases coordination with other programs using the same
87438         source code modules.  From Paul Eggert.
87439
87440 2000-08-06  Paul Eggert  <eggert@twinsun.com>
87441
87442         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
87443         not char, for compatibility with glibc 2.1.3 strftime.c.
87444
87445 2000-08-03  Greg McGary  <greg@mcgary.org>
87446
87447         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
87448         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
87449         (EXTEND_BUFFER): Use them.
87450
87451 2000-08-01  Jim Meyering  <meyering@lucent.com>
87452
87453         * lib/dirname.c (ISSLASH): Define.
87454         (BACKSLASH_IS_PATH_SEPARATOR): Define.
87455         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
87456         both `\' and `/' may be use as path separators.
87457         Based on a patch from Prashant TR.
87458
87459 2000-07-31  Paul Eggert  <eggert@twinsun.com>
87460
87461         * lib/quotearg.c (quotearg_n_options): Don't make the initial
87462         slot vector a constant, since it might get modified.
87463
87464 2000-07-31  Jim Meyering  <meyering@lucent.com>
87465
87466         * lib/xmalloc.c: Use `virtual memory exhausted', not
87467         `Memory exhausted'.
87468         * lib/obstack.c (print_and_abort): Likewise.
87469
87470 2000-07-30  Paul Eggert  <eggert@twinsun.com>
87471
87472         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
87473         buffer, so that the caller can always quote one small
87474         component of a "memory exhausted" message in slot 0.
87475         From a suggestion by Jim Meyering.
87476
87477 2000-07-30  Jim Meyering  <meyering@lucent.com>
87478
87479         * lib/makepath.c (make_path): Quote the other instance, too.
87480
87481         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
87482         (STATIC_BUF_SIZE): Define.
87483         (quotearg_n_options): Use only statically allocated storage when
87484         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
87485         than STATIC_BUF_SIZE.
87486
87487 2000-07-29  Jim Meyering  <meyering@lucent.com>
87488
87489         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
87490         * lib/dirname.c (dir_name): Likewise.
87491
87492         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
87493         `/'.
87494
87495         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
87496         (dir_name): Assert that there are no trailing slashes.
87497
87498 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
87499
87500         * lib/mbswidth.h (mbswidth): Add a flags argument.
87501         (mbswidth): New declaration.
87502         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
87503         * lib/mbswidth.c (mbswidth): Add a flags argument.
87504         (mbsnwidth): New function.
87505
87506 2000-07-24  Jim Meyering  <meyering@lucent.com>
87507
87508         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
87509
87510 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87511
87512         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
87513
87514 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87515
87516         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
87517         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
87518         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
87519         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
87520         invoke multibyte primitives.
87521
87522 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87523
87524         * lib/quotearg.c:
87525         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
87526         so that mbstate_t is always defined.
87527
87528         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
87529         be 1 in at least one GCC installation, and this configuration
87530         error is likely to be common.  Ignoring MB_LEN_MAX hurts
87531         performance on hosts that have mbrtowc but have only unibyte
87532         locales, but I assume these hosts are rare.
87533
87534 2000-07-23  Paul Eggert  <eggert@twinsun.com>
87535
87536         * lib/mbswidth.c (_XOPEN_SOURCE):
87537         Don't define; this causes problems on Solaris 7.
87538         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
87539
87540 2000-07-23  Jim Meyering  <meyering@lucent.com>
87541
87542         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
87543         too: getgrgid, getpwuid, getuid.
87544
87545 2000-07-23  Jim Meyering  <meyering@lucent.com>
87546
87547         * lib/basename.c (base_name): Add an assertion.
87548
87549 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
87550
87551         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
87552         shadow its mbsinit function.
87553
87554 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87555
87556         * lib/mbswidth.h: New file.
87557         * lib/mbswidth.c: New file.
87558         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
87559         (noinst_HEADERS): Add mbswidth.h.
87560
87561 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
87562
87563         * lib/config.charset: Add support for FreeBSD. Improve support for
87564         HP-UX and IRIX 6.
87565
87566 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
87567
87568         * m4/mbswidth.m4: New file.
87569         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
87570
87571 2000-07-15  Jim Meyering  <meyering@lucent.com>
87572
87573         * lib/makepath.c: Include quote.h.
87574         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
87575         corresponding argument in a `quote (...)' call.
87576         Give better diagnostics.
87577
87578         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
87579         (noinst_HEADERS): Add quote.h.
87580
87581         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
87582         from tar's src/misc.c.
87583         * lib/quote.h: New file.  Prototypes for same.
87584
87585 2000-07-14  Paul Eggert  <eggert@twinsun.com>
87586
87587         From a suggestion by Bruno Haible.
87588         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
87589         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
87590         to decide whether to define the BeOS workaround macro;
87591         this adjusts to the change to AC_MBSTATE_T.
87592
87593 2000-07-14  Jim Meyering  <meyering@lucent.com>
87594
87595         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
87596         jm_AC_TYPE_UINTMAX_T.
87597
87598 2000-07-13  Paul Eggert  <eggert@twinsun.com>
87599
87600         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
87601
87602         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
87603         quotearg_buffer_restyled): Add support for
87604         clocale_quoting_style.  Undo previous change to
87605         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
87606         and "{RIGHT QUOTATION MARK}" msgids.
87607
87608 2000-07-10  Paul Eggert  <eggert@twinsun.com>
87609
87610         From a suggestion by Bruno Haible.
87611         * m4/mbstate_t.m4 (AC_MBSTATE_T):
87612         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
87613         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
87614         and mbstate_t, to a single-part test that simply defines mbstate_t.
87615         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
87616         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
87617
87618 2000-07-10  Jim Meyering  <meyering@lucent.com>
87619
87620         * m4/strerror_r.m4: Mirror the correction made in autoconf.
87621
87622         * m4/gnu-source.m4: Output to confdefs.h directly.
87623         Suggestion from Akim Demaille.
87624
87625 2000-07-09  Paul Eggert  <eggert@twinsun.com>
87626
87627         The old behavior of quoting `like this' doesn't look good with
87628         newer, ISO-style fonts.  See:
87629         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
87630
87631         Instead, quote "like this" by default.  Let the translator
87632         tailor the locale-specific quoting behavior by providing
87633         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
87634
87635         * lib/quotearg.c (N_): New macro.
87636         (gettext_default): New function.
87637         (quotearg_buffer_restyled): Use
87638         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
87639         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
87640
87641 2000-07-09  Jim Meyering  <meyering@lucent.com>
87642
87643         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
87644         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
87645
87646         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
87647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
87648
87649 2000-07-09  Jim Meyering  <meyering@lucent.com>
87650
87651         * lib/Most files: Update copyright dates to include 2000.
87652
87653 2000-07-08  Jim Meyering  <meyering@lucent.com>
87654
87655         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
87656         if not defined.
87657         (xgethostname): Remove now-unnecessary #ifdef.
87658         Move declaration of `err' into loop where it's used.
87659
87660 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87661         and Bruno Haible  <haible@clisp.cons.org>
87662
87663         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
87664         only if the test for an object-type mbstate_t fails.  This
87665         prevents us from mistakenly reporting that mbstate_t is a
87666         system object type after we "#define mbstate_t int" to work
87667         around its lack.
87668
87669 2000-07-05  Paul Eggert  <eggert@twinsun.com>
87670         and Bruno Haible  <haible@clisp.cons.org>
87671
87672         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
87673
87674 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87675
87676         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
87677         to strerror_r.
87678         Include <ctype.h> for use of isalpha.
87679
87680 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87681
87682         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
87683         by allocating a larger buffer. Test the gethostname return value for
87684         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
87685         returns an error and ENAMETOOLONG isn't defined.
87686
87687 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
87688
87689         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
87690         dimension.
87691
87692 2000-07-04  Jim Meyering  <meyering@lucent.com>
87693
87694         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
87695         of the deprecated AC_CHECKING.
87696
87697 2000-07-04  Jim Meyering  <meyering@lucent.com>
87698
87699         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
87700         Reported by Bruno Haible.
87701
87702 2000-07-04  Jim Meyering  <meyering@lucent.com>
87703
87704         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
87705         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
87706         lacks mbrtowc.
87707
87708 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87709
87710         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
87711         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
87712
87713 2000-07-03  Paul Eggert  <eggert@twinsun.com>
87714         and Bruno Haible  <haible@clisp.cons.org>
87715
87716         * lib/quotearg.c (mbrtowc):
87717         Assign to *pwc, and return 1 only if result is nonzero.
87718         (iswprint): Use ISPRINT when substituting our own mbrtowc.
87719
87720 2000-07-03  Jim Meyering  <meyering@lucent.com>
87721
87722         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
87723
87724 2000-07-03  Jim Meyering  <meyering@lucent.com>
87725
87726         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
87727         This is necessary to get a definition of e.g., UTMP_FILE on
87728         HP-UX 10.20.
87729         From Bob Proulx.
87730
87731 2000-07-02  Jim Meyering  <meyering@lucent.com>
87732
87733         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
87734
87735         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
87736         AC_LIBOBJ(function_name).
87737         * m4/chown.m4: Likewise.
87738         * m4/fnmatch.m4: Likewise.
87739         * m4/ftruncate.m4: Likewise.
87740         * m4/getgroups.m4: Likewise.
87741         * m4/getline.m4: Likewise.
87742         * m4/group-member.m4: Likewise.
87743         * m4/jm-macros.m4: Likewise.
87744         * m4/lstat.m4: Likewise.
87745         * m4/malloc.m4: Likewise.
87746         * m4/memcmp.m4: Likewise.
87747         * m4/nanosleep.m4: Likewise.
87748         * m4/putenv.m4: Likewise.
87749         * m4/realloc.m4: Likewise.
87750         * m4/regex.m4: Likewise.
87751         * m4/stat.m4: Likewise.
87752         * m4/strftime.m4: Likewise.
87753
87754 2000-07-02  Jim Meyering  <meyering@lucent.com>
87755
87756         * lib/quotearg.c (mbstate_t): Don't define here.
87757
87758 2000-07-02  Jim Meyering  <meyering@lucent.com>
87759
87760         * lib/nanosleep.c (SIGCONT): Define if not already defined.
87761
87762 2000-07-01  Jim Meyering  <meyering@lucent.com>
87763
87764         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
87765
87766 2000-07-01  Jim Meyering  <meyering@lucent.com>
87767
87768         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
87769         problem.
87770
87771 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87772
87773         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
87774         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
87775
87776 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
87777
87778         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
87779         per change in ../m4/ls-mntd-fs.m4.
87780         (read_filesystem_list): Ignore symbolic links.
87781
87782 2000-06-29  Jim Meyering  <meyering@lucent.com>
87783
87784         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
87785         for declaration of strcmp.
87786
87787         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
87788
87789         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
87790         Avoid warning by casting result to `char *' to remove `const'.
87791
87792 2000-06-28  Jim Meyering  <meyering@lucent.com>
87793
87794         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
87795         included by quotearg.c, for which we perform this test.  From
87796         Bruno Haible.
87797
87798 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87799
87800         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
87801         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
87802         <utmpx.h> exists, put readutmp.o into LIBOBJS.
87803
87804 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
87805
87806         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
87807
87808 2000-06-26  Paul Eggert  <eggert@twinsun.com>
87809
87810         savedir now sets errno on failure and invokes xmalloc to get memory.
87811         Fix a couple of other minor bugs while we're at it.
87812
87813         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
87814         (NAMLEN): Remove macro.
87815         (malloc, realloc): Remove decls.
87816         (stpcpy): Likewise.
87817         ("xalloc.h"): Include.
87818         (NAME_SIZE_DEFAULT): New macro.
87819         (savedir): Use xmalloc / xrealloc to allocate memory.
87820         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
87821         Skip "" directory entries.
87822         Use strlen to calculate directory entry length, since the old method
87823         is rarely used these days and isn't worth supporting.
87824         Don't use a pointer after freeing it.
87825         Check for integer overflow when calculating allocation size.
87826         Use memcpy to copy entries, instead of stpcpy.
87827         Set errno properly when returning NULL.
87828         Check for readdir error.
87829
87830 2000-06-26  Jim Meyering  <meyering@lucent.com>
87831
87832         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
87833
87834 2000-06-25  Jim Meyering  <meyering@lucent.com>
87835
87836         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
87837         Linux header bug when _XOPEN_SOURCE is defined to 500.
87838
87839 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87840
87841         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
87842         deficiency.
87843
87844 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
87845
87846         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
87847         Include xalloc.h.
87848         Don't include <stdlib.h>.  Don't declare malloc, realloc.
87849
87850 2000-06-24  Jim Meyering  <meyering@lucent.com>
87851
87852         * m4/strerror_r.m4: Revive this file -- to try out an experimental
87853         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
87854         for which strerror does return char*, but which lacks a conveniently
87855         accessible declaration of the function.  If the compile-test says
87856         strerror_r doesn't work, then resort to a `run'-test that works on
87857         BeOS and segfaults on DEC Unix.
87858
87859 2000-06-24  Jim Meyering  <meyering@lucent.com>
87860
87861         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
87862
87863 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87864
87865         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
87866         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
87867
87868 2000-06-23  Paul Eggert  <eggert@twinsun.com>
87869
87870         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
87871         (mbrtowc, mbstate_t): Define substitutes if
87872         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
87873         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
87874         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
87875
87876 2000-06-23  Jim Meyering  <meyering@lucent.com>
87877
87878         * m4/afs.m4: Add missing AC_MSG_RESULT.
87879         Reported by Bruno Haible.
87880
87881         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
87882         Suggestion from Bruno Haible.
87883
87884 2000-06-23  Jim Meyering  <meyering@lucent.com>
87885
87886         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
87887
87888 2000-06-21  Jim Meyering  <meyering@lucent.com>
87889
87890         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
87891
87892 2000-06-21  Jim Meyering  <meyering@lucent.com>
87893
87894         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
87895         (noinst_HEADERS): Add getstr.h.
87896
87897         * lib/getline.c (getstr): Move into a separate file.
87898         * lib/getstr.c (getstr): New file, extracted from getline.c, with
87899         the following changes: new parameter, delim2; both delim[12]
87900         parameters have type `int', not `char'.  The latter would lose
87901         with 8-bit delimiters.
87902         * lib/getstr.h: New file.
87903
87904 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87905
87906         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
87907         than 1024, return a memory chunk of least possible size, instead
87908         of size PATH_MAX + 2. In the loop, increment the size proportionally.
87909         Use free/xmalloc instead of xrealloc to avoid copying for very long
87910         paths.
87911
87912 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87913
87914         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
87915         the empty string.
87916
87917 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
87918
87919         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
87920         address, not strdup.  Include <stdlib.h> and don't declare free().
87921
87922 2000-06-19  Jim Meyering  <meyering@lucent.com>
87923
87924         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
87925
87926 2000-06-18  Jim Meyering  <meyering@lucent.com>
87927
87928         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
87929
87930         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
87931         `checking whether...' message to be consistent with that of the
87932         lstat test.
87933
87934 2000-06-18  Jim Meyering  <meyering@lucent.com>
87935
87936         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
87937         Besides, these days every porting target provides a mkdir function.
87938
87939         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
87940         needed. (this snippet comes from src/system.h).
87941
87942 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
87943
87944         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
87945
87946 2000-06-15  Paul Eggert  <eggert@twinsun.com>
87947
87948         * lib/human.c (adjust_value): New function.
87949         (human_readable_inexact): Apply rounding style even when
87950         printing approximate values.
87951
87952 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87953
87954         * lib/human.c (human_readable_inexact): Allow an input block
87955         size that is not a multiple of the output block size, and vice versa.
87956         Reported by Piergiorgio Sartor.
87957
87958 2000-06-14  Paul Eggert  <eggert@twinsun.com>
87959
87960         * lib/getdate.y (get_date): Apply relative times after time
87961         zone indicator, not before.  Reported by Todd A. Jacobs.
87962
87963 2000-06-13  Jim Meyering  <meyering@lucent.com>
87964
87965         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
87966
87967         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
87968
87969 2000-06-12  Paul Eggert  <eggert@twinsun.com>
87970
87971         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
87972
87973 2000-06-12  Jim Meyering  <meyering@lucent.com>
87974
87975         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
87976         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
87977         optional argument.
87978         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
87979         the optional argument, `lib'.
87980
87981 2000-06-08  Jim Meyering  <meyering@lucent.com>
87982
87983         * m4/largefile.m4: Remove file (now that it's part of autoconf).
87984
87985 2000-06-04  Paul Eggert  <eggert@twinsun.com>
87986
87987         Rewrite largefile configuration so that we don't need to run
87988         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
87989         AC_CANONICAL_HOST in configure.in -- jmm]
87990
87991         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
87992         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
87993         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
87994         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
87995         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
87996         All uses changed.
87997         Instead of inspecting the output of getconf, try to compile the
87998         test program without and with the macro definition.
87999         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
88000         for getconf.  Instead, check for the needed flags by compiling
88001         test programs.
88002
88003 2000-06-04  Paul Eggert  <eggert@twinsun.com>
88004
88005         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
88006
88007 2000-06-04  Jim Meyering  <meyering@lucent.com>
88008
88009         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
88010         SunOS 4.1.4 for which gid_t is an unsigned type.
88011
88012 2000-06-03  Jim Meyering  <meyering@lucent.com>
88013
88014         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
88015         now that autoconf requires that.
88016
88017         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
88018         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
88019         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
88020
88021 2000-06-03  Jim Meyering  <meyering@lucent.com>
88022
88023         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
88024
88025 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88026
88027         * m4/glibc21.m4: New file.
88028         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
88029
88030 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
88031
88032         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
88033         newer, don't install charset.alias.
88034         * lib/config.charset: Change the Linux/glibc rules so they become empty
88035         on glibc-2.1 or newer.
88036
88037 2000-06-02  Jim Meyering  <meyering@lucent.com>
88038
88039         * lib/mountlist.c: Back out last change.  Instead, do this...
88040         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
88041         me_dummy member using the same `ignore'-testing code.
88042         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
88043         fs_type strings.
88044         From Mark D. Roth.
88045
88046 2000-05-29  Jim Meyering  <meyering@lucent.com>
88047
88048         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
88049         mounts with the `ignore' attribute.  Based on a patch from
88050         Mark D. Roth.
88051
88052 2000-05-28  Jim Meyering  <meyering@lucent.com>
88053
88054         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
88055         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88056         * m4/stat.m4: Likewise.
88057         * m4/lstat.m4: Likewise.
88058         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
88059
88060         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
88061         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
88062
88063 2000-05-26  Jim Meyering  <meyering@lucent.com>
88064
88065         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
88066
88067 2000-05-24  Jim Meyering  <meyering@lucent.com>
88068
88069         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
88070         autoconf requires that.
88071         * m4/lib-check.m4: Likewise.
88072         * m4/jm-macros.m4: Likewise.
88073         * m4/strftime.m4: Likewise.
88074
88075         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
88076         AC_CHECK_DECLS, now that autoconf requires that.
88077
88078 2000-05-22  Jim Meyering  <meyering@lucent.com>
88079
88080         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88081         * m4/lstat.m4: Likewise.
88082
88083 2000-05-22  Jim Meyering  <meyering@lucent.com>
88084
88085         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
88086
88087 2000-05-20  Jim Meyering  <meyering@lucent.com>
88088
88089         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
88090         (jm_PREREQ): Use it.
88091
88092 2000-05-18  Jim Meyering  <meyering@lucent.com>
88093
88094         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
88095         back, too, since it may have been modified by allocate_entry.
88096         (hash_delete): Rewrite to use neither the assignment operator
88097         nor the comma operator in an if-expression.
88098
88099 2000-05-15  Paul Eggert  <eggert@twinsun.com>
88100
88101         * lib/closeout.c:
88102         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
88103         Remove; no longer needed.
88104         "quotearg.h": Add include.
88105         (file_name): Do not bother to explicitly initialize to NULL; it's less
88106         efficient on some hosts.
88107         (close_stdout_status): Remove test as to whether stdout was already
88108         closed; it breaks for the case "echo x | sort >&-".
88109         Quote file name colons.
88110         Do not assume that _("write error") lacks format strings.
88111
88112 2000-05-15  Jim Meyering  <meyering@lucent.com>
88113
88114         * lib/version-etc.c (version_etc_copyright): Update the copyright
88115         string used in all --version output.
88116
88117 2000-05-14  Jim Meyering  <meyering@lucent.com>
88118
88119         * lib/closeout.c (close_stdout_set_file_name): New function.
88120         (close_stdout_status): Use new file-scoped global.
88121         Return right away if fstat says the stdout file descriptor is invalid.
88122         * lib/closeout.h (close_stdout_set_file_name): Declare.
88123
88124 2000-05-10  Jim Meyering  <meyering@lucent.com>
88125
88126         * lib/closeout.c [default_exit_status]: New file-scoped variable.
88127         (close_stdout_set_status): New function.
88128         * lib/closeout.h (close_stdout_set_status): Declare.
88129
88130 2000-05-09  Jim Meyering  <meyering@lucent.com>
88131
88132         * m4/gettext.m4: Rename this...
88133         * m4/libintl.m4: ...to this.
88134
88135 2000-05-08  Jim Meyering  <meyering@lucent.com>
88136
88137         * lib/long-options.c: Don't include closeout.h.
88138         (parse_long_options): Don't call close_stdout for --version.
88139
88140 2000-05-06  Paul Eggert  <eggert@twinsun.com>
88141
88142         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
88143         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
88144         2.1.3 bug.  This avoids a clash when files like regex.c define
88145         _GNU_SOURCE.
88146
88147 2000-05-06  Jim Meyering  <meyering@lucent.com>
88148
88149         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
88150         (AC_REPLACE_FUNCS): Add strnlen.
88151
88152         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
88153         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
88154
88155         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
88156         AC_SEARCH_LIBS call for nanosleep.
88157         (LIB_NANOSLEEP): Set and AC_SUBST.
88158
88159 2000-05-06  Jim Meyering  <meyering@lucent.com>
88160
88161         * lib/strnlen.c: Undefine __strnlen and strnlen.
88162         [!weak_alias]: Define __strnlen to strnlen.
88163
88164         * lib/atexit.c: New file, from libiberty.
88165
88166 2000-05-06  Jim Meyering  <meyering@lucent.com>
88167
88168         * lib/closeout.c (close_stdout_status): Also check for errors on the
88169         stderr stream.
88170
88171 2000-05-05  Jim Meyering  <meyering@lucent.com>
88172
88173         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
88174         AC_SEARCH_LIBS call for clock_gettime.
88175         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
88176
88177         * m4/search-libs.m4: Update from autoconf.
88178
88179         su doesn't work on Solaris 2.6.
88180         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
88181         <shadow.h>.  Reported by Dragos Harabor.
88182
88183 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
88184
88185         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
88186         memcpy instead of xmalloc, xrealloc, path_concat.
88187         (locale_charset): Treat empty environment variables as absent.
88188         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
88189
88190 2000-05-04  Jim Meyering  <meyering@lucent.com>
88191
88192         * lib/getopt.c: Update from glibc.
88193         * lib/obstack.c: Likewise.
88194         * lib/obstack.h: Likewise.
88195         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
88196         file
88197
88198         * lib/regex.h: Likewise.
88199         * lib/strndup.c: Likewise.
88200         * lib/strnlen.c: New file, from glibc.
88201
88202 2000-05-03  Jim Meyering  <meyering@lucent.com>
88203
88204         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
88205
88206 2000-05-02  Paul Eggert  <eggert@twinsun.com>
88207
88208         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
88209         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
88210         compile-time test, rather than inspecting host and OS, to
88211         decide whether to define _LARGEFILE_SOURCE.
88212
88213 2000-05-01  Jim Meyering  <meyering@lucent.com>
88214
88215         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
88216
88217         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
88218         Based on a patch from Bruno Haible.
88219
88220 2000-05-01  Jim Meyering  <meyering@lucent.com>
88221
88222         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
88223
88224 2000-04-29  Jim Meyering  <meyering@lucent.com>
88225
88226         * lib/path-concat.c: Declare strdup only if it's not defined.
88227         * lib/canon-host.c: Likewise.
88228
88229 2000-04-28  Jim Meyering  <meyering@lucent.com>
88230
88231         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
88232         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
88233         is included first, then limits.h is included by locale.h by libintl.h.
88234         From John David Anglin.
88235
88236 2000-04-25  Jim Meyering  <meyering@lucent.com>
88237
88238         * lib/makepath.c (S_IRWXUGO): Define.
88239         (make_path): Always perform explicit chmod if MODE specifies any
88240         of the `special' permission bits.  Prompted by a bug report against
88241         install from Mate Wierdl and Joost van Baal.
88242
88243 2000-04-18  Jim Meyering  <meyering@lucent.com>
88244
88245         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
88246         (jm_PREREQ): Use it.
88247
88248 2000-04-18  Jim Meyering  <meyering@lucent.com>
88249
88250         * lib/README: New file.
88251
88252         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
88253         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
88254
88255 2000-04-17  Jim Meyering  <meyering@lucent.com>
88256
88257         Get it right :-)
88258         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
88259         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
88260         Suggestion from Akim Demaille.
88261
88262 2000-04-17  Jim Meyering  <meyering@lucent.com>
88263
88264         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
88265         the definition of it to rpl_strftime also defined-away the system's
88266         declaration.
88267
88268 2000-04-15  Jim Meyering  <meyering@lucent.com>
88269
88270         Use `C' to denote so-called `contiguous' files, the same way
88271         that tar does.
88272         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
88273         (ftypelet): Use S_ISCTG.
88274         From Michael Deutschmann.
88275
88276 2000-04-14  Jim Meyering  <meyering@lucent.com>
88277
88278         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
88279         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
88280         clobbered.
88281
88282 2000-04-14  Jim Meyering  <meyering@lucent.com>
88283
88284         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
88285
88286 2000-04-13  Jim Meyering  <meyering@lucent.com>
88287
88288         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
88289         AH_VERBATIM to insert required #ifndef into config.h.in.
88290         Suggestion from Akim Demaille.
88291
88292 2000-04-12  Jim Meyering  <meyering@lucent.com>
88293
88294         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
88295         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
88296         Christian Krackowizer.
88297
88298         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
88299         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
88300         (AC_SYS_LARGEFILE): Require.
88301         (AM_C_PROTOTYPES): Require.
88302
88303 2000-04-08  Jim Meyering  <meyering@lucent.com>
88304
88305         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
88306         names don't conflict.  Reported by Eli Zaretskii.
88307
88308 2000-04-07  Jim Meyering  <meyering@lucent.com>
88309
88310         * lib/putenv.c: Move inclusion of errno.h so it follows that of
88311         sys/types.h, to work around system header problems on AIX 3.2.5.
88312         From Bruno Haible.
88313
88314 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
88315
88316         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
88317         bug.  Deal with the different error behavior of Irix iconv.
88318
88319 2000-04-05  Paul Eggert  <eggert@twinsun.com>
88320
88321         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
88322         IRIX if the installer said otherwise.
88323
88324 2000-04-05  Jim Meyering  <meyering@lucent.com>
88325
88326         Portability tweaks required for ultrix4.3.
88327         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
88328         (jm_CHECK_DECLS): Add getutent to the list of functions.
88329         (_jm_DECL_HEADERS): Add utmpx.h.
88330         From John David Anglin.
88331
88332         * m4/strftime.m4: Back out the 2000-04-02 change.
88333         Instead of that change, simply undefine putenv in the test program.
88334
88335 2000-04-05  Jim Meyering  <meyering@lucent.com>
88336
88337         Portability tweaks required for ultrix4.3.
88338         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
88339         getutent.
88340         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
88341         * lib/canon-host.c: Declare strdup.
88342         * lib/path-concat.c: Likewise.
88343         From John David Anglin.
88344
88345 2000-04-04  Jim Meyering  <meyering@lucent.com>
88346
88347         Be more DOS 8.3-friendly.
88348         * lib/ref-add.sin: Renamed from ref-add.sed.in.
88349         * lib/ref-del.sin: Renamed from ref-del.sed.in.
88350         * lib/Makefile.am: Reflect renaming.
88351         Reported by Eli Zaretskii.
88352
88353         Use a temporary file name that won't clash with `charset.alias'
88354         in the DOS 8.3 name space.
88355         * lib/Makefile.am (charset_tmp): Define.
88356         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
88357         (uninstall-local): Likewise.
88358         Reported by Eli Zaretskii.
88359
88360 2000-04-03  Jim Meyering  <meyering@lucent.com>
88361
88362         * m4/gettext.m4: Fix typo in comment.
88363
88364         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
88365         textutils/configure.in).  Suggestion from Paul Eggert.
88366         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
88367
88368 2000-04-02  Paul Eggert  <eggert@twinsun.com>
88369
88370         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
88371         variable in the shell rather than using putenv, which isn't
88372         portable.  This avoids the configure-time inter-test dependency
88373         on the potentially-renamed putenv function.
88374
88375 2000-03-30  Paul Eggert  <eggert@twinsun.com>
88376
88377         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
88378         before checking struct stat.st_blksize, so that
88379         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
88380
88381 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88382
88383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
88384         since strftime.c uses HAVE_STRFTIME to decide whether to use
88385         the underlying strftime.
88386
88387 2000-03-29  Paul Eggert  <eggert@twinsun.com>
88388
88389         * lib/time/strftime.c (my_strftime): Make sure we call the system
88390         strftime, not ourselves, when invoking the underlying strftime.
88391
88392 2000-03-24  Jim Meyering  <meyering@lucent.com>
88393
88394         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
88395         (charset_alias): Define.
88396         (install-exec-local): Factor out common code.
88397         (uninstall-local): Split lines longer than 80.
88398         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
88399         (SUFFIXES): Define.
88400         (.sed.in.sed): New rule.  Don't redirect directly to $@.
88401         (CLEANFILES): Add ref-add.sed and ref-del.sed.
88402
88403 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
88404
88405         * lib/config.charset: Output a line containing "Packages using this
88406         file".
88407         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
88408         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
88409         ref-del.sed): New rules.
88410
88411 2000-03-17  Jim Meyering  <meyering@lucent.com>
88412
88413         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
88414         Otherwise, include <strings.h>
88415
88416 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
88417
88418         * lib/unicodeio.c (utf8_wctomb): New function.
88419         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
88420         format instead of in UCS-4 with platform dependent endianness.
88421
88422 2000-03-10  Jim Meyering  <meyering@lucent.com>
88423
88424         * m4/lib-check.m4: Look for getspnam in -lgen, too.
88425         From Marco Franzen.
88426
88427 2000-03-07  Paul Eggert  <eggert@twinsun.com>
88428
88429         * lib/savedir.c (savedir): Work even if directory size is
88430         negative; this can happen with some screwy NFS configurations.
88431
88432 2000-03-06  Jim Meyering  <meyering@lucent.com>
88433
88434         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
88435         if it's NULL (because we ran out of memory).  From Bruno Haible.
88436
88437 2000-03-05  Jim Meyering  <meyering@lucent.com>
88438
88439         * lib/localcharset.c ("path-concat.h"): Include.
88440         (get_charset_aliases): Use path_concat instead of ANSI string
88441         concatenation.
88442
88443         * lib/unicodeio.h (PARAMS): Define.
88444         Use it to guard prototype.
88445
88446 2000-03-04  Jim Meyering  <meyering@lucent.com>
88447
88448         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
88449         for lib/localcharset.c.
88450
88451 2000-03-04  Jim Meyering  <meyering@lucent.com>
88452
88453         * lib/Makefile.am (install-exec-local): Create $(libdir) before
88454         installing into it.
88455         (uninstall-local): Uncomment this rule so `make distcheck' works
88456         once again.
88457
88458         * lib/unicodeio.c (<errno.h>): Include it.
88459         (errno): Declare if not defined.
88460
88461         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
88462
88463         * lib/config.charset: New version, incorporating remarks from a linux
88464         i18n mailing list.  From Bruno Haible.
88465
88466 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
88467
88468         * m4/codeset.m4: New file.
88469         * m4/iconv.m4: New file.
88470         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
88471
88472 2000-03-03  Jim Meyering  <meyering@lucent.com>
88473
88474         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
88475
88476 2000-03-02  Jim Meyering  <meyering@lucent.com>
88477
88478         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
88479         the messages come out on separate lines.
88480
88481         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
88482         rather than jm_CHECK_DECLARATIONS.
88483         * m4/decl.m4: Remove now-unused file.
88484
88485         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
88486         geteuid.
88487
88488 2000-03-02  Jim Meyering  <meyering@lucent.com>
88489
88490         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
88491
88492 2000-03-01  Jim Meyering  <meyering@lucent.com>
88493
88494         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
88495         * lib/unicodeio.c: Likewise.
88496
88497 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
88498
88499         * lib/config.charset: New file.
88500         * lib/localcharset.c: New file.
88501         * lib/unicodeio.h, lib/unicodeio.c: New files.
88502         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
88503         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
88504         (noinst_HEADERS): Add unicodeio.h.
88505         (all-local, install-exec-local, charset.alias): New targets.
88506
88507 2000-02-28  Paul Eggert  <eggert@twinsun.com>
88508
88509         * lib/quotearg.c (ALERT_CHAR): New macro.
88510         (quotearg_buffer_restyled): Use it.
88511
88512 2000-02-27  Jim Meyering  <meyering@lucent.com>
88513
88514         * m4/check-decl.m4: Add getenv to the list.
88515
88516 2000-02-27  Jim Meyering  <meyering@lucent.com>
88517
88518         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
88519         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
88520
88521         * lib/backupfile.c: Guard inclusion of stdlib.h with
88522         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
88523         Declare malloc if needed.
88524
88525         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
88526         `#ifndef HAVE_DECL..'
88527         now that autoconf always defines the HAVE_DECL_ symbols.
88528         * lib/human.c: Likewise.
88529         * lib/same.c: Likewise.
88530         * lib/strtoumax.c: Likewise.
88531
88532         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
88533         declaration check was not run.
88534         * lib/hash.c: Likewise.
88535         * lib/human.c: Likewise.
88536         * lib/same.c: Likewise.
88537         * lib/strtoumax.c: Likewise.
88538
88539         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
88540         `.', then first look up the entire `.'-containing string as a login
88541         name.
88542
88543 2000-02-23  Jim Meyering  <meyering@lucent.com>
88544
88545         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
88546         in place of my hack.
88547
88548 2000-02-18  Paul Eggert  <eggert@twinsun.com>
88549
88550         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
88551         (textint): New typedef.
88552         (parser_control): Member year changed from int to textint.
88553         All uses changed.
88554         (YYSTYPE): Removed; replaced by %union with int and textint members.
88555         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
88556         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
88557         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
88558         (tSNUMBER, tUNUMBER): Now of type <textintval>.
88559         (date, number, to_year): Use width of number in digits, not its value,
88560         to determine whether it's a 2-digit year, or a 2-digit time.
88561         (yylex): Store number of digits of numeric tokens.
88562         Reported by John Kendall.
88563
88564         (parser_control): Changed from struct parser_control to typedef (for
88565         consistency).  All uses changed.
88566
88567         (tID): Removed; not used.
88568         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
88569
88570 2000-02-14  Paul Eggert  <eggert@twinsun.com>
88571
88572         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
88573         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
88574
88575 2000-02-12  Jim Meyering  <meyering@lucent.com>
88576
88577         * lib/userspec.c (ISDIGIT): Define it.
88578         (isdigit): Remove definition.
88579         (is_number): Use ISDIGIT, not isdigit.
88580         <libintl.h>: Include.
88581         (_ and N_): Define.
88582         (parse_user_spec): Mark translatable strings.
88583
88584 2000-02-10  Jim Meyering  <meyering@lucent.com>
88585
88586         With these changes, nanosleep.[ch] are finally enough like the other
88587         lib/* replacement files to compile on a few more losing systems.
88588
88589         * lib/nanosleep.h: Don't include config.h.
88590         Remove prototype from declaration of nanosleep.
88591         (PARAMS): Remove now-unneeded definition.
88592         * lib/nanosleep.c: #undef nanosleep.
88593         (rpl_nanosleep): Rename from nanosleep.
88594
88595 2000-02-10  Jim Meyering  <meyering@lucent.com>
88596
88597         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
88598         gnu_nanosleep to rpl_nanosleep.
88599
88600 2000-02-09  Jim Meyering  <meyering@lucent.com>
88601
88602         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
88603         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
88604
88605 2000-02-08  Akim Demaille  <akim@epita.fr>
88606
88607         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
88608         `[' and `]' and remove uses of `changequote'.
88609         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
88610         (AC_SYS_LARGEFILE): Likewise.
88611         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88612         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
88613         of changequote.
88614         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
88615         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
88616         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
88617         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
88618
88619 2000-02-05  Jim Meyering  <meyering@lucent.com>
88620
88621         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
88622         Remove explicit use of AC_HEADER_TIME.  It is required by
88623         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
88624         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
88625         in autoconf whereby the expansion of the latter ended up preceding
88626         the expansion of its prerequisite, AC_HEADER_TIME.
88627         Reported by Volker Borchert.
88628
88629 2000-02-03  Jim Meyering  <meyering@lucent.com>
88630
88631         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
88632
88633 2000-02-03  Jim Meyering  <meyering@lucent.com>
88634
88635         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
88636         rather than with `#if HAVE_UTMPNAME'.
88637
88638 2000-02-02  Jim Meyering  <meyering@lucent.com>
88639
88640         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
88641         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
88642         Reported by Eli Zaretskii.
88643
88644 2000-02-01  Jim Meyering  <meyering@lucent.com>
88645
88646         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
88647
88648 2000-01-31  Jim Meyering  <meyering@lucent.com>
88649
88650         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
88651         functions.  Add the time.h and sys/time.h headers along with the
88652         AC_REQUIRE'ment of AC_HEADER_TIME.
88653
88654 2000-01-31  Jim Meyering  <meyering@lucent.com>
88655
88656         * lib/nanosleep.h (nanosleep): Guard declaration with
88657         `#if ! HAVE_DECL_NANOSLEEP'.
88658         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
88659         the declaration in that vendor's sys/timers.h.
88660         Reported by Christian Krackowizer.
88661
88662         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
88663         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
88664         (ISPRINT): Likewise.
88665         Reported by Tom Tromey.
88666
88667 2000-01-30  Jim Meyering  <meyering@lucent.com>
88668
88669         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
88670
88671         * m4/prereq.m4 (utmp_includes): Define.
88672         Check for ut_user and ut_name members in both struct utmpx
88673         and struct utmp.
88674
88675 2000-01-30  Jim Meyering  <meyering@lucent.com>
88676
88677         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
88678         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
88679         header files where only utmpx.ut_user is declared.
88680
88681         * lib/readutmp.h (UT_USER): Define.
88682
88683 2000-01-29  Jim Meyering  <meyering@lucent.com>
88684
88685         * m4/lib-check.m4: New file containing library-related checks from
88686         fileutils and sh-utils (textutils had none).
88687
88688 2000-01-28  Jim Meyering  <meyering@lucent.com>
88689
88690         * m4/perl.m4: Change format of warning message to look more like that
88691         from the missing script.  Suggestion from François Pinard.
88692
88693 2000-01-25  Jim Meyering  <meyering@lucent.com>
88694
88695         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
88696         well as time.h in the compile check.
88697         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
88698         Fix typo in cross-compiling case: s/yes/no/.
88699
88700 2000-01-23  Jim Meyering  <meyering@lucent.com>
88701
88702         * m4/jm-macros.m4: Move df-related tests here from
88703         fileutils/configure.in
88704
88705         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
88706         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
88707
88708         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
88709         s/space/ac_fsusage_space/.
88710         (jm_FILE_SYSTEM_USAGE): Take two parameters.
88711
88712         * m4/ftruncate.m4: New file (derived from part of
88713         fileutils/configure.in).
88714         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
88715         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
88716
88717         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
88718         AC_SUBST these here, rather than just in sh-util/configure.in, so
88719         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
88720         all the same.
88721         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
88722         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
88723         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
88724         (AC_SUBST(POW_LIBM)): Likewise.
88725         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
88726
88727 2000-01-23  Jim Meyering  <meyering@lucent.com>
88728
88729         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
88730         obstack.c.
88731
88732 2000-01-22  Jim Meyering  <meyering@lucent.com>
88733
88734         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
88735
88736         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
88737
88738         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
88739         configure.in
88740         (AC_CHECK_HEADERS): Likewise for sh-utils.
88741         (AC_CHECK_HEADERS): Likewise for textutils.
88742         Merge the three lists of headers.
88743
88744         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
88745         from fileutils' configure.in.
88746
88747         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
88748         code. Moved tests into their own function (_jm_DECL_HEADERS) in
88749         check-decl.m4.
88750
88751         * m4/check-decl.m4: Use #if rather than #ifdef.
88752         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
88753         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
88754         (_jm_DECL_HEADERS): Define new function.
88755         (jm_CHECK_DECLARATIONS): Require it.
88756
88757 2000-01-22  Jim Meyering  <meyering@lucent.com>
88758
88759         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
88760         [! HAVE_DECL_STRTOULL]: Declare strtoull.
88761         Required for some AIX systems.  Reported by Christian Krackowizer.
88762         [TESTING] (main): New function.
88763
88764         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
88765         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
88766         letters.
88767
88768         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
88769         iswprint.
88770
88771         * lib/strverscmp.c (ISDIGIT): Define.
88772         (strverscmp): Use ISDIGIT, not isdigit.
88773
88774 2000-01-19  Jim Meyering  <meyering@lucent.com>
88775
88776         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
88777         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
88778         defines `struct timespec' in <sys/time.h>
88779
88780         * m4/c-bs-a.m4: Remove uses of changequote altogether.
88781         Thanks to Akim for explaining.
88782
88783 2000-01-17  Paul Eggert  <eggert@twinsun.com>
88784
88785         * lib/nanosleep.c (nanosleep):
88786         Don't use SA_INTERRUPT to decide whether to call sigaction, as
88787         POSIX.1 doesn't require SA_INTERRUPT and some systems
88788         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
88789         it's been part of POSIX.1 since day 1 (in 1988).
88790
88791 2000-01-17  Jim Meyering  <meyering@lucent.com>
88792
88793         * lib/interlock: Remove unused file.  Reported by François Pinard.
88794
88795 2000-01-16  Paul Eggert  <eggert@twinsun.com>
88796
88797         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
88798         alert, backslash, formfeed, and vertical tab unnecessarily in
88799         shell quoting style.
88800
88801 2000-01-16  Jim Meyering  <meyering@lucent.com>
88802
88803         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
88804         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
88805         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
88806         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
88807
88808 2000-01-16  Jim Meyering  <meyering@lucent.com>
88809
88810         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
88811         because the latter didn't work.
88812
88813 2000-01-15  Jim Meyering  <meyering@lucent.com>
88814
88815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
88816         (AC_REPLACE_FUNCS): Add memcpy and memset.
88817         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
88818         Add strpbrk.
88819         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
88820
88821 2000-01-12  Jim Meyering  <meyering@lucent.com>
88822
88823         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
88824         (jm_PREREQ): Use it.
88825         (jm_PREREQ_READUTMP): New macro.
88826         (jm_PREREQ): Use it.
88827
88828 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88829
88830         Quote multibyte characters correctly.
88831         * m4/c-bs-a.m4: New file.
88832         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
88833         (jm_PREREQ): Use it.
88834
88835 2000-01-11  Paul Eggert  <eggert@twinsun.com>
88836
88837         * m4/uintmax_t.m4: Port to autoconf 2.13.
88838
88839 2000-01-08  Jim Meyering  <meyering@ascend.com>
88840
88841         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
88842         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
88843
88844 2000-01-04  Jim Meyering  <meyering@ascend.com>
88845
88846         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
88847         jm_STRUCT_DIRENT_D_TYPE.
88848         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
88849         jm_STRUCT_DIRENT_D_INO.
88850         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
88851         jm_STRUCT_UTIMBUF.
88852         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
88853         renamings.
88854         * m4/utime.m4: Likewise.
88855
88856         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
88857         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
88858
88859 2000-01-03  Paul Eggert  <eggert@twinsun.com>
88860
88861         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
88862         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
88863
88864 2000-01-02  Jim Meyering  <meyering@ascend.com>
88865
88866         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
88867         remember if this is necessary.
88868
88869 1999-12-26  Jim Meyering  <meyering@ascend.com>
88870
88871         * m4/jm-macros.m4: Use it here.
88872         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
88873
88874 1999-12-23  Jim Meyering  <meyering@ascend.com>
88875
88876         * m4/jm-macros.m4: Check for clock_gettime (moved from
88877         fileutils/configure.in)
88878         Check for gettimeofday.
88879
88880 1999-12-20  Jim Meyering  <meyering@ascend.com>
88881
88882         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
88883         autoconf-2.14a-1999-12-20.
88884
88885 1999-12-19  Jim Meyering  <meyering@ascend.com>
88886
88887         * m4/lstat-slash.m4: New file.
88888         * m4/jm-macros.m4: Use the new macro:
88889         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
88890
88891 1999-12-07  Jim Meyering  <meyering@ascend.com>
88892
88893         * m4/perl.m4: Require that File::Compare be available, too.
88894         Too many systems seem to lack it.
88895
88896         * m4/strftime.m4: Add checks for most of the cpp macros tested in
88897         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
88898
88899 1999-11-18  Paul Eggert  <eggert@twinsun.com>
88900
88901         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
88902         problem with the QNX 4.25 shell, which doesn't propagate exit
88903         status of failed commands inside shell assignments.
88904
88905 1999-11-17  Jim Meyering  <meyering@ascend.com>
88906
88907         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
88908
88909 1999-11-07  Jim Meyering  <meyering@ascend.com>
88910
88911         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
88912
88913 1999-11-06  Jim Meyering  <meyering@ascend.com>
88914
88915         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
88916         * m4/jm-macros.m4 (jm_MACROS): Use it here.
88917
88918 1999-11-05  Jim Meyering  <meyering@ascend.com>
88919
88920         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
88921         configure.in of textutils, fileutils, and sh-utils into this one
88922         (shared between those packages) file.
88923         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
88924         AC_STRUCT_ST_BLKSIZE.
88925
88926 1999-11-03  Jim Meyering  <meyering@ascend.com>
88927
88928         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
88929         of AC_CHECK_TYPE checks includes unistd.h.
88930         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
88931         Suggestion from Akim Demaille.
88932
88933 1999-10-30  Jim Meyering  <meyering@ascend.com>
88934
88935         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
88936         m4-quoted string.
88937         * m4/ls-mntd-fs.m4: Likewise.
88938         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
88939         * m4/jm-winsz1.m4: Likewise.
88940
88941         * m4/const.m4: Remove file, since the fix made it into the experimental
88942         version of autoconf.
88943         * m4/mktime.m4: Likewise.
88944
88945         * m4/check-type.m4: Remove file, now that the latest version of
88946         AC_CHECK_TYPE takes a third arg to specify additional #includes.
88947
88948         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
88949         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
88950         AC_CHECK_TYPE.
88951
88952 1999-10-04  Jim Meyering  <meyering@ascend.com>
88953
88954         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
88955
88956 1999-09-22  Paul Eggert  <eggert@twinsun.com>
88957
88958         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
88959         2.95.1 bug with HP-UX 10.20.
88960
88961 1999-09-17  Jim Meyering  <meyering@ascend.com>
88962
88963         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
88964         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
88965         due to missing strdup (against sh-utils-2.0).
88966
88967 1999-08-29  Jim Meyering  <meyering@ascend.com>
88968
88969         * m4/jm-macros.m4: Require jm_BISON.
88970         * m4/bison.m4: New file.
88971
88972 1999-08-17  Paul Eggert  <eggert@twinsun.com>
88973
88974         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
88975         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
88976
88977 1999-08-05  Jim Meyering  <meyering@ascend.com>
88978
88979         * m4/getline.m4: Rename test file from conftestdata to conftest.data
88980         to avoid conflicts with `conftest' on 8+3 filesystems.
88981         Suggestion from Eli Zaretskii.
88982
88983 1999-08-04  Jim Meyering  <meyering@ascend.com>
88984
88985         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
88986         fileutils and sh-utils (textutils's getline test was inadequate).
88987         (AM_FUNC_GETLINE): Run this test.
88988         (AC_CHECK_FUNCS): Check for getdelim.
88989         Reported by Bob Proulx.
88990
88991 1999-08-02  Jim Meyering  <meyering@ascend.com>
88992
88993         * m4/jm-macros.m4: Add a comment.
88994
88995 1999-08-01  Paul Eggert  <eggert@twinsun.com>
88996
88997         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
88998         <inttypes.h> defines strtoumax as a macro (and not as a
88999         function).
89000
89001 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89002
89003         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
89004         that we can shift, multiply and divide unsigned long long
89005         values; Ultrix cc can't do it.
89006
89007 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89008
89009         * m4/mktime.m4: New file, which is a preview of what should appear
89010         in the next public autoconf release.
89011
89012 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89013
89014         * m4/lfs.m4: Remove this file.
89015         * m4/largefile.m4: New file.  It contains the old contents of
89016         lfs.m4, except that all names with prefix AC_LFS have been
89017         changed to use the prefix AC_SYS_LARGEFILE instead, to be
89018         compatible with future autoconf versions.  Also, some minor m4
89019         quoting problems have been fixed.
89020
89021 1999-08-01  Paul Eggert  <eggert@twinsun.com>
89022
89023         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
89024         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
89025         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
89026         and simplify the shell code.
89027
89028 1999-08-01  Jim Meyering  <meyering@ascend.com>
89029
89030         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
89031         m4.
89032
89033 1999-07-20  Jim Meyering  <meyering@ascend.com>
89034
89035         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
89036
89037 1999-07-15  Jim Meyering  <meyering@ascend.com>
89038
89039         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
89040
89041 1999-05-22  Jim Meyering  <meyering@ascend.com>
89042
89043         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
89044
89045 1999-05-20  Jim Meyering  <meyering@ascend.com>
89046
89047         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
89048         Add a colon after each `then' in case $4 is empty.
89049
89050 1999-05-16  Jim Meyering  <meyering@ascend.com>
89051
89052         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
89053
89054 1999-05-10  Jim Meyering  <meyering@ascend.com>
89055
89056         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
89057
89058         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
89059         AC_FUNC_MKTIME.
89060
89061 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
89062
89063         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
89064
89065 1999-05-04  Paul Eggert  <eggert@twinsun.com>
89066
89067         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
89068         not CPPFLAGS, so that linking works correctly in IRIX.
89069
89070 1999-04-30  Paul Eggert  <eggert@twinsun.com>
89071
89072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
89073
89074 1999-04-20  Paul Eggert  <eggert@twinsun.com>
89075
89076         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
89077         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
89078         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
89079         jm_AC_TYPE_UNSIGNED_LONG_LONG.
89080         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
89081
89082         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
89083
89084 1999-04-20  Jim Meyering  <meyering@ascend.com>
89085
89086         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
89087         AC_REPLACE xstroull if necessary.  From Paul Eggert.
89088         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
89089
89090 1999-04-18  Jim Meyering  <meyering@ascend.com>
89091
89092         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
89093         * m4/jm-macros.m4: Use it.
89094
89095 1999-04-06  Jim Meyering  <meyering@ascend.com>
89096
89097         * m4/strftime.m4: Remove test for %f.
89098
89099 1999-03-29  Jim Meyering  <meyering@ascend.com>
89100
89101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
89102         superset of the AC_TYPE_* checks in the textutils, fileutils,
89103         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
89104         AC_TYPE_PID_T.
89105
89106 1999-03-28  Jim Meyering  <meyering@ascend.com>
89107
89108         * m4/jm-macros.m4: Define GNU_PACKAGE here.
89109         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
89110         replaced e.g., in the *.sh files of the sh-utils.
89111
89112 1999-03-20  Jim Meyering  <meyering@ascend.com>
89113
89114         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
89115         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
89116         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
89117
89118 1999-03-19  Jim Meyering  <meyering@ascend.com>
89119
89120         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
89121
89122 1999-03-12  Jim Meyering  <meyering@ascend.com>
89123
89124         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
89125
89126 1999-03-07  Jim Meyering  <meyering@ascend.com>
89127
89128         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
89129         declared.
89130
89131 1999-02-17  Jim Meyering  <meyering@ascend.com>
89132
89133         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
89134         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
89135
89136 1999-02-07  Jim Meyering  <meyering@ascend.com>
89137
89138         * m4/group-member.m4: New file -- extracted from sh-utils'
89139         configure.in.
89140
89141         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
89142         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
89143
89144 1999-02-06  Jim Meyering  <meyering@ascend.com>
89145
89146         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
89147         * m4/fnmatch.m4: Likewise.
89148         * m4/getgroups.m4: Likewise.
89149         * m4/lstat.m4: Likewise.
89150         * m4/malloc.m4: Likewise.
89151         * m4/putenv.m4: Likewise.
89152         * m4/realloc.m4: Likewise.
89153         * m4/regex.m4: Likewise.
89154         * m4/stat.m4: Likewise.
89155         * m4/strftime.m4: Likewise.
89156         Suggestion from Alain Magloire.
89157
89158         * m4/chown.m4: Use `.$ac_objext', not `.o'.
89159         * m4/fnmatch.m4: Likewise.
89160         * m4/getgroups.m4: Likewise.
89161         * m4/getline.m4: Likewise.
89162         * m4/lstat.m4: Likewise.
89163         * m4/malloc.m4: Likewise.
89164         * m4/memcmp.m4: Likewise.
89165         * m4/putenv.m4: Likewise.
89166         * m4/realloc.m4: Likewise.
89167         * m4/regex.m4: Likewise.
89168         * m4/stat.m4: Likewise.
89169         * m4/strftime.m4: Likewise.
89170         Suggestion from Alain Magloire.
89171
89172         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
89173         an argument.
89174
89175         * m4/regex.m4: Add a run-time Test for proper operation of
89176         re_compile_pattern.
89177
89178 1999-01-31  Jim Meyering  <meyering@ascend.com>
89179
89180         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
89181
89182 1999-01-30  Jim Meyering  <meyering@ascend.com>
89183
89184         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
89185
89186         * m4/jm-mktime.m4: Make this a wrapper around the official
89187         AM_FUNC_MKTIME rather than my private copy, now that the official one
89188         is up to date.
89189         * m4/mktime.m4: Remove file.
89190
89191         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
89192         * m4/uptime.m4: Likewise.
89193         * m4/uintmax_t.m4: Likewise.
89194
89195 1999-01-28  Jim Meyering  <meyering@ascend.com>
89196
89197         * m4/jm-macros.m4: Use jm_AFS.
89198         * m4/afs.m4: New file (from fileutils' configure.in).
89199
89200         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
89201         * m4/chown.m4: Likewise.
89202         * m4/d-ino.m4: Likewise.
89203         * m4/d-type.m4: Likewise.
89204         * m4/fnmatch.m4: Likewise.
89205         * m4/getgroups.m4: Likewise.
89206         * m4/gettext.m4: Likewise.
89207         * m4/jm-mktime.m4: Likewise.
89208         * m4/jm-winsz2.m4: Likewise.
89209         * m4/lcmessage.m4: Likewise.
89210         * m4/ls-mntd-fs.m4: Likewise.
89211         * m4/malloc.m4: Likewise.
89212         * m4/memcmp.m4: Likewise.
89213         * m4/putenv.m4: Likewise.
89214         * m4/realloc.m4: Likewise.
89215         * m4/st_mtim.m4: Likewise.
89216         * m4/strftime.m4: Likewise.
89217
89218 1999-01-16  Jim Meyering  <meyering@ascend.com>
89219
89220         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
89221         (ARGMATCH_DIE_DECL): Define.
89222
89223 1999-01-12  Jim Meyering  <meyering@ascend.com>
89224
89225         * m4/Makefile.am.in: Rewrite to avoid using fmt.
89226         Reported by Lars Hecking.
89227
89228 1999-01-10  Jim Meyering  <meyering@ascend.com>
89229
89230         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
89231         gross kludge.
89232         * m4/inttypes_h.m4: Likewise.
89233         * m4/lstat.m4: Likewise.
89234         * m4/malloc.m4: Likewise.
89235         * m4/readdir.m4: Likewise.
89236         * m4/realloc.m4: Likewise.
89237         * m4/st_dm_mode.m4: Likewise.
89238         * m4/stat.m4: Likewise.
89239         * m4/utimbuf.m4: Likewise.
89240         * m4/utimes.m4: Likewise.
89241
89242         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
89243         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
89244         comments in config.h.in are meaningful.
89245
89246         * m4/jm-macros.m4: Require autoconf-2.13 here.
89247
89248         * m4/regex.m4: By default, don't use the included regex.c on systems
89249         with glibc 2.  Suggestion from Uli Drepper.
89250
89251 1999-01-02  Jim Meyering  <meyering@ascend.com>
89252
89253         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
89254
89255 1998-12-18  Jim Meyering  <meyering@ascend.com>
89256
89257         * m4/Makefile.am.in (Makefile.am): Simplify rule.
89258         Based on a suggestion from Lars Hecking.
89259
89260 1998-11-16  Paul Eggert  <eggert@twinsun.com>
89261
89262         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
89263
89264 1998-11-16  Jim Meyering  <meyering@ascend.com>
89265
89266         * m4/lfs.m4: Double-quote the `uname...` expression.
89267
89268 1998-11-14  Jim Meyering  <meyering@ascend.com>
89269
89270         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
89271         * m4/stat.m4: Likewise.
89272
89273 1998-11-03  Jim Meyering  <meyering@ascend.com>
89274
89275         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
89276         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
89277
89278 1998-10-18  Jim Meyering  <meyering@ascend.com>
89279
89280         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
89281
89282 1998-10-17  Jim Meyering  <meyering@ascend.com>
89283
89284         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
89285         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
89286         calls for those previously hard-coded headers.  Instead, take a new
89287         parameter.
89288         (jm_CHECK_DECLARATIONS): Reflect interface change.
89289         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
89290         (jm_CHECK_DECL_LOCALTIME_R): New macro.
89291
89292         * m4/mktime.m4: Test for spring-forward gap before long-running test.
89293
89294 1998-10-14  Jim Meyering  <meyering@ascend.com>
89295
89296         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
89297         instead of "TZ=America/Vancouver".  From Paul Eggert.
89298
89299 1998-10-11  Jim Meyering  <meyering@ascend.com>
89300
89301         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
89302         This adds a test for a recently added compatibility fix for mktime.c.
89303         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
89304
89305 1998-09-27  Jim Meyering  <meyering@ascend.com>
89306
89307         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
89308
89309         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
89310         ../configure.in, including a change from Gordon Matzigkeit to allow
89311         cross-compiling for the Hurd.
89312
89313         * m4/glibc.m4: New file/macro to test for the GNU C Library
89314         versions 1 and 2.  From Gordon Matzigkeit.
89315         Indent.
89316
89317 1998-09-21  Jim Meyering  <meyering@ascend.com>
89318
89319         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
89320
89321 1998-08-18  Paul Eggert  <eggert@twinsun.com>
89322
89323         Port nanosecond-resolution times to UnixWare 2.1.2 and
89324         pedantic Solaris 2.6.
89325
89326         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
89327         AC_STRUCT_ST_MTIM.
89328         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
89329         Generate name of ns member, instead of just 1 or undef.
89330         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
89331
89332 1998-08-15  Jim Meyering  <meyering@ascend.com>
89333
89334         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
89335         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
89336         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
89337         instead of jm_TYPE_SSIZE_T.
89338
89339 1998-08-12  Jim Meyering  <meyering@ascend.com>
89340
89341         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
89342
89343 1998-08-02  Jim Meyering  <meyering@ascend.com>
89344
89345         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
89346         in acconfig.h manually.
89347
89348 1998-07-31  Paul Eggert  <eggert@twinsun.com>
89349
89350         * m4/st_mtim.m4: New file.
89351
89352 1998-07-28  Jim Meyering  <meyering@ascend.com>
89353
89354         * m4/utimes.m4: Undef stat.
89355
89356 1998-07-25  Jim Meyering  <meyering@ascend.com>
89357
89358         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
89359         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
89360
89361 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
89362
89363         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
89364         uid and gid actually remain unchanged.
89365
89366 1998-07-07  Jim Meyering  <meyering@ascend.com>
89367
89368         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
89369
89370 1998-07-04  Jim Meyering  <meyering@ascend.com>
89371
89372         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
89373         to prove that this macro can be used in packages without regex.c.
89374
89375 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
89376
89377         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
89378         is to be used.
89379
89380 1998-07-03  Jim Meyering  <meyering@ascend.com>
89381
89382         * m4/gettext.m4: Add -lintl if it's found to be necessary.
89383
89384         * m4/gettext.m4: New file -- from gettext-0.10.35.
89385         * m4/lcmessage.m4: Likewise.
89386         * m4/progtest.m4: Likewise.
89387
89388         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
89389         * m4/jm-macros.m4: Require the new macro.
89390
89391 1998-06-29  Jim Meyering  <meyering@ascend.com>
89392
89393         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
89394         for the definition of NGROUPS (used in a system header included
89395         by sys/mount.h).
89396
89397 1998-06-28  Jim Meyering  <meyering@ascend.com>
89398
89399         * m4/ls-mntd-fs.m4: New file.
89400         * m4/fstypename.m4: New file.
89401
89402         * m4/jm-macros.m4: Require the new macro.
89403         * m4/jm-glibc-io.m4: New file.
89404
89405 1998-05-19  Jim Meyering  <meyering@ascend.com>
89406
89407         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
89408         * m4/lchown.m4: New file.
89409
89410         * m4/Makefile.am.in: New file.
89411         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
89412
89413 1998-05-14  Jim Meyering  <meyering@ascend.com>
89414
89415         * m4/Makefile.am (EXTRA_DIST): Add them.
89416         * m4/jm-macros.m4: New file.
89417         * m4/utimbuf.m4: New file.
89418
89419 1998-05-12  Jim Meyering  <meyering@ascend.com>
89420
89421         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
89422
89423 1998-05-11  Jim Meyering  <meyering@ascend.com>
89424
89425         * m4/isc-posix.m4: New file.
89426
89427 1998-05-10  Jim Meyering  <meyering@ascend.com>
89428
89429         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
89430
89431 1998-05-09  Jim Meyering  <meyering@ascend.com>
89432
89433         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
89434         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
89435         with automake.
89436
89437         * m4/ssize_t.m4: New file.
89438         * m4/mktime.m4: Remove file -- the new automake has this now.
89439
89440 1998-04-26  Jim Meyering  <meyering@ascend.com>
89441
89442         * m4/assert.m4: New file.
89443         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
89444
89445 1998-04-05  Jim Meyering  <meyering@ascend.com>
89446
89447         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
89448         (jm_PREREQ): Use it here.
89449
89450 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
89451
89452         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
89453         in acconfig.h.
89454
89455 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
89456
89457         * m4/prereq.m4: New file.
89458         * m4/error.m4: New file.
89459         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
89460
89461 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
89462
89463         * m4/getline.m4: Don't set am_cv_func_working_getline before the
89464         cache-check for the same variable -- that defeated the purpose of
89465         the test; the test program was never run.  This was a problem only
89466         on systems with losing getline functions -- HP-UX 10.20 is one.
89467         Reported by Bjorn Helgaas.
89468
89469 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
89470
89471         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
89472
89473 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
89474
89475         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
89476
89477         * m4/const.m4: New file.  Use an initializer in this declaration
89478         typedef int charset[2]; const charset x;
89479         Reported by Bob Glickstein.
89480
89481 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
89482
89483         * m4/chown.m4: Fix reversed types on -1 args to chown.
89484         From Kaveh Ghazi.
89485
89486 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
89487
89488         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
89489         Add lseek and memchr.
89490
89491         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
89492         T.E.Dickey <dickey@clark.net> said that some older preprocessors
89493         have a 20-character limit on names.
89494
89495 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
89496
89497         * m4/inttypes_h.m4: New file.
89498         * m4/uintmax_t.m4: New file.
89499         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
89500
89501
89502         -----
89503
89504         Local Variables:
89505         coding: utf-8
89506         End:
89507
89508         Copyright (C) 1997-2011 Free Software Foundation, Inc.
89509
89510         Copying and distribution of this file, with or without
89511         modification, are permitted provided the copyright notice
89512         and this notice are preserved.